home *** CD-ROM | disk | FTP | other *** search
/ POINT Software Programming / PPROG1.ISO / c / actlib11 / tvtools / fileview.h < prev    next >
C/C++ Source or Header  |  1993-01-14  |  2KB  |  93 lines

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