home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 17 / CD_ASCQ_17_101194.iso / vrac / ve2tv103.zip / TMSGVIEW.H < prev    next >
C/C++ Source or Header  |  1994-07-31  |  2KB  |  86 lines

  1. // File    : TMSGVIEW.H
  2. // Author  : Eric Woodruff,  CIS ID: 72134,1150
  3. // Updated : Sun 07/31/94 15:56:28
  4. // Note    : Copyright 1994, Eric Woodruff, All rights reserved
  5. // Compiler: Borland C++ 3.1 to 4.02
  6. //
  7. // Header file for the message viewer window.
  8. //
  9.  
  10. const
  11.     cmPrevMsg    = 230,         // Shouldn't interfere with anything else.
  12.     cmNextMsg    = 231;         // Can be disabled when viewer is closed.
  13.  
  14. #if defined(Uses_TMsgViewWindow)
  15.  
  16. #if !defined(Uses_TListViewer) || !defined(Uses_TWindow)
  17. #define Uses_TWindow
  18. #define Uses_TListViewer
  19. #include <tv.h>
  20. #endif
  21.  
  22. struct TMessage
  23. {
  24.     // All members public by default.
  25.     long Line;             // Line number in the source file.
  26.     char MsgEntry[250];    // Message text.
  27. };
  28.  
  29. //
  30. // Message list viewer
  31. //   Palette Layout:
  32. //      1 = Normal text (active)
  33. //      2 = Normal text (passive)
  34. //      3 = Focused text (active)
  35. //      4 = Focused text (passive)
  36. //
  37. class TMsgListViewer : public TListViewer
  38. {
  39. private:
  40.     TNSCollection *Msgs;
  41.  
  42. public:
  43.     TMsgListViewer(const TRect &bounds, TScrollBar *aHScrollBar,
  44.         TScrollBar *aVScrollBar);
  45.  
  46.     virtual TPalette &getPalette() const;
  47.     virtual void handleEvent(TEvent& event);
  48.     virtual void setState(ushort aState, Boolean enable);
  49.  
  50.     virtual void getText(char *dest, short item, short maxLen);
  51.  
  52.     void insertMsg(long Line, char *Message);
  53. };
  54.  
  55. //
  56. // Message list window
  57. //   Palette Layout:
  58. //      1 = Frame passive
  59. //      2 = Frame active
  60. //      3 = Frame icons
  61. //      4 = Scrollbar page
  62. //      5 = Scrollbar controls
  63. //      6 = List normal text
  64. //      7 = List focused text (active)
  65. //      8 = List focused text (passive)
  66. //
  67. class TMsgViewWindow : public TWindow   // Define a new window class
  68. {
  69. private:
  70.     TMsgListViewer *msgList;
  71.  
  72. public:
  73.     Boolean isValid;
  74.  
  75.     TMsgViewWindow(const TRect &r, const char *aTitle);
  76.     ~TMsgViewWindow();
  77.  
  78.     virtual TPalette &getPalette() const;
  79.     virtual Boolean valid(ushort command);
  80. //    virtual void close();       // Never really closed, just hidden.
  81.  
  82.     inline void insertMsg(long Line, char *Text)
  83.         {   msgList->insertMsg(Line, Text);    }
  84. };
  85.  
  86. #endif