mirror of
https://git.FreeBSD.org/ports.git
synced 2024-12-07 02:06:57 +00:00
3765 lines
107 KiB
Plaintext
3765 lines
107 KiB
Plaintext
Index: demo/ascii.cc
|
|
===================================================================
|
|
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/demo/ascii.cc,v
|
|
retrieving revision 1.1
|
|
retrieving revision 1.4
|
|
diff -u -r1.1 -r1.4
|
|
--- demo/ascii.cc 20 Dec 2002 12:06:16 -0000 1.1
|
|
+++ demo/ascii.cc 25 Dec 2002 14:10:14 -0000 1.4
|
|
@@ -12,11 +12,12 @@
|
|
* 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
|
|
@@ -32,11 +33,15 @@
|
|
#include <string.h>
|
|
#include <stdlib.h>
|
|
#include <ctype.h>
|
|
-#include <strstream.h>
|
|
-#include <iomanip.h>
|
|
-
|
|
-#include "ascii.h"
|
|
|
|
+#include <iomanip>
|
|
+#include <ios>
|
|
+#include <sstream>
|
|
+#include <string>
|
|
+
|
|
+using std::ios;
|
|
+using std::ostringstream;
|
|
+using std::string;
|
|
|
|
//
|
|
// TTable functions
|
|
@@ -207,16 +212,16 @@
|
|
{
|
|
TDrawBuffer buf;
|
|
char color = getColor(6);
|
|
- char str[80];
|
|
- ostrstream statusStr( str, sizeof str );
|
|
+ string str;
|
|
+ ostringstream statusStr(str);
|
|
|
|
statusStr
|
|
<< " Char: " << (char ) ((asciiChar == 0) ? 0x20 : asciiChar)
|
|
- << " Decimal: " << setw(3) << (int) asciiChar
|
|
- << " Hex " << hex << setiosflags(ios::uppercase)
|
|
- << setw(2) << (int) asciiChar << " " << ends;
|
|
+ << " Decimal: " << std::setw(3) << (int) asciiChar
|
|
+ << " Hex " << std::hex << std::setiosflags(ios::uppercase)
|
|
+ << std::setw(2) << (int) asciiChar << " " << std::ends;
|
|
|
|
- buf.moveStr(0, str, color);
|
|
+ buf.moveStr(0, str.c_str(), color);
|
|
writeLine(0, 0, 32, 1, buf);
|
|
}
|
|
|
|
Index: demo/ascii.h
|
|
===================================================================
|
|
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/demo/ascii.h,v
|
|
retrieving revision 1.1
|
|
retrieving revision 1.3
|
|
diff -u -r1.1 -r1.3
|
|
--- demo/ascii.h 20 Dec 2002 12:06:16 -0000 1.1
|
|
+++ demo/ascii.h 25 Dec 2002 14:10:14 -0000 1.3
|
|
@@ -9,10 +9,16 @@
|
|
* 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;
|
|
Index: demo/calc.cc
|
|
===================================================================
|
|
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/demo/calc.cc,v
|
|
retrieving revision 1.1
|
|
retrieving revision 1.5
|
|
diff -u -r1.1 -r1.5
|
|
--- demo/calc.cc 20 Dec 2002 12:06:16 -0000 1.1
|
|
+++ demo/calc.cc 25 Dec 2002 14:10:15 -0000 1.5
|
|
@@ -10,9 +10,8 @@
|
|
* 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
|
|
@@ -29,14 +28,17 @@
|
|
__link( RDialog )
|
|
__link( RButton )
|
|
|
|
+#include "calc.h"
|
|
+
|
|
#include <string.h>
|
|
#include <stdlib.h>
|
|
#include <ctype.h>
|
|
-#include <strstream.h>
|
|
-#include <iomanip.h>
|
|
|
|
-#include "calc.h"
|
|
+#include <sstream>
|
|
+#include <iomanip>
|
|
|
|
+using std::string;
|
|
+using std::ostringstream;
|
|
|
|
#define cpCalcPalette "\x13"
|
|
|
|
@@ -158,27 +160,25 @@
|
|
|
|
void TCalcDisplay::setDisplay(double r)
|
|
{
|
|
- int len;
|
|
- char str[64];
|
|
- ostrstream displayStr( str, sizeof str );
|
|
+ string str;
|
|
+ ostringstream displayStr(str);
|
|
|
|
if(r < 0.0)
|
|
{
|
|
sign = '-';
|
|
- displayStr << -r << ends;
|
|
+ displayStr << -r << std::ends;
|
|
}
|
|
else
|
|
{
|
|
- displayStr << r << ends;
|
|
+ displayStr << r << std::ends;
|
|
sign = ' ';
|
|
}
|
|
|
|
- len = strlen(str) - 1; // Minus one so we can use as an index.
|
|
-
|
|
- if(len > DISPLAYLEN)
|
|
+ int len = str.length();
|
|
+ if (len > DISPLAYLEN)
|
|
error();
|
|
else
|
|
- strcpy(number, str);
|
|
+ strcpy(number, str.c_str());
|
|
}
|
|
|
|
|
|
Index: demo/calendar.cc
|
|
===================================================================
|
|
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/demo/calendar.cc,v
|
|
retrieving revision 1.1
|
|
retrieving revision 1.3
|
|
diff -u -r1.1 -r1.3
|
|
--- demo/calendar.cc 20 Dec 2002 12:06:16 -0000 1.1
|
|
+++ demo/calendar.cc 25 Dec 2002 14:10:15 -0000 1.3
|
|
@@ -9,9 +9,8 @@
|
|
* 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
|
|
@@ -26,15 +25,19 @@
|
|
__link( RView )
|
|
__link( RWindow )
|
|
|
|
+#include "calendar.h"
|
|
+
|
|
#include <string.h>
|
|
#include <stdlib.h>
|
|
#include <ctype.h>
|
|
-#include <strstream.h>
|
|
-#include <iomanip.h>
|
|
#include <time.h>
|
|
|
|
-#include "calendar.h"
|
|
+#include <iomanip>
|
|
+#include <sstream>
|
|
+#include <string>
|
|
|
|
+using std::string;
|
|
+using std::ostringstream;
|
|
|
|
static char *monthNames[] = {
|
|
"",
|
|
@@ -131,9 +134,9 @@
|
|
}
|
|
|
|
|
|
-void TCalendarView::draw()
|
|
+void
|
|
+TCalendarView::draw()
|
|
{
|
|
- char str[23];
|
|
char current = (char)(1 - dayOfWeek(1, month, year));
|
|
char days = (char)( daysInMonth[month] +
|
|
((year % 4 == 0 && month == 2) ? 1 : 0) );
|
|
@@ -146,38 +149,40 @@
|
|
|
|
buf.moveChar(0, ' ', color, 22);
|
|
|
|
- ostrstream s1( str, sizeof str);
|
|
- s1 << setw(9) << monthNames[month] << " " << setw(4) << year
|
|
- << " " << (char) 30 << " " << (char) 31 << " " << ends;
|
|
+ ostringstream s1;
|
|
+ s1 << std::setw(9) << monthNames[month]
|
|
+ << " " << std::setw(4) << year
|
|
+ << " " << (char) 30
|
|
+ << " " << (char) 31 <<
|
|
+ " " << std::ends;
|
|
|
|
- buf.moveStr(0, str, color);
|
|
+ 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++)
|
|
- {
|
|
+ for (i = 1; i <= 6; i++) {
|
|
buf.moveChar(0, ' ', color, 22);
|
|
- for(j = 0; j <= 6; j++)
|
|
- {
|
|
- if(current < 1 || current > days)
|
|
+ for(j = 0; j <= 6; j++) {
|
|
+ if (current < 1 || current > days) {
|
|
buf.moveStr((short)(j*3), " ", color);
|
|
- else
|
|
- {
|
|
- ostrstream s2( str, sizeof str );
|
|
- s2 << setw(2) << (int) current << ends;
|
|
- if(year == curYear && month == curMonth && current ==
|
|
- (int)curDay)
|
|
- buf.moveStr((short)(j*3), str, boldColor);
|
|
- else
|
|
- buf.moveStr((short)(j*3), str, 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);
|
|
- }
|
|
+ }
|
|
}
|
|
|
|
|
|
Index: demo/fileview.cc
|
|
===================================================================
|
|
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/demo/fileview.cc,v
|
|
retrieving revision 1.1
|
|
retrieving revision 1.4
|
|
diff -u -r1.1 -r1.4
|
|
--- demo/fileview.cc 20 Dec 2002 12:06:16 -0000 1.1
|
|
+++ demo/fileview.cc 27 Dec 2002 23:16:40 -0000 1.4
|
|
@@ -9,9 +9,8 @@
|
|
* 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
|
|
@@ -26,16 +25,17 @@
|
|
__link(RScroller)
|
|
__link(RScrollBar)
|
|
|
|
+#include "tvcmds.h"
|
|
+#include "fileview.h"
|
|
+
|
|
#include <stdio.h>
|
|
#include <string.h>
|
|
#include <stdlib.h>
|
|
#include <ctype.h>
|
|
|
|
-#include <fstream.h>
|
|
-
|
|
-#include "tvcmds.h"
|
|
-#include "fileview.h"
|
|
+#include <fstream>
|
|
|
|
+using std::ifstream;
|
|
|
|
const char * const TFileViewer::name = "TFileViewer";
|
|
|
|
@@ -107,10 +107,7 @@
|
|
else
|
|
{
|
|
char line[maxLineLength+1];
|
|
- while( !lowMemory() &&
|
|
- !fileToView.eof() &&
|
|
- fileToView.get( line, sizeof line ) != 0
|
|
- )
|
|
+ while(!fileToView.eof() && fileToView.get( line, sizeof line ) != 0)
|
|
{
|
|
char c;
|
|
fileToView.get(c); // grab trailing newline
|
|
Index: demo/gadgets.cc
|
|
===================================================================
|
|
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/demo/gadgets.cc,v
|
|
retrieving revision 1.1
|
|
retrieving revision 1.3
|
|
diff -u -r1.1 -r1.3
|
|
--- demo/gadgets.cc 20 Dec 2002 12:06:16 -0000 1.1
|
|
+++ demo/gadgets.cc 25 Dec 2002 14:10:15 -0000 1.3
|
|
@@ -14,9 +14,8 @@
|
|
* 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
|
|
@@ -24,14 +23,15 @@
|
|
#define Uses_TDrawBuffer
|
|
#include <tvision/tv.h>
|
|
|
|
+#include "gadgets.h"
|
|
+
|
|
#include <string.h>
|
|
#include <stdlib.h>
|
|
#include <ctype.h>
|
|
-#include <strstream.h>
|
|
-#include <iomanip.h>
|
|
#include <time.h>
|
|
|
|
-#include "gadgets.h"
|
|
+#include <sstream>
|
|
+#include <iomanip>
|
|
|
|
//extern "C" unsigned long farcoreleft( void );
|
|
|
|
@@ -84,7 +84,7 @@
|
|
struct farheapinfo heap;
|
|
#endif
|
|
|
|
- ostrstream totalStr( heapStr, sizeof heapStr);
|
|
+ ostringstream totalStr( heapStr, sizeof heapStr);
|
|
|
|
//#if defined( __DPMI32__ )
|
|
// switch( _HEAPEMPTY )
|
|
Index: demo/mousedlg.cc
|
|
===================================================================
|
|
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/demo/mousedlg.cc,v
|
|
retrieving revision 1.1
|
|
retrieving revision 1.3
|
|
diff -u -r1.1 -r1.3
|
|
--- demo/mousedlg.cc 20 Dec 2002 12:06:16 -0000 1.1
|
|
+++ demo/mousedlg.cc 25 Dec 2002 14:10:15 -0000 1.3
|
|
@@ -11,9 +11,8 @@
|
|
* 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
|
|
@@ -29,14 +28,11 @@
|
|
#define Uses_TEventQueue
|
|
#include <tvision/tv.h>
|
|
|
|
+#include "mousedlg.h"
|
|
+
|
|
#include <string.h>
|
|
#include <stdlib.h>
|
|
#include <ctype.h>
|
|
-#include <strstream.h>
|
|
-#include <iomanip.h>
|
|
-
|
|
-#include "mousedlg.h"
|
|
-
|
|
|
|
#define cpMousePalette "\x07\x08"
|
|
|
|
Index: demo/puzzle.cc
|
|
===================================================================
|
|
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/demo/puzzle.cc,v
|
|
retrieving revision 1.1
|
|
retrieving revision 1.3
|
|
diff -u -r1.1 -r1.3
|
|
--- demo/puzzle.cc 20 Dec 2002 12:06:16 -0000 1.1
|
|
+++ demo/puzzle.cc 25 Dec 2002 14:10:15 -0000 1.3
|
|
@@ -9,9 +9,8 @@
|
|
* 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
|
|
@@ -26,20 +25,16 @@
|
|
__link( RView )
|
|
__link( RWindow )
|
|
|
|
+#include "puzzle.h"
|
|
+
|
|
#include <string.h>
|
|
#include <stdio.h> /* SS: for sprintf(...) */
|
|
#include <stdlib.h>
|
|
#include <ctype.h>
|
|
-#include <strstream.h>
|
|
-#include <iomanip.h>
|
|
#include <time.h>
|
|
#include <unistd.h>
|
|
|
|
-#include "puzzle.h"
|
|
-
|
|
-
|
|
#define cpPuzzlePalette "\x06\x07"
|
|
-
|
|
|
|
//
|
|
// TPuzzleView functions & static variables
|
|
Index: demo/tvdemo1.cc
|
|
===================================================================
|
|
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/demo/tvdemo1.cc,v
|
|
retrieving revision 1.1
|
|
retrieving revision 1.4
|
|
diff -u -r1.1 -r1.4
|
|
--- demo/tvdemo1.cc 20 Dec 2002 12:06:16 -0000 1.1
|
|
+++ demo/tvdemo1.cc 25 Dec 2002 14:10:15 -0000 1.4
|
|
@@ -9,9 +9,8 @@
|
|
* 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
|
|
@@ -40,6 +39,8 @@
|
|
#include <stdio.h>
|
|
#include <string.h>
|
|
|
|
+using std::ios;
|
|
+
|
|
/* SS: changed */
|
|
|
|
//#ifdef __DPMI32__
|
|
@@ -135,7 +136,7 @@
|
|
if ((event.message.command == cmHelp) && ( helpInUse == False))
|
|
{
|
|
helpInUse = True;
|
|
- helpStrm = new fpstream(HELP_FILENAME, ios::in|ios::bin);
|
|
+ helpStrm = new fpstream(HELP_FILENAME, ios::in|ios::binary);
|
|
hFile = new THelpFile(*helpStrm);
|
|
if (!helpStrm)
|
|
{
|
|
@@ -219,7 +220,7 @@
|
|
else
|
|
{
|
|
fclose(fp);
|
|
- fpstream *f = new fpstream("TVDEMO.DST", ios::in|ios::bin);
|
|
+ fpstream *f = new fpstream("TVDEMO.DST", ios::in|ios::binary);
|
|
if( !f )
|
|
messageBox("Could not open desktop file", mfOKButton | mfError);
|
|
else
|
|
@@ -238,7 +239,7 @@
|
|
|
|
void TVDemo::saveDesktop()
|
|
{
|
|
- fpstream *f = new fpstream("TVDEMO.DST", ios::out|ios::bin);
|
|
+ fpstream *f = new fpstream("TVDEMO.DST", ios::out|ios::binary);
|
|
|
|
if( f )
|
|
{
|
|
Index: lib/Makefile.am
|
|
===================================================================
|
|
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/lib/Makefile.am,v
|
|
retrieving revision 1.1
|
|
retrieving revision 1.2
|
|
diff -u -r1.1 -r1.2
|
|
--- lib/Makefile.am 20 Dec 2002 12:06:20 -0000 1.1
|
|
+++ lib/Makefile.am 27 Dec 2002 23:16:43 -0000 1.2
|
|
@@ -13,7 +13,7 @@
|
|
CLEANFILES = tvision
|
|
|
|
pkginclude_HEADERS = \
|
|
-app.h buffers.h colorsel.h dialogs.h drawbuf.h editors.h \
|
|
+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
|
|
@@ -37,7 +37,7 @@
|
|
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 new.cc palette.cc sall.cc stddlg.cc system.cc textview.cc \
|
|
+misc.cc msgbox.cc palette.cc sall.cc stddlg.cc system.cc textview.cc \
|
|
tobjstrm.cc tvtext.cc
|
|
|
|
libtvision_la_SOURCES = tvision TApplication.cc TBackground.cc TButton.cc \
|
|
@@ -53,5 +53,5 @@
|
|
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 new.cc palette.cc sall.cc stddlg.cc system.cc textview.cc \
|
|
+misc.cc msgbox.cc palette.cc sall.cc stddlg.cc system.cc textview.cc \
|
|
tobjstrm.cc tvtext.cc
|
|
Index: lib/TApplication.cc
|
|
===================================================================
|
|
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/lib/TApplication.cc,v
|
|
retrieving revision 1.1
|
|
retrieving revision 1.2
|
|
diff -u -r1.1 -r1.2
|
|
--- lib/TApplication.cc 20 Dec 2002 12:06:20 -0000 1.1
|
|
+++ lib/TApplication.cc 27 Dec 2002 23:16:43 -0000 1.2
|
|
@@ -14,9 +14,6 @@
|
|
#define Uses_TObject
|
|
#define Uses_TMouse
|
|
#define Uses_TApplication
|
|
-#ifndef __UNPATCHED
|
|
-#define Uses_TVMemMgr
|
|
-#endif
|
|
#include <tvision/tv.h>
|
|
|
|
void initHistory();
|
|
@@ -41,9 +38,6 @@
|
|
/* SS: changed */
|
|
|
|
TScreen::suspend();
|
|
-#ifndef __UNPATCHED
|
|
- TVMemMgr::suspend(); // Release discardable memory.
|
|
-#endif
|
|
}
|
|
|
|
void TApplication::resume()
|
|
Index: lib/TFileEditor.cc
|
|
===================================================================
|
|
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/lib/TFileEditor.cc,v
|
|
retrieving revision 1.1
|
|
retrieving revision 1.5
|
|
diff -u -r1.1 -r1.5
|
|
--- lib/TFileEditor.cc 20 Dec 2002 12:06:20 -0000 1.1
|
|
+++ lib/TFileEditor.cc 25 Dec 2002 14:10:17 -0000 1.5
|
|
@@ -7,6 +7,7 @@
|
|
* All Rights Reserved.
|
|
*
|
|
* Modified by Sergio Sigala <sergio@sigala.it>
|
|
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
|
|
*/
|
|
|
|
#define Uses_TProgram
|
|
@@ -18,12 +19,18 @@
|
|
#define Uses_ipstream
|
|
#include <tvision/tv.h>
|
|
|
|
-#include <fstream.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;
|
|
@@ -89,7 +96,7 @@
|
|
|
|
Boolean TFileEditor::loadFile()
|
|
{
|
|
- ifstream f( fileName, ios::in | ios::bin );
|
|
+ ifstream f( fileName, ios::in | ios::binary );
|
|
if( !f )
|
|
{
|
|
setBufLen( 0 );
|
|
@@ -97,7 +104,7 @@
|
|
}
|
|
else
|
|
{
|
|
- uint fSize = filelength( f.rdbuf()->fd() );
|
|
+ streampos fSize = filelength(f);
|
|
if( setBufSize(fSize) == False )
|
|
{
|
|
editorDialog( edOutOfMemory );
|
|
@@ -161,7 +168,7 @@
|
|
rename( fileName, backupName );
|
|
}
|
|
|
|
- ofstream f( fileName, ios::out | ios::bin );
|
|
+ ofstream f( fileName, ios::out | ios::binary );
|
|
|
|
if( !f )
|
|
{
|
|
Index: lib/TFileList.cc
|
|
===================================================================
|
|
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/lib/TFileList.cc,v
|
|
retrieving revision 1.1
|
|
retrieving revision 1.2
|
|
diff -u -r1.1 -r1.2
|
|
--- lib/TFileList.cc 20 Dec 2002 12:06:20 -0000 1.1
|
|
+++ lib/TFileList.cc 27 Dec 2002 23:16:43 -0000 1.2
|
|
@@ -9,7 +9,6 @@
|
|
* Modified by Sergio Sigala <sergio@sigala.it>
|
|
*/
|
|
|
|
-#define Uses_TVMemMgr
|
|
#define Uses_MsgBox
|
|
#define Uses_TFileList
|
|
#define Uses_TRect
|
|
@@ -130,21 +129,7 @@
|
|
t.ft_year = broken->tm_year - 80;
|
|
time = *(long *) &t;
|
|
}
|
|
-
|
|
- void *operator new( size_t );
|
|
-
|
|
};
|
|
-
|
|
-void *DirSearchRec::operator new( size_t sz )
|
|
-{
|
|
- void *temp = ::operator new( sz );
|
|
- if( TVMemMgr::safetyPoolExhausted() )
|
|
- {
|
|
- delete temp;
|
|
- temp = 0;
|
|
- }
|
|
- return temp;
|
|
-}
|
|
|
|
void TFileList::readDirectory( const char *aWildCard )
|
|
{
|
|
Index: lib/TGroup.cc
|
|
===================================================================
|
|
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/lib/TGroup.cc,v
|
|
retrieving revision 1.1
|
|
retrieving revision 1.2
|
|
diff -u -r1.1 -r1.2
|
|
--- lib/TGroup.cc 20 Dec 2002 12:06:20 -0000 1.1
|
|
+++ lib/TGroup.cc 27 Dec 2002 23:16:43 -0000 1.2
|
|
@@ -16,7 +16,6 @@
|
|
#define Uses_TEvent
|
|
#define Uses_opstream
|
|
#define Uses_ipstream
|
|
-#define Uses_TVMemMgr
|
|
#include <tvision/tv.h>
|
|
|
|
TView *TheTopView = 0;
|
|
Index: lib/TIndicator.cc
|
|
===================================================================
|
|
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/lib/TIndicator.cc,v
|
|
retrieving revision 1.1
|
|
retrieving revision 1.5
|
|
diff -u -r1.1 -r1.5
|
|
--- lib/TIndicator.cc 20 Dec 2002 12:06:20 -0000 1.1
|
|
+++ lib/TIndicator.cc 25 Dec 2002 14:10:17 -0000 1.5
|
|
@@ -7,6 +7,7 @@
|
|
* All Rights Reserved.
|
|
*
|
|
* Modified by Sergio Sigala <sergio@sigala.it>
|
|
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
|
|
*/
|
|
|
|
#define Uses_TIndicator
|
|
@@ -18,7 +19,13 @@
|
|
#include <tvision/tv.h>
|
|
|
|
#include <string.h>
|
|
-#include <strstream.h>
|
|
+
|
|
+#include <sstream>
|
|
+#include <string>
|
|
+
|
|
+using std::ends;
|
|
+using std::ostringstream;
|
|
+using std::string;
|
|
|
|
#define cpIndicator "\x02\x03"
|
|
|
|
@@ -32,7 +39,6 @@
|
|
{
|
|
uchar color, frame;
|
|
TDrawBuffer b;
|
|
- char s[15];
|
|
|
|
if( (state & sfDragging) == 0 )
|
|
{
|
|
@@ -48,12 +54,14 @@
|
|
b.moveChar( 0, frame, color, size.x );
|
|
if( modified )
|
|
b.putChar( 0, 15 );
|
|
- ostrstream os( s, 15 );
|
|
-
|
|
- os << ' ' << (location.y+1)
|
|
- << ':' << (location.x+1) << ' ' << ends;
|
|
|
|
- b.moveCStr( 8-int(strchr(s, ':')-s), s, color);
|
|
+ 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);
|
|
}
|
|
|
|
Index: lib/TMemo.cc
|
|
===================================================================
|
|
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/lib/TMemo.cc,v
|
|
retrieving revision 1.1
|
|
retrieving revision 1.4
|
|
diff -u -r1.1 -r1.4
|
|
--- lib/TMemo.cc 20 Dec 2002 12:06:20 -0000 1.1
|
|
+++ lib/TMemo.cc 25 Dec 2002 14:10:17 -0000 1.4
|
|
@@ -7,6 +7,7 @@
|
|
* All Rights Reserved.
|
|
*
|
|
* Modified by Sergio Sigala <sergio@sigala.it>
|
|
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
|
|
*/
|
|
|
|
#define Uses_TKeys
|
|
@@ -19,6 +20,8 @@
|
|
|
|
#include <string.h>
|
|
|
|
+using std::ios;
|
|
+
|
|
#define cpMemo "\x1A\x1B"
|
|
|
|
TMemo::TMemo( const TRect& bounds,
|
|
@@ -86,7 +89,7 @@
|
|
setBufLen( length );
|
|
}
|
|
else
|
|
- is.seekg( is.tellg() + length );
|
|
+ is.seekg( length, ios::cur );
|
|
return this;
|
|
}
|
|
|
|
Index: lib/TProgram.cc
|
|
===================================================================
|
|
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/lib/TProgram.cc,v
|
|
retrieving revision 1.1
|
|
retrieving revision 1.2
|
|
diff -u -r1.1 -r1.2
|
|
--- lib/TProgram.cc 20 Dec 2002 12:06:20 -0000 1.1
|
|
+++ lib/TProgram.cc 27 Dec 2002 23:16:43 -0000 1.2
|
|
@@ -22,9 +22,6 @@
|
|
#define Uses_TStatusDef
|
|
#define Uses_TStatusItem
|
|
#define Uses_TDialog
|
|
-#ifndef __UNPATCHED
|
|
-#define Uses_TVMemMgr
|
|
-#endif
|
|
#include <tvision/tv.h>
|
|
|
|
// Public variables
|
|
@@ -90,9 +87,6 @@
|
|
menuBar = 0;
|
|
deskTop = 0;
|
|
TGroup::shutDown();
|
|
-#ifndef __UNPATCHED
|
|
- TVMemMgr::clearSafetyPool(); // Release the safety pool buffer.
|
|
-#endif
|
|
}
|
|
|
|
Boolean TProgram::canMoveFocus()
|
|
@@ -309,11 +303,6 @@
|
|
return NULL;
|
|
}
|
|
|
|
-
|
|
-void TProgram::outOfMemory()
|
|
-{
|
|
-}
|
|
-
|
|
void TProgram::putEvent( TEvent & event )
|
|
{
|
|
pending = event;
|
|
@@ -339,12 +328,6 @@
|
|
{
|
|
if( p == 0 )
|
|
return 0;
|
|
- if( lowMemory() )
|
|
- {
|
|
- destroy( p );
|
|
- outOfMemory();
|
|
- return 0;
|
|
- }
|
|
if( !p->valid( cmValid ) )
|
|
{
|
|
destroy( p );
|
|
Index: lib/TResourceFile.cc
|
|
===================================================================
|
|
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/lib/TResourceFile.cc,v
|
|
retrieving revision 1.1
|
|
retrieving revision 1.7
|
|
diff -u -r1.1 -r1.7
|
|
--- lib/TResourceFile.cc 20 Dec 2002 12:06:20 -0000 1.1
|
|
+++ lib/TResourceFile.cc 25 Dec 2002 14:10:17 -0000 1.7
|
|
@@ -7,6 +7,7 @@
|
|
* All Rights Reserved.
|
|
*
|
|
* Modified by Sergio Sigala <sergio@sigala.it>
|
|
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
|
|
*/
|
|
|
|
#define Uses_TResourceFile
|
|
@@ -17,88 +18,82 @@
|
|
#define Uses_TResourceCollection
|
|
#include <tvision/tv.h>
|
|
|
|
+#include <assert.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'
|
|
|
|
-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;
|
|
- };
|
|
-};
|
|
+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;
|
|
|
|
-
|
|
-TResourceFile::TResourceFile( fpstream *aStream ) : TObject()
|
|
-{
|
|
- THeader *header;
|
|
- int handle;
|
|
- int found;
|
|
int repeat;
|
|
- long streamSize;
|
|
-
|
|
- stream = aStream;
|
|
- basePos = stream->tellp();
|
|
- handle = stream->rdbuf()->fd();
|
|
- streamSize = filelength(handle);
|
|
- header = new THeader;
|
|
- found = 0;
|
|
do {
|
|
repeat = 0;
|
|
if (basePos <= (streamSize - (long)sizeof(THeader)))
|
|
{
|
|
stream->seekg(basePos, ios::beg);
|
|
- stream->readBytes(header, sizeof(THeader));
|
|
- if (header->signature == 0x5a4d)
|
|
+ stream->readBytes(&header, sizeof(THeader));
|
|
+ if (header.signature == 0x5a4d)
|
|
{
|
|
- basePos += ((header->count.pageCount * 512L) -
|
|
- (-header->count.lastCount & 511));
|
|
+ basePos += ((header.count.pageCount * 512L) -
|
|
+ (-header.count.lastCount & 511));
|
|
repeat = 1;
|
|
}
|
|
- else if (header->signature == 0x4246)
|
|
+ else if (header.signature == 0x4246)
|
|
{
|
|
- if (header->info.infoType == 0x5250)
|
|
+ if (header.info.infoType == 0x5250)
|
|
found = 1;
|
|
else
|
|
{
|
|
basePos +=
|
|
- header->info.infoSize + 16 - (header->info.infoSize)%16;
|
|
+ header.info.infoSize + 16 - (header.info.infoSize)%16;
|
|
repeat = 1;
|
|
}
|
|
}
|
|
}
|
|
- } while (repeat);
|
|
+ } while (repeat);
|
|
|
|
- delete header;
|
|
-
|
|
- 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);
|
|
+ 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);
|
|
}
|
|
}
|
|
|
|
@@ -127,16 +120,17 @@
|
|
|
|
void TResourceFile::flush()
|
|
{
|
|
- long lenRez;
|
|
-
|
|
- if (modified == True)
|
|
- {
|
|
+ if (modified == True) {
|
|
stream->seekp(basePos + indexPos, ios::beg);
|
|
*stream << index;
|
|
- lenRez = stream->tellp() - basePos - sizeof(long) * 2;
|
|
+#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;
|
|
Index: lib/TStrListMaker.cc
|
|
===================================================================
|
|
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/lib/TStrListMaker.cc,v
|
|
retrieving revision 1.1
|
|
retrieving revision 1.4
|
|
diff -u -r1.1 -r1.4
|
|
--- lib/TStrListMaker.cc 20 Dec 2002 12:06:20 -0000 1.1
|
|
+++ lib/TStrListMaker.cc 25 Dec 2002 14:10:17 -0000 1.4
|
|
@@ -7,6 +7,7 @@
|
|
* All Rights Reserved.
|
|
*
|
|
* Modified by Sergio Sigala <sergio@sigala.it>
|
|
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
|
|
*/
|
|
|
|
#define Uses_TStringList
|
|
Index: lib/app.h
|
|
===================================================================
|
|
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/lib/app.h,v
|
|
retrieving revision 1.1
|
|
retrieving revision 1.2
|
|
diff -u -r1.1 -r1.2
|
|
--- lib/app.h 20 Dec 2002 12:06:20 -0000 1.1
|
|
+++ lib/app.h 27 Dec 2002 23:16:43 -0000 1.2
|
|
@@ -666,18 +666,6 @@
|
|
*/
|
|
virtual void initScreen();
|
|
/**
|
|
- * Called on out of memory condition.
|
|
- *
|
|
- * It is called from @ref validView() whenever @ref lowMemory() returns
|
|
- * True.
|
|
- *
|
|
- * 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 @ref messageBox() for example) that there is not free memory
|
|
- * to end the current task.
|
|
- */
|
|
- virtual void outOfMemory();
|
|
- /**
|
|
* Sets a pending event.
|
|
*
|
|
* Puts an event in the pending state, by storing a copy of the `event'
|
|
@@ -726,10 +714,6 @@
|
|
*
|
|
* First, if `p' is 0 the call returns 0.
|
|
*
|
|
- * Next, if @ref lowMemory() returns True the view pointed by `p' is
|
|
- * released by calling @ref TObject::destroy() followed by
|
|
- * @ref outOfMemory() and the function 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
|
|
@@ -746,7 +730,7 @@
|
|
*
|
|
* 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() and @ref TVMemMgr::clearSafetyPool().
|
|
+ * calls @ref TGroup::shutDown().
|
|
*/
|
|
virtual void shutDown();
|
|
/**
|
|
Index: lib/helpbase.cc
|
|
===================================================================
|
|
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/lib/helpbase.cc,v
|
|
retrieving revision 1.1
|
|
retrieving revision 1.5
|
|
diff -u -r1.1 -r1.5
|
|
--- lib/helpbase.cc 20 Dec 2002 12:06:20 -0000 1.1
|
|
+++ lib/helpbase.cc 25 Dec 2002 14:10:17 -0000 1.5
|
|
@@ -7,6 +7,7 @@
|
|
* All Rights Reserved.
|
|
*
|
|
* Modified by Sergio Sigala <sergio@sigala.it>
|
|
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
|
|
*/
|
|
|
|
#define Uses_TStreamableClass
|
|
@@ -31,6 +32,8 @@
|
|
#include <string.h>
|
|
#include <sys/stat.h>
|
|
|
|
+using std::streampos;
|
|
+
|
|
TCrossRefHandler crossRefHandler = notAssigned;
|
|
|
|
// THelpTopic
|
|
@@ -549,15 +552,10 @@
|
|
|
|
THelpFile::THelpFile( fpstream& s )
|
|
{
|
|
- long magic;
|
|
- int handle;
|
|
- long size;
|
|
+ long magic = 0;
|
|
|
|
- magic = 0;
|
|
- s.seekg(0);
|
|
- handle = s.rdbuf()->fd();
|
|
- size = filelength(handle);
|
|
s.seekg(0);
|
|
+ streampos size = filelength(s);
|
|
if (size > (long)sizeof(magic))
|
|
s >> magic;
|
|
if (magic != magicHeader)
|
|
@@ -580,24 +578,15 @@
|
|
|
|
THelpFile::~THelpFile(void)
|
|
{
|
|
- long magic, size;
|
|
- int handle;
|
|
|
|
if (modified == True)
|
|
{
|
|
stream->seekp(indexPos);
|
|
*stream << index;
|
|
+ long magic = magicHeader;
|
|
stream->seekp(0);
|
|
- magic = magicHeader;
|
|
- handle = stream->rdbuf()->fd();
|
|
-//
|
|
-// note: at this time, a bug in filelength leaves the seek pointer at
|
|
-// the end of file, so we must save and restore the seek pointer
|
|
-// around the call; this can be removed when filelength is fixed.
|
|
-//
|
|
- streampos sp=stream->tellp();
|
|
- size = filelength(handle) - 8;
|
|
- stream->seekp(sp);
|
|
+ streampos size = filelength(*stream);
|
|
+ size =- 8;
|
|
*stream << magic;
|
|
*stream << size;
|
|
*stream << indexPos;
|
|
Index: lib/histlist.cc
|
|
===================================================================
|
|
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/lib/histlist.cc,v
|
|
retrieving revision 1.1
|
|
retrieving revision 1.2
|
|
diff -u -r1.1 -r1.2
|
|
--- lib/histlist.cc 20 Dec 2002 12:06:20 -0000 1.1
|
|
+++ lib/histlist.cc 27 Dec 2002 23:16:43 -0000 1.2
|
|
@@ -21,25 +21,11 @@
|
|
|
|
HistRec( uchar nId, const char *nStr );
|
|
|
|
- void *operator new( size_t );
|
|
- void *operator new( size_t, HistRec * );
|
|
-
|
|
uchar id;
|
|
uchar len;
|
|
char str[1];
|
|
|
|
};
|
|
-
|
|
-void *HistRec::operator new( size_t, HistRec *hr )
|
|
-{
|
|
- return hr;
|
|
-}
|
|
-
|
|
-void *HistRec::operator new( size_t )
|
|
-{
|
|
- abort();
|
|
- return 0;
|
|
-}
|
|
|
|
inline HistRec::HistRec( uchar nId, const char *nStr ) :
|
|
id( nId ),
|
|
Index: lib/misc.cc
|
|
===================================================================
|
|
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/lib/misc.cc,v
|
|
retrieving revision 1.1
|
|
retrieving revision 1.2
|
|
diff -u -r1.1 -r1.2
|
|
--- lib/misc.cc 20 Dec 2002 12:06:20 -0000 1.1
|
|
+++ lib/misc.cc 27 Dec 2002 23:16:44 -0000 1.2
|
|
@@ -14,7 +14,6 @@
|
|
#define Uses_TGroup
|
|
#define Uses_TEvent
|
|
#define Uses_TObject
|
|
-#define Uses_TVMemMgr
|
|
#define Uses_TView
|
|
#define Uses_pstream
|
|
#include <tvision/tv.h>
|
|
@@ -37,11 +36,6 @@
|
|
return event.message.infoPtr;
|
|
else
|
|
return 0;
|
|
-}
|
|
-
|
|
-Boolean lowMemory()
|
|
-{
|
|
- return Boolean(TVMemMgr::safetyPoolExhausted());
|
|
}
|
|
|
|
/* from NEWSTR.CPP */
|
|
Index: lib/system.cc
|
|
===================================================================
|
|
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/lib/system.cc,v
|
|
retrieving revision 1.2
|
|
retrieving revision 1.8
|
|
diff -u -r1.2 -r1.8
|
|
--- lib/system.cc 20 Dec 2002 12:19:01 -0000 1.2
|
|
+++ lib/system.cc 25 Dec 2002 14:10:17 -0000 1.8
|
|
@@ -23,11 +23,12 @@
|
|
* 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>
|
|
*/
|
|
|
|
-/* Modified by Sergey Clushin <serg@lamport.ru>, <Clushin@deol.ru> */
|
|
-/* Modified by Dmitrij Korovkin <tkf@glasnet.ru> */
|
|
-
|
|
#define Uses_TButton
|
|
#define Uses_TColorSelector
|
|
#define Uses_TDeskTop
|
|
@@ -47,10 +48,11 @@
|
|
#define Uses_TStatusLine
|
|
#include <tvision/tv.h>
|
|
|
|
+#include <fstream>
|
|
+#include <iostream>
|
|
+
|
|
#include <ctype.h>
|
|
#include <fcntl.h>
|
|
-#include <fstream.h>
|
|
-#include <iostream.h>
|
|
#include <signal.h>
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
@@ -62,6 +64,13 @@
|
|
|
|
#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)
|
|
@@ -2300,36 +2309,24 @@
|
|
}
|
|
}
|
|
|
|
-/*
|
|
- * Returns the length of a file.
|
|
+/**
|
|
+ * Returns the length of the file associated with the stream.
|
|
*/
|
|
-
|
|
-long int filelength(int fd)
|
|
+streampos
|
|
+filelength(istream &s)
|
|
{
|
|
- struct stat s;
|
|
-
|
|
/*
|
|
- * This should handle any regular file.
|
|
+ * First get curent position, then get position after seeking
|
|
+ * from begining to the end, finally seek back to original
|
|
+ * position.
|
|
*/
|
|
- if (fstat(fd, &s) == 0 && s.st_size > 0) return s.st_size;
|
|
- else
|
|
- {
|
|
- char buf[1024];
|
|
- int len, size = 0;
|
|
+ streampos curpos = s.tellg();
|
|
|
|
- /*
|
|
- * This works with special files which are not empty, even if
|
|
- * their size is zero, like those in the `/proc' directory.
|
|
- */
|
|
- off_t old = lseek(fd, 0, SEEK_CUR); /* save position */
|
|
- lseek(fd, 0, SEEK_SET); /* go to the beginning */
|
|
- while ((len = read(fd, buf, sizeof(buf))) > 0)
|
|
- {
|
|
- size += len;
|
|
- }
|
|
- lseek(fd, old, SEEK_SET); /* restore old position */
|
|
- return size;
|
|
- }
|
|
+ s.seekg(0, ios::end);
|
|
+ streampos size = s.tellg();
|
|
+
|
|
+ s.seekg(curpos);
|
|
+ return size;
|
|
}
|
|
|
|
/*
|
|
Index: lib/textview.cc
|
|
===================================================================
|
|
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/lib/textview.cc,v
|
|
retrieving revision 1.1
|
|
retrieving revision 1.4
|
|
diff -u -r1.1 -r1.4
|
|
--- lib/textview.cc 20 Dec 2002 12:06:20 -0000 1.1
|
|
+++ lib/textview.cc 25 Dec 2002 14:10:17 -0000 1.4
|
|
@@ -7,6 +7,7 @@
|
|
* All Rights Reserved.
|
|
*
|
|
* Modified by Sergio Sigala <sergio@sigala.it>
|
|
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
|
|
*/
|
|
|
|
#define Uses_TTextDevice
|
|
@@ -15,6 +16,9 @@
|
|
#include <tvision/tv.h>
|
|
|
|
#include <string.h>
|
|
+
|
|
+using std::ostream;
|
|
+using std::streamsize;
|
|
|
|
TTextDevice::TTextDevice( const TRect& bounds,
|
|
TScrollBar *aHScrollBar,
|
|
Index: lib/textview.h
|
|
===================================================================
|
|
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/lib/textview.h,v
|
|
retrieving revision 1.1
|
|
retrieving revision 1.3
|
|
diff -u -r1.1 -r1.3
|
|
--- lib/textview.h 20 Dec 2002 12:06:20 -0000 1.1
|
|
+++ lib/textview.h 25 Dec 2002 14:10:17 -0000 1.3
|
|
@@ -7,6 +7,7 @@
|
|
* All Rights Reserved.
|
|
*
|
|
* Modified by Sergio Sigala <sergio@sigala.it>
|
|
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
|
|
*/
|
|
|
|
#if defined( Uses_TTextDevice ) && !defined( __TTextDevice )
|
|
@@ -16,7 +17,7 @@
|
|
* textview.h
|
|
*/
|
|
|
|
-#include <iostream.h>
|
|
+#include <iostream>
|
|
|
|
class TRect;
|
|
class TScrollBar;
|
|
@@ -168,14 +169,12 @@
|
|
#if defined( Uses_otstream ) && !defined( __otstream )
|
|
#define __otstream
|
|
|
|
-class ostream;
|
|
-
|
|
-#include <iostream.h>
|
|
+#include <iostream>
|
|
|
|
/**
|
|
* Undocumented.
|
|
*/
|
|
-class TerminalBuf: public streambuf
|
|
+class TerminalBuf: public std::streambuf
|
|
{
|
|
protected:
|
|
/**
|
|
@@ -208,7 +207,7 @@
|
|
/**
|
|
* Undocumented.
|
|
*/
|
|
-class otstream : public ostream
|
|
+class otstream : public std::ostream
|
|
{
|
|
protected:
|
|
/**
|
|
Index: lib/tobjstrm.h
|
|
===================================================================
|
|
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/lib/tobjstrm.h,v
|
|
retrieving revision 1.1
|
|
retrieving revision 1.9
|
|
diff -u -r1.1 -r1.9
|
|
--- lib/tobjstrm.h 20 Dec 2002 12:06:20 -0000 1.1
|
|
+++ lib/tobjstrm.h 27 Dec 2002 23:16:44 -0000 1.9
|
|
@@ -1,5 +1,5 @@
|
|
-/*
|
|
- * tobjstrm.h
|
|
+/**
|
|
+ * @file tobjstrm.h
|
|
*
|
|
* Turbo Vision - Version 2.0
|
|
*
|
|
@@ -7,11 +7,14 @@
|
|
* All Rights Reserved.
|
|
*
|
|
* Modified by Sergio Sigala <sergio@sigala.it>
|
|
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
|
|
*/
|
|
|
|
-/** \file tobjstrm.h
|
|
- * tobjstrm.h
|
|
- */
|
|
+#include <ios>
|
|
+#include <iostream>
|
|
+#include <fstream>
|
|
+
|
|
+#include <limits.h>
|
|
|
|
/**
|
|
* Undocumented.
|
|
@@ -19,13 +22,11 @@
|
|
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 )
|
|
@@ -117,18 +118,12 @@
|
|
#endif // Uses_TStreamable
|
|
|
|
/* ------------------------------------------------------------------------*/
|
|
-/* */
|
|
/* class TStreamableClass */
|
|
-/* */
|
|
-/* Used internally by TStreamableTypes and pstream. */
|
|
-/* */
|
|
/* ------------------------------------------------------------------------*/
|
|
|
|
#if defined( Uses_TStreamableClass ) && !defined( __TStreamableClass )
|
|
#define __TStreamableClass
|
|
|
|
-#include <limits.h>
|
|
-
|
|
/**
|
|
* Undocumented.
|
|
*/
|
|
@@ -154,9 +149,9 @@
|
|
*/
|
|
class TStreamableClass
|
|
{
|
|
- friend TStreamableTypes;
|
|
- friend opstream;
|
|
- friend ipstream;
|
|
+ friend class TStreamableTypes;
|
|
+ friend class opstream;
|
|
+ friend class ipstream;
|
|
public:
|
|
/**
|
|
* Creates a TStreamable object with the given name and the given builder
|
|
@@ -184,7 +179,7 @@
|
|
* typedef TStreamable *(*BUILDER)();
|
|
* </pre>
|
|
*/
|
|
- TStreamableClass( const char *aName, BUILDER aBuild, int aDelta );
|
|
+ TStreamableClass(const char *aName, BUILDER aBuild, int aDelta );
|
|
private:
|
|
const char *name;
|
|
BUILDER build;
|
|
@@ -194,13 +189,7 @@
|
|
#endif // Uses_TStreamableClass
|
|
|
|
/* ------------------------------------------------------------------------*/
|
|
-/* */
|
|
/* class TStreamableTypes */
|
|
-/* */
|
|
-/* Maintains a database of all registered types in the application. */
|
|
-/* Used by opstream and ipstream to find the functions to read and */
|
|
-/* write objects. */
|
|
-/* */
|
|
/* ------------------------------------------------------------------------*/
|
|
|
|
#if defined( Uses_TStreamableTypes ) && !defined( __TStreamableTypes )
|
|
@@ -235,20 +224,12 @@
|
|
/**
|
|
* Registers the argument class by inserting `d' in the collection.
|
|
*/
|
|
- void registerType( const TStreamableClass *d );
|
|
+ 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 );
|
|
- /**
|
|
- * Undocumented.
|
|
- */
|
|
- void *operator new( size_t sz ) { return ::operator new( sz ); }
|
|
- /**
|
|
- * Undocumented.
|
|
- */
|
|
- void *operator new( size_t, void * );
|
|
+ const TStreamableClass *lookup(const char name[]);
|
|
private:
|
|
/**
|
|
* Undocumented.
|
|
@@ -263,15 +244,7 @@
|
|
#endif // Uses_TStreamableTypes
|
|
|
|
/* ------------------------------------------------------------------------*/
|
|
-/* */
|
|
/* class TPWrittenObjects */
|
|
-/* */
|
|
-/* Maintains a database of all objects that have been written to the */
|
|
-/* current object stream. */
|
|
-/* */
|
|
-/* Used by opstream when it writes a pointer onto a stream to determine */
|
|
-/* whether the object pointed to has already been written to the stream. */
|
|
-/* */
|
|
/* ------------------------------------------------------------------------*/
|
|
|
|
#if defined( Uses_TPWrittenObjects ) && !defined( __TPWrittenObjects )
|
|
@@ -286,7 +259,7 @@
|
|
*/
|
|
class TPWrittenObjects : public TNSSortedCollection
|
|
{
|
|
- friend opstream;
|
|
+ friend class opstream;
|
|
public:
|
|
/**
|
|
* Undocumented.
|
|
@@ -306,11 +279,11 @@
|
|
/**
|
|
* Undocumented.
|
|
*/
|
|
- void registerObject( const void *adr );
|
|
+ void registerObject(const void *adr );
|
|
/**
|
|
* Undocumented.
|
|
*/
|
|
- P_id_type find( const void *adr );
|
|
+ P_id_type find(const void *adr );
|
|
/**
|
|
* Undocumented.
|
|
*/
|
|
@@ -326,11 +299,7 @@
|
|
};
|
|
|
|
/* ------------------------------------------------------------------------*/
|
|
-/* */
|
|
/* class TPWObj */
|
|
-/* */
|
|
-/* Used internally by TPWrittenObjects. */
|
|
-/* */
|
|
/* ------------------------------------------------------------------------*/
|
|
|
|
/**
|
|
@@ -341,9 +310,9 @@
|
|
*/
|
|
class TPWObj
|
|
{
|
|
- friend TPWrittenObjects;
|
|
+ friend class TPWrittenObjects;
|
|
private:
|
|
- TPWObj( const void *adr, P_id_type id );
|
|
+ TPWObj(const void *adr, P_id_type id );
|
|
const void *address;
|
|
P_id_type ident;
|
|
};
|
|
@@ -351,15 +320,7 @@
|
|
#endif // Uses_TPWrittenObjects
|
|
|
|
/* ------------------------------------------------------------------------*/
|
|
-/* */
|
|
/* class TPReadObjects */
|
|
-/* */
|
|
-/* Maintains a database of all objects that have been read from the */
|
|
-/* current persistent stream. */
|
|
-/* */
|
|
-/* Used by ipstream when it reads a pointer from a stream to determine */
|
|
-/* the address of the object being referred to. */
|
|
-/* */
|
|
/* ------------------------------------------------------------------------*/
|
|
|
|
#if defined( Uses_TPReadObjects ) && !defined( __TPReadObjects )
|
|
@@ -375,7 +336,7 @@
|
|
*/
|
|
class TPReadObjects : public TNSCollection
|
|
{
|
|
- friend ipstream;
|
|
+ friend class ipstream;
|
|
public:
|
|
/**
|
|
* Undocumented.
|
|
@@ -393,7 +354,7 @@
|
|
* Sets the collection @ref limit to 0 without destroying the collection.
|
|
*/
|
|
~TPReadObjects();
|
|
- void registerObject( const void *adr );
|
|
+ void registerObject(const void *adr );
|
|
const void *find( P_id_type id );
|
|
P_id_type curId;
|
|
};
|
|
@@ -401,164 +362,62 @@
|
|
#endif // Uses_TPReadObjects
|
|
|
|
/* ------------------------------------------------------------------------*/
|
|
-/* */
|
|
/* class pstream */
|
|
-/* */
|
|
-/* Base class for handling streamable objects. */
|
|
-/* */
|
|
/* ------------------------------------------------------------------------*/
|
|
|
|
#if defined( Uses_pstream ) && !defined( __pstream )
|
|
#define __pstream
|
|
|
|
-class streambuf;
|
|
-
|
|
-#include <iostream.h>
|
|
-
|
|
class TStreamableTypes;
|
|
|
|
/**
|
|
* pstream is the base class for handling streamable objects.
|
|
* @short The base class for handling streamable objects
|
|
*/
|
|
-class pstream
|
|
-{
|
|
- friend TStreamableTypes;
|
|
+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 };
|
|
- /**
|
|
- * This form creates a buffered pstream with the given buffer and sets the
|
|
- * @ref bp data member to `buf'. The @ref state data member is set to 0.
|
|
- */
|
|
- pstream( streambuf *buf );
|
|
- /**
|
|
- * Destroys the pstream object.
|
|
- */
|
|
- virtual ~pstream();
|
|
- /**
|
|
- * Returns the current @ref state value.
|
|
- */
|
|
- int rdstate() const;
|
|
- /**
|
|
- * Returns nonzero on end of stream.
|
|
- */
|
|
- int eof() const;
|
|
- /**
|
|
- * Returns nonzero if a stream operation fails.
|
|
- */
|
|
- int fail() const;
|
|
- /**
|
|
- * Returns nonzero if an error occurs.
|
|
- */
|
|
- int bad() const;
|
|
- /**
|
|
- * Returns nonzero if no state bits are set (that is, no errors occurred).
|
|
- */
|
|
- int good() const;
|
|
- /**
|
|
- * Set the stream @ref state data member to the given value (defaults
|
|
- * to 0).
|
|
- */
|
|
- void clear( int sState = 0 );
|
|
- /**
|
|
- * Overloads the pointer-to-void cast operator.
|
|
- *
|
|
- * Returns 0 if operation has failed (that is, @ref fail() returned
|
|
- * nonzero); otherwise returns nonzero.
|
|
- */
|
|
- operator void *() const;
|
|
- /**
|
|
- * Overloads the NOT operator. Returns the value returned by @ref fail().
|
|
- */
|
|
- int operator ! () const;
|
|
- /**
|
|
- * Returns the @ref bp pointer to this stream's assigned buffer.
|
|
- */
|
|
- streambuf * rdbuf() const;
|
|
- /**
|
|
- * Creates the associated @ref TStreamableTypes object types. Called by the
|
|
- * @ref TStreamableClass constructor.
|
|
- */
|
|
+
|
|
+ void error(StreamableError);
|
|
+ void error(StreamableError, const TStreamable &);
|
|
+
|
|
static void initTypes();
|
|
- /**
|
|
- * Sets the given error condition, where StreamableError is defined as
|
|
- * follows:
|
|
- *
|
|
- * <pre>
|
|
- * enum StreamableError { peNotRegistered, peInvalidType };
|
|
- * </pre>
|
|
- */
|
|
- void error( StreamableError );
|
|
- /**
|
|
- * Sets the given error condition, where StreamableError is defined as
|
|
- * follows:
|
|
- *
|
|
- * <pre>
|
|
- * enum StreamableError { peNotRegistered, peInvalidType };
|
|
- * </pre>
|
|
- */
|
|
- void error( StreamableError, const TStreamable& );
|
|
- /**
|
|
- * Undocumented.
|
|
- */
|
|
- static void registerType( TStreamableClass *ts );
|
|
-protected:
|
|
- /**
|
|
- * This form allocates a default buffer.
|
|
- */
|
|
- pstream();
|
|
- /**
|
|
- * Pointer to the stream buffer.
|
|
- */
|
|
- streambuf *bp;
|
|
- /**
|
|
- * The format state flags, as enumerated in ios. Use @ref rdstate() to
|
|
- * access the current state.
|
|
- */
|
|
- int state;
|
|
- /**
|
|
- * Initializes the stream: sets @ref state to 0 and @ref bp to `sbp'.
|
|
- */
|
|
- void init( streambuf *sbp );
|
|
- /**
|
|
- * Updates the @ref state data member with state |= (b & 0 xFF).
|
|
- */
|
|
- void setstate( int b );
|
|
- /**
|
|
- * Pointer to the @ref TStreamableTypes data base of all registered types
|
|
- * in this application.
|
|
- */
|
|
- static TStreamableTypes * types;
|
|
+ static void registerType(TStreamableClass *ts);
|
|
};
|
|
|
|
#endif // Uses_pstream
|
|
|
|
/* ------------------------------------------------------------------------*/
|
|
-/* */
|
|
/* class ipstream */
|
|
-/* */
|
|
-/* Base class for reading streamable objects */
|
|
-/* */
|
|
/* ------------------------------------------------------------------------*/
|
|
|
|
#if defined( Uses_ipstream ) && !defined( __ipstream )
|
|
#define __ipstream
|
|
|
|
-#include <iostream.h>
|
|
-
|
|
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.h' for the standard C++ stream
|
|
+ * 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
|
|
@@ -566,176 +425,69 @@
|
|
* 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:
|
|
- /**
|
|
- * This form creates a buffered ipstream with the given buffer and sets
|
|
- * the @ref bp data member to `buf'. The @ref state data member is set
|
|
- * to 0.
|
|
- */
|
|
- ipstream( streambuf *buf );
|
|
- /**
|
|
- * Destroys the ipstream object.
|
|
- */
|
|
- ~ipstream();
|
|
- /**
|
|
- * Returns the (absolute) current stream position.
|
|
- */
|
|
- streampos tellg();
|
|
- /**
|
|
- * This form moves the stream position to the absolute position given by
|
|
- * `pos'.
|
|
- */
|
|
- ipstream& seekg( streampos pos );
|
|
- /**
|
|
- * 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& seekg( streamoff off, ios::seek_dir dir );
|
|
- /**
|
|
- * Returns the character at the current stream position.
|
|
- */
|
|
- uchar readByte();
|
|
- /**
|
|
- * Reads `sz' bytes from current stream position, and writes them to
|
|
- * the address given in `data'.
|
|
- */
|
|
- void readBytes( void *data, size_t sz );
|
|
- /**
|
|
- * Returns the word at the current stream position.
|
|
- */
|
|
- ushort readWord();
|
|
- /**
|
|
- * Returns a string read from the current stream position.
|
|
- */
|
|
- char * readString();
|
|
- /**
|
|
- * Returns a string read from the current stream position.
|
|
- */
|
|
- char * readString( char *buf, unsigned maxLen );
|
|
- /**
|
|
- * Undocumented.
|
|
- */
|
|
- friend ipstream& operator >> ( ipstream&, char& );
|
|
- /**
|
|
- * Undocumented.
|
|
- */
|
|
- friend ipstream& operator >> ( ipstream&, signed char& );
|
|
- /**
|
|
- * Undocumented.
|
|
- */
|
|
- friend ipstream& operator >> ( ipstream&, unsigned char& );
|
|
- /**
|
|
- * Undocumented.
|
|
- */
|
|
- friend ipstream& operator >> ( ipstream&, signed short& );
|
|
- /**
|
|
- * Undocumented.
|
|
- */
|
|
- friend ipstream& operator >> ( ipstream&, unsigned short& );
|
|
- /**
|
|
- * Undocumented.
|
|
- */
|
|
- friend ipstream& operator >> ( ipstream&, signed int& );
|
|
- /**
|
|
- * Undocumented.
|
|
- */
|
|
- friend ipstream& operator >> ( ipstream&, unsigned int& );
|
|
- /**
|
|
- * Undocumented.
|
|
- */
|
|
- friend ipstream& operator >> ( ipstream&, signed long& );
|
|
- /**
|
|
- * Undocumented.
|
|
- */
|
|
- friend ipstream& operator >> ( ipstream&, unsigned long& );
|
|
- /**
|
|
- * Undocumented.
|
|
- */
|
|
- friend ipstream& operator >> ( ipstream&, float& );
|
|
- /**
|
|
- * Undocumented.
|
|
- */
|
|
- friend ipstream& operator >> ( ipstream&, double& );
|
|
- /**
|
|
- * Undocumented.
|
|
- */
|
|
- friend ipstream& operator >> ( ipstream&, long double& );
|
|
- /**
|
|
- * Undocumented.
|
|
- */
|
|
- friend ipstream& operator >> ( ipstream&, TStreamable& );
|
|
- /**
|
|
- * Undocumented.
|
|
- */
|
|
- friend ipstream& operator >> ( ipstream&, void *& );
|
|
-protected:
|
|
- /**
|
|
- * This form does nothing.
|
|
- */
|
|
- ipstream();
|
|
- /**
|
|
- * Returns the @ref TStreamableClass object corresponding to the class
|
|
- * name stored at the current position.
|
|
- */
|
|
- const TStreamableClass * readPrefix();
|
|
- /**
|
|
- * 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 * readData( const TStreamableClass *c, TStreamable *mem );
|
|
- /**
|
|
- * Reads and checks the final byte of an object's name field.
|
|
- */
|
|
- void readSuffix();
|
|
- /**
|
|
- * Returns a pointer to the object corresponding to `id'.
|
|
- */
|
|
- const void * find( P_id_type id );
|
|
- /**
|
|
- * Registers the class of the object pointed by `adr'.
|
|
- */
|
|
- void registerObject( const void *adr );
|
|
+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 */
|
|
-/* */
|
|
-/* Base class for writing streamable objects */
|
|
-/* */
|
|
/* ------------------------------------------------------------------------*/
|
|
|
|
#if defined( Uses_opstream ) && !defined( __opstream )
|
|
#define __opstream
|
|
|
|
-#include <iostream.h>
|
|
-
|
|
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.h' for the standard C++ stream
|
|
+ * 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
|
|
@@ -743,469 +495,146 @@
|
|
* 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
|
|
-{
|
|
+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:
|
|
- /**
|
|
- * This form creates a buffered opstream with the given buffer and sets
|
|
- * the @ref bp data member to `buf'. The @ref state data member is set
|
|
- * to 0.
|
|
- */
|
|
- opstream( streambuf *buf );
|
|
- /**
|
|
- * Destroys the opstream object.
|
|
- */
|
|
+ opstream(std::streambuf *buf);
|
|
~opstream();
|
|
- /**
|
|
- * Returns the (absolute) current stream position.
|
|
- */
|
|
- streampos tellp();
|
|
- /**
|
|
- * This form moves the stream's current position to the absolute position
|
|
- * given by `pos'.
|
|
- */
|
|
- opstream& seekp( streampos pos );
|
|
- /**
|
|
- * 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& seekp( streamoff off, ios::seek_dir dir );
|
|
- /**
|
|
- * Flushes the stream.
|
|
- */
|
|
+ opstream& seekp(std::streampos pos);
|
|
+ opstream& seekp(std::streamoff off, std::ios::seekdir dir);
|
|
opstream& flush();
|
|
- /**
|
|
- * Writes character `ch' to the stream.
|
|
- */
|
|
- void writeByte( uchar ch );
|
|
- /**
|
|
- * Writes `sz' bytes from `data' buffer to the stream.
|
|
- */
|
|
- void writeBytes( const void *data, size_t sz );
|
|
- /**
|
|
- * Writes the word `us' to the stream.
|
|
- */
|
|
- void writeWord( ushort us );
|
|
- /**
|
|
- * Writes `str' to the stream (together with a leading length byte).
|
|
- */
|
|
- void writeString( const char *str );
|
|
- /**
|
|
- * Undocumented.
|
|
- */
|
|
- friend opstream& operator << ( opstream&, char );
|
|
- /**
|
|
- * Undocumented.
|
|
- */
|
|
- friend opstream& operator << ( opstream&, signed char );
|
|
- /**
|
|
- * Undocumented.
|
|
- */
|
|
- friend opstream& operator << ( opstream&, unsigned char );
|
|
- /**
|
|
- * Undocumented.
|
|
- */
|
|
- friend opstream& operator << ( opstream&, signed short );
|
|
- /**
|
|
- * Undocumented.
|
|
- */
|
|
- friend opstream& operator << ( opstream&, unsigned short );
|
|
- /**
|
|
- * Undocumented.
|
|
- */
|
|
- friend opstream& operator << ( opstream&, signed int );
|
|
- /**
|
|
- * Undocumented.
|
|
- */
|
|
- friend opstream& operator << ( opstream&, unsigned int );
|
|
- /**
|
|
- * Undocumented.
|
|
- */
|
|
- friend opstream& operator << ( opstream&, signed long );
|
|
- /**
|
|
- * Undocumented.
|
|
- */
|
|
- friend opstream& operator << ( opstream&, unsigned long );
|
|
- /**
|
|
- * Undocumented.
|
|
- */
|
|
- friend opstream& operator << ( opstream&, float );
|
|
- /**
|
|
- * Undocumented.
|
|
- */
|
|
- friend opstream& operator << ( opstream&, double );
|
|
- /**
|
|
- * Undocumented.
|
|
- */
|
|
- friend opstream& operator << ( opstream&, long double );
|
|
- /**
|
|
- * Undocumented.
|
|
- */
|
|
- friend opstream& operator << ( opstream&, TStreamable& );
|
|
- /**
|
|
- * Undocumented.
|
|
- */
|
|
- friend opstream& operator << ( opstream&, TStreamable * );
|
|
-protected:
|
|
- /**
|
|
- * This form allocates a default buffer.
|
|
- */
|
|
- opstream();
|
|
- /**
|
|
- * 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 writePrefix( const TStreamable& );
|
|
- /**
|
|
- * Writes data to the stream by calling the appropriate class's write
|
|
- * member function for the object being written.
|
|
- */
|
|
- void writeData( TStreamable& );
|
|
- /**
|
|
- * 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 writeSuffix( const TStreamable& );
|
|
- /**
|
|
- * Returns the type ID for the object ad address `adr'.
|
|
- */
|
|
- P_id_type find( const void *adr );
|
|
- /**
|
|
- * Registers the class of the object ad address `adr'.
|
|
- */
|
|
- void registerObject( const void *adr );
|
|
-private:
|
|
- TPWrittenObjects *objs;
|
|
+
|
|
+ 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 */
|
|
-/* */
|
|
-/* Base class for reading and writing streamable objects */
|
|
-/* */
|
|
/* ------------------------------------------------------------------------*/
|
|
|
|
#if defined( Uses_iopstream ) && !defined( __iopstream )
|
|
#define __iopstream
|
|
|
|
-#include <iostream.h>
|
|
-
|
|
/**
|
|
* 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
|
|
-{
|
|
+class iopstream : public ipstream, public opstream {
|
|
public:
|
|
- /**
|
|
- * Creates a buffered iopstream with the given buffer and sets the @ref bp
|
|
- * data member to `buf'. The @ref state data member is set to 0.
|
|
- */
|
|
- iopstream( streambuf *buf );
|
|
- /**
|
|
- * Destroys the iopstream object.
|
|
- */
|
|
+ iopstream(std::streambuf *buf);
|
|
~iopstream();
|
|
-protected:
|
|
- /**
|
|
- * Undocumented.
|
|
- */
|
|
- iopstream();
|
|
};
|
|
|
|
#endif // Uses_iopstream
|
|
|
|
/* ------------------------------------------------------------------------*/
|
|
-/* */
|
|
-/* class fpbase */
|
|
-/* */
|
|
-/* Base class for handling streamable objects on file streams */
|
|
-/* */
|
|
-/* ------------------------------------------------------------------------*/
|
|
-
|
|
-#if defined( Uses_fpbase ) && !defined( __fpbase )
|
|
-#define __fpbase
|
|
-
|
|
-#include <fstream.h>
|
|
-
|
|
-/**
|
|
- * fpbase provides the basic operations common to all object file stream I/O.
|
|
- * @short Base class for handling streamable objects on file streams
|
|
- */
|
|
-class fpbase : virtual public pstream
|
|
-{
|
|
-public:
|
|
- /**
|
|
- * Creates a buffered fpbase object.
|
|
- */
|
|
- fpbase();
|
|
- /**
|
|
- * 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.
|
|
- */
|
|
- fpbase( const char *name, int omode, int prot = filebuf::openprot );
|
|
- /**
|
|
- * Creates a buffered fpbase object. You can open a file and attach it to
|
|
- * the stream by specifying the file descriptor, `f'.
|
|
- */
|
|
- fpbase( int f );
|
|
- /**
|
|
- * 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'.
|
|
- */
|
|
- fpbase( int f, char *b, int len);
|
|
- /**
|
|
- * Destroys the fpbase object.
|
|
- */
|
|
- ~fpbase();
|
|
- /**
|
|
- * 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.
|
|
- */
|
|
- void open( const char *name, int omode, int prot = filebuf::openprot );
|
|
- /**
|
|
- * Attaches the file with descriptor `f' to this stream if possible.
|
|
- */
|
|
- void attach( int f );
|
|
- /**
|
|
- * Closes the stream and associated file.
|
|
- */
|
|
- void close();
|
|
- /**
|
|
- * Allocates a buffer of size `len'.
|
|
- */
|
|
- void setbuf( char *buf, int len );
|
|
- /**
|
|
- * Returns a pointer to the current file buffer.
|
|
- */
|
|
- filebuf * rdbuf();
|
|
-private:
|
|
- filebuf buf;
|
|
-};
|
|
-
|
|
-#endif // Uses_fpbase
|
|
-
|
|
-/* ------------------------------------------------------------------------*/
|
|
-/* */
|
|
/* class ifpstream */
|
|
-/* */
|
|
-/* Base class for reading streamable objects from file streams */
|
|
-/* */
|
|
/* ------------------------------------------------------------------------*/
|
|
|
|
#if defined( Uses_ifpstream ) && !defined( __ifpstream )
|
|
#define __ifpstream
|
|
|
|
-#include <iostream.h>
|
|
-
|
|
/**
|
|
- * ifpstream is a simple "mix" of its bases, @ref fpbase and @ref ipstream.
|
|
- * It provides the base class for reading (extracting) streamable objects
|
|
- * from file streams.
|
|
- * @short Provides the base class for reading (extracting) streamable objects
|
|
+ * 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 fpbase, public ipstream
|
|
-{
|
|
+class ifpstream : public ipstream {
|
|
+ std::filebuf buf;
|
|
public:
|
|
- /**
|
|
- * Creates a buffered ifpstream object.
|
|
- */
|
|
ifpstream();
|
|
- /**
|
|
- * 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.
|
|
- */
|
|
- ifpstream(const char *name, int omode = ios::in,
|
|
- int prot = filebuf::openprot );
|
|
- /**
|
|
- * Creates a buffered ifpstream object. You can open a file and attach it
|
|
- * to the stream by specifying the file descriptor, `f'.
|
|
- */
|
|
- ifpstream( int f );
|
|
- /**
|
|
- * 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'.
|
|
- */
|
|
- ifpstream( int f, char *b, int len );
|
|
- /**
|
|
- * Destroys the ifpstream object.
|
|
- */
|
|
+ ifpstream(const char name[], std::ios::openmode omode = std::ios::in);
|
|
~ifpstream();
|
|
- /**
|
|
- * Returns a pointer to the current file buffer.
|
|
- */
|
|
- filebuf * rdbuf();
|
|
- /**
|
|
- * 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.
|
|
- */
|
|
- void open( const char *name, int omode = ios::in,
|
|
- int prot = filebuf::openprot );
|
|
+ void open(const char name[], std::ios::openmode omode = std::ios::in);
|
|
};
|
|
|
|
#endif // Uses_ifpstream
|
|
|
|
/* ------------------------------------------------------------------------*/
|
|
-/* */
|
|
/* class ofpstream */
|
|
-/* */
|
|
-/* Base class for writing streamable objects to file streams */
|
|
-/* */
|
|
/* ------------------------------------------------------------------------*/
|
|
|
|
#if defined( Uses_ofpstream ) && !defined( __ofpstream )
|
|
#define __ofpstream
|
|
|
|
-#include <iostream.h>
|
|
-
|
|
/**
|
|
- * Class ofpstream is a simple "mix" of its bases, @ref fpbase and
|
|
- * @ref opstream. It provides the base class for writing (inserting)
|
|
+ * ofpstream provides the base class for writing (inserting)
|
|
* streamable objects to file streams.
|
|
- * @short 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 fpbase, public opstream
|
|
-{
|
|
+class ofpstream : public opstream {
|
|
+ std::filebuf buf;
|
|
public:
|
|
- /**
|
|
- * Creates a buffered ofpstream object.
|
|
- */
|
|
ofpstream();
|
|
- /**
|
|
- * 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.
|
|
- */
|
|
- ofpstream( const char *name, int omode = ios::out, int prot =
|
|
- filebuf::openprot );
|
|
- /**
|
|
- * Creates a buffered ofpstream object. You can open a file and attach it
|
|
- * to the stream by specifying the file descriptor, `f'.
|
|
- */
|
|
- ofpstream( int f );
|
|
- /**
|
|
- * 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'.
|
|
- */
|
|
- ofpstream( int f, char *b, int len );
|
|
- /**
|
|
- * Destroys the ofpstream object.
|
|
- */
|
|
+ ofpstream(const char name[], std::ios::openmode omode = std::ios::out);
|
|
~ofpstream();
|
|
- /**
|
|
- * Returns the current file buffer.
|
|
- */
|
|
- filebuf * rdbuf();
|
|
- /**
|
|
- * 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.
|
|
- */
|
|
- void open( const char *name, int omode = ios::out,
|
|
- int prot = filebuf::openprot );
|
|
+ void open(const char name[], std::ios::openmode omode = std::ios::out);
|
|
};
|
|
|
|
#endif // Uses_ofpstream
|
|
|
|
/* ------------------------------------------------------------------------*/
|
|
-/* */
|
|
/* class fpstream */
|
|
-/* */
|
|
-/* Base class for reading and writing streamable objects to */
|
|
-/* bidirectional file streams */
|
|
-/* */
|
|
/* ------------------------------------------------------------------------*/
|
|
|
|
#if defined( Uses_fpstream ) && !defined( __fpstream )
|
|
#define __fpstream
|
|
|
|
-#include <iostream.h>
|
|
-
|
|
/**
|
|
- * fpstream is a simple "mix" of its bases, @ref fpbase and @ref 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.
|
|
- * @short Provides the base class for simultaneous writing and reading
|
|
- * streamable objects to bidirectional file streams
|
|
+ * 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 fpbase, public iopstream
|
|
-{
|
|
+class fpstream : public iopstream {
|
|
+ std::filebuf buf;
|
|
public:
|
|
- /**
|
|
- * Creates a buffered fpstream object.
|
|
- */
|
|
fpstream();
|
|
- /**
|
|
- * 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.
|
|
- */
|
|
- fpstream( const char *name, int omode, int prot = filebuf::openprot );
|
|
- /**
|
|
- * Creates a buffered fpstream object. You can open a file and attach it
|
|
- * to the stream by specifying the file descriptor, `f'.
|
|
- */
|
|
- fpstream( int f );
|
|
- /**
|
|
- * 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'.
|
|
- */
|
|
- fpstream( int f, char *b, int len );
|
|
- /**
|
|
- * Destroys the fpstream object.
|
|
- */
|
|
+ fpstream(const char name[], std::ios::openmode omode);
|
|
~fpstream();
|
|
- /**
|
|
- * Returns the data member bp.
|
|
- */
|
|
- filebuf * rdbuf();
|
|
- /**
|
|
- * 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 open( const char *name, int omode, int prot = filebuf::openprot );
|
|
+ void open(const char name[], std::ios::openmode omode);
|
|
};
|
|
|
|
#endif // Uses_fpstream
|
|
Index: lib/tv.h
|
|
===================================================================
|
|
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/lib/tv.h,v
|
|
retrieving revision 1.1
|
|
retrieving revision 1.4
|
|
diff -u -r1.1 -r1.4
|
|
--- lib/tv.h 20 Dec 2002 12:06:20 -0000 1.1
|
|
+++ lib/tv.h 27 Dec 2002 23:16:44 -0000 1.4
|
|
@@ -1,5 +1,5 @@
|
|
-/*
|
|
- * tv.h
|
|
+/**
|
|
+ * @file tv.h
|
|
*
|
|
* Turbo Vision - Version 2.0
|
|
*
|
|
@@ -36,11 +36,9 @@
|
|
|
|
*
|
|
* Modified by Sergio Sigala <sergio@sigala.it>
|
|
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
|
|
*/
|
|
|
|
-/** \file tv.h
|
|
- * tv.h
|
|
- */
|
|
|
|
#define _TV_VERSION 0x0200
|
|
|
|
@@ -375,10 +373,6 @@
|
|
#if defined( Uses_TDialog )
|
|
#define Uses_TWindow
|
|
#define __INC_DIALOGS_H
|
|
-#endif
|
|
-
|
|
-#if defined( Uses_TVMemMgr )
|
|
-#define __INC_BUFFERS_H
|
|
#endif
|
|
|
|
#if defined( Uses_TWindow )
|
|
Index: lib/tvobjs.h
|
|
===================================================================
|
|
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/lib/tvobjs.h,v
|
|
retrieving revision 1.1
|
|
retrieving revision 1.2
|
|
diff -u -r1.1 -r1.2
|
|
--- lib/tvobjs.h 20 Dec 2002 12:06:20 -0000 1.1
|
|
+++ lib/tvobjs.h 27 Dec 2002 23:16:44 -0000 1.2
|
|
@@ -42,7 +42,7 @@
|
|
* Destroys the object pointed by `o'.
|
|
*
|
|
* destroy() deletes an object `o' of a type derived from TObject; that
|
|
- * is, any object created with operator new(). destroy() terminates the
|
|
+ * 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'.
|
|
Index: lib/util.h
|
|
===================================================================
|
|
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/lib/util.h,v
|
|
retrieving revision 1.1
|
|
retrieving revision 1.5
|
|
diff -u -r1.1 -r1.5
|
|
--- lib/util.h 20 Dec 2002 12:06:20 -0000 1.1
|
|
+++ lib/util.h 27 Dec 2002 23:16:44 -0000 1.5
|
|
@@ -1,5 +1,5 @@
|
|
/*
|
|
- * util.h
|
|
+ * @file util.h
|
|
*
|
|
* Turbo Vision - Version 2.0
|
|
*
|
|
@@ -7,14 +7,13 @@
|
|
* All Rights Reserved.
|
|
*
|
|
* Modified by Sergio Sigala <sergio@sigala.it>
|
|
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
|
|
*/
|
|
|
|
#if !defined( __UTIL_H )
|
|
#define __UTIL_H
|
|
|
|
-/** \file util.h
|
|
- * util.h
|
|
- */
|
|
+#include <streambuf>
|
|
|
|
/**
|
|
* Undocumented.
|
|
@@ -166,13 +165,6 @@
|
|
*/
|
|
void *message( TView *receiver, ushort what, ushort command, void *infoPtr );
|
|
|
|
-/** \fn lowMemory()
|
|
- * Calls TVMemMgr::safetyPoolExhausted() to check the state of the safety
|
|
- * pool.
|
|
- * @see TVMemMgr::safetyPoolExhausted
|
|
- */
|
|
-Boolean lowMemory();
|
|
-
|
|
/** \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
|
|
@@ -209,9 +201,7 @@
|
|
* Undocumented.
|
|
*/
|
|
void expandPath(const char *path, char *dir, char *file);
|
|
-/**
|
|
- * Undocumented.
|
|
- */
|
|
-long int filelength(int fd);
|
|
+
|
|
+std::streampos filelength(std::istream &s);
|
|
|
|
#endif // __UTIL_H
|
|
Index: tutorial/background.cc
|
|
===================================================================
|
|
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/tutorial/background.cc,v
|
|
retrieving revision 1.1
|
|
retrieving revision 1.4
|
|
diff -u -r1.1 -r1.4
|
|
--- tutorial/background.cc 20 Dec 2002 12:06:23 -0000 1.1
|
|
+++ tutorial/background.cc 25 Dec 2002 14:10:19 -0000 1.4
|
|
@@ -2,6 +2,7 @@
|
|
* 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
|
|
@@ -20,7 +21,7 @@
|
|
{
|
|
}
|
|
|
|
-void main()
|
|
+int main()
|
|
{
|
|
TDeskTop::defaultBkgrnd = '?';
|
|
Demo a;
|
|
Index: tutorial/load.cc
|
|
===================================================================
|
|
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/tutorial/load.cc,v
|
|
retrieving revision 1.1
|
|
retrieving revision 1.3
|
|
diff -u -r1.1 -r1.3
|
|
--- tutorial/load.cc 20 Dec 2002 12:06:23 -0000 1.1
|
|
+++ tutorial/load.cc 25 Dec 2002 14:10:19 -0000 1.3
|
|
@@ -2,6 +2,7 @@
|
|
* TVision example: how to create custom views
|
|
*
|
|
* Written by Sergio Sigala <sergio@sigala.it>
|
|
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
|
|
*/
|
|
|
|
#define Uses_TApplication
|
|
@@ -18,10 +19,13 @@
|
|
|
|
#include <tvision/tv.h>
|
|
|
|
-#include <fstream.h>
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include <time.h>
|
|
+
|
|
+#include <fstream>
|
|
+
|
|
+using std::ifstream;
|
|
|
|
enum
|
|
{
|
|
Index: tutorial/nomenus.cc
|
|
===================================================================
|
|
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/tutorial/nomenus.cc,v
|
|
retrieving revision 1.1
|
|
retrieving revision 1.3
|
|
diff -u -r1.1 -r1.3
|
|
--- tutorial/nomenus.cc 20 Dec 2002 12:06:23 -0000 1.1
|
|
+++ tutorial/nomenus.cc 25 Dec 2002 14:10:19 -0000 1.3
|
|
@@ -2,6 +2,7 @@
|
|
* 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
|
|
@@ -80,7 +81,7 @@
|
|
{
|
|
public:
|
|
TMyApp();
|
|
- ushort doWork();
|
|
+ void doWork();
|
|
ushort newDialog(DialogData &data);
|
|
static TDeskTop *initDeskTop(TRect r);
|
|
};
|
|
@@ -163,7 +164,7 @@
|
|
|
|
//open dialogs here
|
|
|
|
-ushort TMyApp::doWork()
|
|
+void TMyApp::doWork()
|
|
{
|
|
messageBox("\003Welcome to the cheese ordering system",
|
|
mfInformation + mfOKButton);
|
|
Index: tutorial/splash.cc
|
|
===================================================================
|
|
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/tutorial/splash.cc,v
|
|
retrieving revision 1.1
|
|
retrieving revision 1.4
|
|
diff -u -r1.1 -r1.4
|
|
--- tutorial/splash.cc 20 Dec 2002 12:06:23 -0000 1.1
|
|
+++ tutorial/splash.cc 25 Dec 2002 14:10:19 -0000 1.4
|
|
@@ -2,6 +2,7 @@
|
|
* 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
|
|
@@ -84,7 +85,7 @@
|
|
executeDialog(aboutBox);
|
|
}
|
|
|
|
-void main()
|
|
+int main()
|
|
{
|
|
Demo a;
|
|
a.run();
|
|
Index: tutorial/tvedit.cc
|
|
===================================================================
|
|
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/tutorial/tvedit.cc,v
|
|
retrieving revision 1.1
|
|
retrieving revision 1.4
|
|
diff -u -r1.1 -r1.4
|
|
--- tutorial/tvedit.cc 20 Dec 2002 12:06:23 -0000 1.1
|
|
+++ tutorial/tvedit.cc 25 Dec 2002 14:10:19 -0000 1.4
|
|
@@ -2,6 +2,7 @@
|
|
* TVision example: a simple text editor
|
|
*
|
|
* Written by Sergio Sigala <sergio@sigala.it>
|
|
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
|
|
*/
|
|
|
|
#define Uses_MsgBox
|
|
@@ -27,13 +28,13 @@
|
|
#define Uses_TStatusItem
|
|
#define Uses_TStatusLine
|
|
#define Uses_TSubMenu
|
|
-
|
|
-#include <fstream.h>
|
|
-#include <signal.h>
|
|
-#include <stdarg.h>
|
|
-#include <stdio.h>
|
|
#include <tvision/tv.h>
|
|
|
|
+#include <assert.h>
|
|
+extern "C" {
|
|
+ #include <signal.h>
|
|
+}
|
|
+
|
|
//new command codes; standard commands are defined in views.h
|
|
|
|
enum
|
|
@@ -235,6 +235,8 @@
|
|
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
|
|
Index: tutorial/tvguid04.cc
|
|
===================================================================
|
|
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/tutorial/tvguid04.cc,v
|
|
retrieving revision 1.1
|
|
retrieving revision 1.3
|
|
diff -u -r1.1 -r1.3
|
|
--- tutorial/tvguid04.cc 20 Dec 2002 12:06:23 -0000 1.1
|
|
+++ tutorial/tvguid04.cc 25 Dec 2002 14:10:19 -0000 1.3
|
|
@@ -7,10 +7,9 @@
|
|
/*---------------------------------------------------------*/
|
|
/*
|
|
* Modified by Sergio Sigala <sergio@sigala.it>
|
|
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
|
|
*/
|
|
|
|
-#include <stdlib.h> // for random()
|
|
-
|
|
#define Uses_TEvent
|
|
#define Uses_TApplication
|
|
#define Uses_TKeys
|
|
@@ -24,6 +23,8 @@
|
|
#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;
|
|
Index: tutorial/tvguid05.cc
|
|
===================================================================
|
|
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/tutorial/tvguid05.cc,v
|
|
retrieving revision 1.1
|
|
retrieving revision 1.3
|
|
diff -u -r1.1 -r1.3
|
|
--- tutorial/tvguid05.cc 20 Dec 2002 12:06:23 -0000 1.1
|
|
+++ tutorial/tvguid05.cc 25 Dec 2002 14:10:19 -0000 1.3
|
|
@@ -7,10 +7,9 @@
|
|
/*---------------------------------------------------------*/
|
|
/*
|
|
* Modified by Sergio Sigala <sergio@sigala.it>
|
|
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
|
|
*/
|
|
|
|
-#include <stdlib.h> // for random()
|
|
-
|
|
#define Uses_TEventQueue
|
|
#define Uses_TEvent
|
|
#define Uses_TApplication
|
|
@@ -26,6 +25,8 @@
|
|
#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;
|
|
Index: tutorial/tvguid06.cc
|
|
===================================================================
|
|
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/tutorial/tvguid06.cc,v
|
|
retrieving revision 1.1
|
|
retrieving revision 1.3
|
|
diff -u -r1.1 -r1.3
|
|
--- tutorial/tvguid06.cc 20 Dec 2002 12:06:23 -0000 1.1
|
|
+++ tutorial/tvguid06.cc 25 Dec 2002 14:10:20 -0000 1.3
|
|
@@ -7,17 +7,11 @@
|
|
/*---------------------------------------------------------*/
|
|
/*
|
|
* Modified by Sergio Sigala <sergio@sigala.it>
|
|
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
|
|
*/
|
|
|
|
/****** imperfect draw method--see tvguid07 for improvement *****/
|
|
|
|
-#include <stdlib.h> // for exit(), random()
|
|
-#include <iostream.h>
|
|
-#include <fstream.h> // for ifstream
|
|
-#include <stdio.h> // for puts() etc
|
|
-#include <string.h> // for strlen etc
|
|
-#include <ctype.h>
|
|
-
|
|
#define Uses_TEventQueue
|
|
#define Uses_TEvent
|
|
#define Uses_TProgram
|
|
@@ -34,6 +28,18 @@
|
|
#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;
|
|
Index: tutorial/tvguid07.cc
|
|
===================================================================
|
|
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/tutorial/tvguid07.cc,v
|
|
retrieving revision 1.1
|
|
retrieving revision 1.3
|
|
diff -u -r1.1 -r1.3
|
|
--- tutorial/tvguid07.cc 20 Dec 2002 12:06:23 -0000 1.1
|
|
+++ tutorial/tvguid07.cc 25 Dec 2002 14:10:20 -0000 1.3
|
|
@@ -7,17 +7,11 @@
|
|
/*---------------------------------------------------------*/
|
|
/*
|
|
* Modified by Sergio Sigala <sergio@sigala.it>
|
|
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
|
|
*/
|
|
|
|
// same as tvguid06 except for improved draw method
|
|
|
|
-#include <stdlib.h> // for exit(), random()
|
|
-#include <iostream.h>
|
|
-#include <fstream.h> // for ifstream
|
|
-#include <stdio.h> // for puts() etc
|
|
-#include <string.h> // for strlen etc
|
|
-#include <ctype.h>
|
|
-
|
|
#define Uses_TEventQueue
|
|
#define Uses_TEvent
|
|
#define Uses_TProgram
|
|
@@ -34,6 +28,18 @@
|
|
#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;
|
|
Index: tutorial/tvguid08.cc
|
|
===================================================================
|
|
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/tutorial/tvguid08.cc,v
|
|
retrieving revision 1.1
|
|
retrieving revision 1.3
|
|
diff -u -r1.1 -r1.3
|
|
--- tutorial/tvguid08.cc 20 Dec 2002 12:06:23 -0000 1.1
|
|
+++ tutorial/tvguid08.cc 25 Dec 2002 14:10:20 -0000 1.3
|
|
@@ -7,18 +7,12 @@
|
|
/*---------------------------------------------------------*/
|
|
/*
|
|
* Modified by Sergio Sigala <sergio@sigala.it>
|
|
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
|
|
*/
|
|
|
|
// same as tvguid07 except for scrolling interior
|
|
// add TDemoWindow::makeInterior
|
|
|
|
-#include <stdlib.h> // for exit(), random()
|
|
-#include <iostream.h>
|
|
-#include <fstream.h> // for ifstream
|
|
-#include <stdio.h> // for puts() etc
|
|
-#include <string.h> // for strlen etc
|
|
-#include <ctype.h>
|
|
-
|
|
#define Uses_TEventQueue
|
|
#define Uses_TEvent
|
|
#define Uses_TProgram
|
|
@@ -37,6 +31,18 @@
|
|
#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;
|
|
Index: tutorial/tvguid09.cc
|
|
===================================================================
|
|
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/tutorial/tvguid09.cc,v
|
|
retrieving revision 1.1
|
|
retrieving revision 1.3
|
|
diff -u -r1.1 -r1.3
|
|
--- tutorial/tvguid09.cc 20 Dec 2002 12:06:23 -0000 1.1
|
|
+++ tutorial/tvguid09.cc 25 Dec 2002 14:10:20 -0000 1.3
|
|
@@ -7,18 +7,12 @@
|
|
/*---------------------------------------------------------*/
|
|
/*
|
|
* 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
|
|
|
|
-#include <stdlib.h> // for exit(), random()
|
|
-#include <iostream.h>
|
|
-#include <fstream.h> // for ifstream
|
|
-#include <stdio.h> // for puts() etc
|
|
-#include <string.h> // for strlen etc
|
|
-#include <ctype.h>
|
|
-
|
|
#define Uses_TEventQueue
|
|
#define Uses_TEvent
|
|
#define Uses_TProgram
|
|
@@ -38,6 +32,18 @@
|
|
#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;
|
|
Index: tutorial/tvguid10.cc
|
|
===================================================================
|
|
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/tutorial/tvguid10.cc,v
|
|
retrieving revision 1.1
|
|
retrieving revision 1.3
|
|
diff -u -r1.1 -r1.3
|
|
--- tutorial/tvguid10.cc 20 Dec 2002 12:06:23 -0000 1.1
|
|
+++ tutorial/tvguid10.cc 25 Dec 2002 14:10:20 -0000 1.3
|
|
@@ -7,18 +7,12 @@
|
|
/*---------------------------------------------------------*/
|
|
/*
|
|
* 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
|
|
|
|
-#include <stdlib.h> // for exit(), random()
|
|
-#include <iostream.h>
|
|
-#include <fstream.h> // for ifstream
|
|
-#include <stdio.h> // for puts() etc
|
|
-#include <string.h> // for strlen etc
|
|
-#include <ctype.h>
|
|
-
|
|
#define Uses_TEventQueue
|
|
#define Uses_TEvent
|
|
#define Uses_TProgram
|
|
@@ -38,6 +32,18 @@
|
|
#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;
|
|
Index: tutorial/tvguid11.cc
|
|
===================================================================
|
|
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/tutorial/tvguid11.cc,v
|
|
retrieving revision 1.1
|
|
retrieving revision 1.3
|
|
diff -u -r1.1 -r1.3
|
|
--- tutorial/tvguid11.cc 20 Dec 2002 12:06:23 -0000 1.1
|
|
+++ tutorial/tvguid11.cc 25 Dec 2002 14:10:20 -0000 1.3
|
|
@@ -7,18 +7,12 @@
|
|
/*---------------------------------------------------------*/
|
|
/*
|
|
* Modified by Sergio Sigala <sergio@sigala.it>
|
|
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
|
|
*/
|
|
|
|
// same as tvguid10 except for added dialog box
|
|
// modify TMyApp
|
|
|
|
-#include <stdlib.h> // for exit(), random()
|
|
-#include <iostream.h>
|
|
-#include <fstream.h> // for ifstream
|
|
-#include <stdio.h> // for puts() etc
|
|
-#include <string.h> // for strlen etc
|
|
-#include <ctype.h>
|
|
-
|
|
#define Uses_TEventQueue
|
|
#define Uses_TEvent
|
|
#define Uses_TProgram
|
|
@@ -38,6 +32,18 @@
|
|
#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
|
|
|
|
Index: tutorial/tvguid12.cc
|
|
===================================================================
|
|
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/tutorial/tvguid12.cc,v
|
|
retrieving revision 1.1
|
|
retrieving revision 1.3
|
|
diff -u -r1.1 -r1.3
|
|
--- tutorial/tvguid12.cc 20 Dec 2002 12:06:23 -0000 1.1
|
|
+++ tutorial/tvguid12.cc 25 Dec 2002 14:10:20 -0000 1.3
|
|
@@ -7,18 +7,12 @@
|
|
/*---------------------------------------------------------*/
|
|
/*
|
|
* 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
|
|
|
|
-#include <stdlib.h> // for exit(), random()
|
|
-#include <iostream.h>
|
|
-#include <fstream.h> // for ifstream
|
|
-#include <stdio.h> // for puts() etc
|
|
-#include <string.h> // for strlen etc
|
|
-#include <ctype.h>
|
|
-
|
|
#define Uses_TEventQueue
|
|
#define Uses_TEvent
|
|
#define Uses_TProgram
|
|
@@ -38,6 +32,18 @@
|
|
#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;
|
|
Index: tutorial/tvguid13.cc
|
|
===================================================================
|
|
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/tutorial/tvguid13.cc,v
|
|
retrieving revision 1.1
|
|
retrieving revision 1.3
|
|
diff -u -r1.1 -r1.3
|
|
--- tutorial/tvguid13.cc 20 Dec 2002 12:06:23 -0000 1.1
|
|
+++ tutorial/tvguid13.cc 25 Dec 2002 14:10:20 -0000 1.3
|
|
@@ -7,18 +7,12 @@
|
|
/*---------------------------------------------------------*/
|
|
/*
|
|
* 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
|
|
|
|
-#include <stdlib.h> // for exit(), random()
|
|
-#include <iostream.h>
|
|
-#include <fstream.h> // for ifstream
|
|
-#include <stdio.h> // for puts() etc
|
|
-#include <string.h> // for strlen etc
|
|
-#include <ctype.h>
|
|
-
|
|
#define Uses_TEventQueue
|
|
#define Uses_TEvent
|
|
#define Uses_TProgram
|
|
@@ -39,6 +33,18 @@
|
|
#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
|
|
|
|
Index: tutorial/tvguid14.cc
|
|
===================================================================
|
|
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/tutorial/tvguid14.cc,v
|
|
retrieving revision 1.1
|
|
retrieving revision 1.3
|
|
diff -u -r1.1 -r1.3
|
|
--- tutorial/tvguid14.cc 20 Dec 2002 12:06:23 -0000 1.1
|
|
+++ tutorial/tvguid14.cc 25 Dec 2002 14:10:20 -0000 1.3
|
|
@@ -7,18 +7,12 @@
|
|
/*---------------------------------------------------------*/
|
|
/*
|
|
* 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
|
|
|
|
-#include <stdlib.h> // for exit(), random()
|
|
-#include <iostream.h>
|
|
-#include <fstream.h> // for ifstream
|
|
-#include <stdio.h> // for puts() etc
|
|
-#include <string.h> // for strlen etc
|
|
-#include <ctype.h>
|
|
-
|
|
#define Uses_TEventQueue
|
|
#define Uses_TEvent
|
|
#define Uses_TProgram
|
|
@@ -43,6 +37,18 @@
|
|
#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
|
|
|
|
Index: tutorial/tvguid15.cc
|
|
===================================================================
|
|
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/tutorial/tvguid15.cc,v
|
|
retrieving revision 1.1
|
|
retrieving revision 1.3
|
|
diff -u -r1.1 -r1.3
|
|
--- tutorial/tvguid15.cc 20 Dec 2002 12:06:23 -0000 1.1
|
|
+++ tutorial/tvguid15.cc 25 Dec 2002 14:10:20 -0000 1.3
|
|
@@ -7,18 +7,12 @@
|
|
/*---------------------------------------------------------*/
|
|
/*
|
|
* 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
|
|
|
|
-#include <stdlib.h> // for exit(), random()
|
|
-#include <iostream.h>
|
|
-#include <fstream.h> // for ifstream
|
|
-#include <stdio.h> // for puts() etc
|
|
-#include <string.h> // for strlen etc
|
|
-#include <ctype.h>
|
|
-
|
|
#define Uses_TEventQueue
|
|
#define Uses_TEvent
|
|
#define Uses_TProgram
|
|
@@ -45,6 +39,17 @@
|
|
#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
|
|
|
|
Index: tutorial/tvguid16.cc
|
|
===================================================================
|
|
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/tutorial/tvguid16.cc,v
|
|
retrieving revision 1.1
|
|
retrieving revision 1.4
|
|
diff -u -r1.1 -r1.4
|
|
--- tutorial/tvguid16.cc 20 Dec 2002 12:06:23 -0000 1.1
|
|
+++ tutorial/tvguid16.cc 25 Dec 2002 14:10:20 -0000 1.4
|
|
@@ -7,18 +7,12 @@
|
|
/*---------------------------------------------------------*/
|
|
/*
|
|
* 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
|
|
|
|
-#include <stdlib.h> // for exit(), random()
|
|
-#include <iostream.h>
|
|
-#include <fstream.h> // for ifstream
|
|
-#include <stdio.h> // for puts() etc
|
|
-#include <string.h> // for strlen etc
|
|
-#include <ctype.h>
|
|
-
|
|
#define Uses_TEventQueue
|
|
#define Uses_TEvent
|
|
#define Uses_TProgram
|
|
@@ -45,6 +39,17 @@
|
|
#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;
|
|
Index: tutorial/tvlife.cc
|
|
===================================================================
|
|
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/tutorial/tvlife.cc,v
|
|
retrieving revision 1.1
|
|
retrieving revision 1.3
|
|
diff -u -r1.1 -r1.3
|
|
--- tutorial/tvlife.cc 20 Dec 2002 12:06:23 -0000 1.1
|
|
+++ tutorial/tvlife.cc 25 Dec 2002 14:10:20 -0000 1.3
|
|
@@ -7,6 +7,8 @@
|
|
* 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
|
|
@@ -22,9 +24,9 @@
|
|
#define Uses_TStatusLine
|
|
#define Uses_TSubMenu
|
|
#define Uses_TWindow
|
|
+#include <tvision/tv.h>
|
|
|
|
#include <stdlib.h>
|
|
-#include <tvision/tv.h>
|
|
|
|
enum
|
|
{
|
|
@@ -463,8 +465,8 @@
|
|
|
|
#define NPATS (sizeof patterns / sizeof patterns[0])
|
|
|
|
-TLifeInterior::TLifeInterior(TRect& bounds): TView(bounds), board(0),
|
|
- running(0)
|
|
+TLifeInterior::TLifeInterior(TRect& bounds)
|
|
+ : TView(bounds), running(0), board(NULL)
|
|
{
|
|
eventMask = evMouseDown | evKeyDown | evCommand | evBroadcast;
|
|
growMode = gfGrowHiX | gfGrowHiY;
|
|
@@ -528,16 +530,17 @@
|
|
|
|
#if 1
|
|
int i = size.x * size.y;
|
|
- ushort buf[size.x * size.y];
|
|
+ ushort *buf = new ushort[i];
|
|
ushort *to = buf;
|
|
|
|
while (i-- > 0)
|
|
{
|
|
- if (*from++ != 0) *to = (color << 8) | '*';
|
|
- else *to = (color << 8) | ' ';
|
|
+ *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);
|
|
@@ -806,7 +809,7 @@
|
|
wc += cmRandom;
|
|
wc += cmStartStop;
|
|
wc += cmTile;
|
|
- for (int i = 0; i < NPATS; i++) //scan pattern commands
|
|
+ for (uint i = 0; i < NPATS; i++) //scan pattern commands
|
|
{
|
|
wc += cmPat01 + i; //add pattern commands
|
|
}
|
|
Index: tutorial/validator.cc
|
|
===================================================================
|
|
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/tutorial/validator.cc,v
|
|
retrieving revision 1.1
|
|
retrieving revision 1.5
|
|
diff -u -r1.1 -r1.5
|
|
--- tutorial/validator.cc 20 Dec 2002 12:06:23 -0000 1.1
|
|
+++ tutorial/validator.cc 25 Dec 2002 14:10:21 -0000 1.5
|
|
@@ -2,6 +2,7 @@
|
|
* 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
|
|
@@ -82,7 +83,6 @@
|
|
TWindowInit( &TDialog::initFrame )
|
|
{
|
|
TInputLine *line;
|
|
- TScrollBar *bar;
|
|
TView *obj;
|
|
|
|
options |= ofCentered;
|
|
@@ -130,7 +130,7 @@
|
|
selectNext(False);
|
|
}
|
|
|
|
-void main()
|
|
+int main()
|
|
{
|
|
Demo a;
|
|
a.run();
|
|
Index: tvhc/tvhc.cc
|
|
===================================================================
|
|
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/tvhc/tvhc.cc,v
|
|
retrieving revision 1.1
|
|
retrieving revision 1.5
|
|
diff -u -r1.1 -r1.5
|
|
--- tvhc/tvhc.cc 20 Dec 2002 12:06:25 -0000 1.1
|
|
+++ tvhc/tvhc.cc 25 Dec 2002 14:10:22 -0000 1.5
|
|
@@ -9,6 +9,7 @@
|
|
/*
|
|
* 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 ============================================================*/
|
|
@@ -88,26 +89,51 @@
|
|
#include <tv.h>
|
|
|
|
#include "tvhc.h"
|
|
+
|
|
#include <string.h>
|
|
#include <limits.h>
|
|
#include <unistd.h>
|
|
#include <ctype.h>
|
|
#include <stdlib.h>
|
|
-#include <fstream.h>
|
|
-#include <strstream.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, ushort aMode ) :
|
|
+TProtectedStream::TProtectedStream( char *aFileName, ios::openmode aMode) :
|
|
fstream( aFileName, aMode )
|
|
{
|
|
strcpy(fileName, aFileName);
|
|
mode = aMode;
|
|
}
|
|
|
|
-void error(char *text);
|
|
-
|
|
//----- 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 //
|
|
@@ -121,8 +147,8 @@
|
|
char name[MAXFILE];
|
|
char ext[MAXEXT];
|
|
char drive[MAXDRIVE];
|
|
- char buffer[MAXPATH];
|
|
- ostrstream os(buffer, MAXPATH);
|
|
+ string buffer;
|
|
+ ostringstream os(buffer);
|
|
|
|
fnsplit(fileName, drive, dir, name, ext);
|
|
if (force || (strlen(ext) == 0))
|
|
@@ -139,12 +165,10 @@
|
|
// Returns true if the file exists false otherwise. /
|
|
//-----------------------------------------------------------------------/
|
|
|
|
-Boolean fExists(char *fileName)
|
|
+static bool
|
|
+fExists(const string &fileName)
|
|
{
|
|
- if (access(fileName, R_OK) != 0)
|
|
- return(False);
|
|
- else
|
|
- return(True);
|
|
+ return (access(fileName.c_str(), R_OK) == 0) ? true : false;
|
|
}
|
|
|
|
//======================== Line Management ==============================//
|
|
@@ -194,7 +218,8 @@
|
|
// Used by Error and Warning to print the message. //
|
|
//-----------------------------------------------------------------------//
|
|
|
|
-void prntMsg( char *pref, char *text )
|
|
+void
|
|
+prntMsg(const string &pref, char *text)
|
|
{
|
|
if (lineCount > 0)
|
|
cout << pref << ": " << helpName << "("
|
|
@@ -208,7 +233,8 @@
|
|
// Used to indicate an error. Terminates the program //
|
|
//-----------------------------------------------------------------------//
|
|
|
|
-void error( char *text )
|
|
+void
|
|
+error(char *text)
|
|
{
|
|
prntMsg("Error", text);
|
|
exit(1);
|
|
@@ -852,7 +878,7 @@
|
|
void doWriteSymbol(void *p, void *p1)
|
|
{
|
|
int numBlanks, i;
|
|
- ostrstream os(line, MAXSTRSIZE);
|
|
+ ostringstream os(line);
|
|
|
|
TProtectedStream *symbFile = (TProtectedStream *)p1;
|
|
if (((TReference *)p)->resolved )
|
|
@@ -868,7 +894,7 @@
|
|
{
|
|
os << "Unresolved forward reference \""
|
|
<< ((TReference *)p)->topic << "\"" << ends;
|
|
- warning(os.str());
|
|
+ warning(const_cast<char *>(os.str().c_str()));
|
|
}
|
|
}
|
|
|
|
@@ -910,25 +936,25 @@
|
|
// it's ok to overwrite it. //
|
|
//----------------------------------------------------------------------//
|
|
|
|
-void checkOverwrite( char *fName )
|
|
+static void
|
|
+checkOverwrite(const string &fName)
|
|
{
|
|
- if (fExists(fName))
|
|
- {
|
|
+ if (fExists(fName)) {
|
|
cerr << "File already exists: " << fName << ". Overwrite? (y/n) ";
|
|
- char ch = ({ char s[MAXSTRSIZE]; cin >> s; s[0]; });
|
|
- if( toupper(ch) != 'Y' )
|
|
+
|
|
+ char ch;
|
|
+ cin >> ch;
|
|
+ if (toupper(ch) != 'Y') {
|
|
exit(1);
|
|
- }
|
|
+ }
|
|
+ }
|
|
}
|
|
|
|
//========================== Program Block ==========================//
|
|
|
|
-int main(int argc, char **argv)
|
|
+int
|
|
+main(int argc, char **argv)
|
|
{
|
|
- char* textName;
|
|
- char* symbName;
|
|
- fpstream* helpStrm;
|
|
-
|
|
// Banner messages
|
|
char initialText[] = "Help Compiler Version 1.0 Copyright (c) 1991"
|
|
" Borland International.\n";
|
|
@@ -949,25 +975,25 @@
|
|
}
|
|
|
|
// Calculate file names
|
|
- textName = argv[1];
|
|
+ char *textName = argv[1];
|
|
if (!fExists(textName))
|
|
{
|
|
strcpy(bufStr,"File ");
|
|
- strcat(bufStr,textName);
|
|
- strcat(bufStr," not found.");
|
|
+ strcat(bufStr, textName);
|
|
+ strcat(bufStr, " not found.");
|
|
error(bufStr);
|
|
}
|
|
|
|
helpName = argv[2];
|
|
- checkOverwrite( helpName );
|
|
+ checkOverwrite(helpName);
|
|
|
|
- symbName = argv[3];
|
|
- checkOverwrite( symbName );
|
|
+ char *symbName = argv[3];
|
|
+ checkOverwrite(symbName);
|
|
|
|
TProtectedStream textStrm(textName, ios::in);
|
|
TProtectedStream symbStrm(symbName, ios::out | ios::trunc);
|
|
|
|
- helpStrm = new fpstream(helpName, ios::out | ios::trunc);
|
|
- processText(textStrm, *helpStrm, symbStrm);
|
|
+ fpstream helpStrm(helpName, ios::out | ios::trunc);
|
|
+ processText(textStrm, helpStrm, symbStrm);
|
|
return 0;
|
|
}
|
|
Index: tvhc/tvhc.h
|
|
===================================================================
|
|
RCS file: /usr/home/cvs/repository/libh/lib/tvision/work/tvision-0.8/tvhc/tvhc.h,v
|
|
retrieving revision 1.1
|
|
retrieving revision 1.5
|
|
diff -u -r1.1 -r1.5
|
|
--- tvhc/tvhc.h 20 Dec 2002 12:06:25 -0000 1.1
|
|
+++ tvhc/tvhc.h 25 Dec 2002 14:10:22 -0000 1.5
|
|
@@ -8,6 +8,7 @@
|
|
|
|
/*
|
|
* Modified by Sergey Clushin <serg@lamport.ru>, <Clushin@deol.ru>
|
|
+ * Modified by Max Okumoto <okumoto@ucsd.edu>
|
|
*/
|
|
|
|
#if !defined( __TVHC_H )
|
|
@@ -21,25 +22,20 @@
|
|
|
|
#include "helpbase.h"
|
|
|
|
+#include <fstream>
|
|
|
|
const int MAXSIZE = 80;
|
|
-const int MAXSTRSIZE=256;
|
|
-const char commandChar[] = ".";
|
|
-const int bufferSize = 4096;
|
|
|
|
-typedef enum State { undefined, wrapping, notWrapping };
|
|
-
|
|
-class TProtectedStream : public fstream
|
|
+class TProtectedStream : public std::fstream
|
|
{
|
|
|
|
public:
|
|
-
|
|
- TProtectedStream( char *aFileName, ushort aMode );
|
|
+ TProtectedStream( char *aFileName, std::ios::openmode aMode );
|
|
|
|
private:
|
|
|
|
char fileName[MAXSIZE];
|
|
- ushort mode;
|
|
+ std::ios::openmode mode;
|
|
|
|
};
|
|
|
|
@@ -113,14 +109,5 @@
|
|
TTopicDefinition *next;
|
|
|
|
};
|
|
-
|
|
-char* helpName;
|
|
-uchar buffer[bufferSize];
|
|
-int ofs;
|
|
-TRefTable *refTable = 0;
|
|
-TCrossRefNode *xRefs;
|
|
-char line[MAXSTRSIZE] = "";
|
|
-Boolean lineInBuffer = False;
|
|
-int lineCount = 0;
|
|
|
|
#endif // __TVHC_H
|