diff options
Diffstat (limited to 'sigalatvision/lib/TParamText.cc')
-rw-r--r-- | sigalatvision/lib/TParamText.cc | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/sigalatvision/lib/TParamText.cc b/sigalatvision/lib/TParamText.cc new file mode 100644 index 0000000..1e067cf --- /dev/null +++ b/sigalatvision/lib/TParamText.cc @@ -0,0 +1,82 @@ +/* + * TParamText.cc + * + * Turbo Vision - Version 2.0 + * + * Copyright (c) 1994 by Borland International + * All Rights Reserved. + * + * Modified by Sergio Sigala <sergio@sigala.it> + */ + +#define Uses_TParamText +#include <tvision/tv.h> + +#include <stdarg.h> +#include <stdio.h> +#include <string.h> + +TParamText::TParamText( const TRect& bounds ) : + TStaticText(bounds, 0 ), + str( new char [256] ) +{ + str[0] = EOS; +} + +TParamText::~TParamText() +{ + delete str; +} + +void TParamText::getText( char *s ) +{ + if( str != 0 ) + strcpy( s, str ); + else + *s = EOS; +} + +int TParamText::getTextLen() +{ + return (str != 0) ? strlen( str ) : 0; +} + +void TParamText::setText( char *fmt, ... ) +{ + va_list ap; + + va_start( ap, fmt ); + vsprintf( str, fmt, ap ); + va_end( ap ); + + drawView(); +} + +#if !defined(NO_STREAMABLE) + +#ifndef __UNPATCHED +void TParamText::write( opstream& os ) +{ + TStaticText::write( os ); + os.writeString(str); +} + +void *TParamText::read( ipstream& is ) +{ + TStaticText::read( is ); + str = new char [256]; + is.readString(str, 256); + return this; +} +#endif + +TStreamable *TParamText::build() +{ + return new TParamText( streamableInit ); +} + +TParamText::TParamText( StreamableInit ) : TStaticText( streamableInit ) +{ +} + +#endif |