home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / tv20os2.zip / demos / fileview.h < prev    next >
C/C++ Source or Header  |  1998-01-19  |  2KB  |  89 lines

  1. /*---------------------------------------------------------*/
  2. /*                                                         */
  3. /*   Fileview.h:  Header file for fileview.cpp.            */
  4. /*                                                         */
  5. /*---------------------------------------------------------*/
  6. /*
  7.  *      Turbo Vision - Version 2.0
  8.  *
  9.  *      Copyright (c) 1994 by Borland International
  10.  *      All Rights Reserved.
  11.  *
  12.  */
  13.  
  14. #if !defined( __FILEVIEW_H )
  15. #define __FILEVIEW_H
  16.  
  17. #define Uses_TCollection
  18. #define Uses_TScroller
  19. #define Uses_TWindow
  20. #include <tvision/tv.h>
  21.  
  22. const hlChangeDir = cmChangeDir;
  23.  
  24. class TLineCollection : public TCollection
  25. {
  26.  
  27. public:
  28.  
  29.     TLineCollection(short lim, short delta) : TCollection(lim, delta) {}
  30.     virtual void  freeItem(void *p) { delete p; }
  31.  
  32. private:
  33.  
  34.     virtual void *readItem( ipstream& ) { return 0; }
  35.     virtual void writeItem( void *, opstream& ) {}
  36.  
  37. };
  38.  
  39. class TFileViewer : public TScroller
  40. {
  41.  
  42. public:
  43.  
  44.     char *fileName;
  45.     TCollection *fileLines;
  46.     Boolean isValid;
  47.     TFileViewer( const TRect& bounds,
  48.                  TScrollBar *aHScrollBar,
  49.                  TScrollBar *aVScrollBar,
  50.                  const char *aFileName
  51.                );
  52.     ~TFileViewer();
  53.     TFileViewer( StreamableInit ) : TScroller(streamableInit) { };
  54.     void draw();
  55.     void readFile( const char *fName );
  56.     void setState( ushort aState, Boolean enable );
  57.     void scrollDraw();
  58.     Boolean valid( ushort command );
  59.  
  60. private:
  61.  
  62.     virtual const char *streamableName() const
  63.         { return name; }
  64.  
  65. protected:
  66.  
  67.     virtual void write( opstream& );
  68.     virtual void *read( ipstream& );
  69.  
  70. public:
  71.  
  72.     static const char * const name;
  73.     static TStreamable *build();
  74.  
  75. };
  76.  
  77. class TFileWindow : public TWindow
  78. {
  79.  
  80. public:
  81.  
  82.     TFileWindow( const char *fileName );
  83.  
  84. };
  85.  
  86. const int maxLineLength = 256;
  87.  
  88. #endif
  89.