home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 26 / CD_ASCQ_26_1295.iso / vrac / tvme30.zip / TMSGVIEW.H < prev    next >
C/C++ Source or Header  |  1995-08-02  |  2KB  |  92 lines

  1. // File    : TMSGVIEW.H
  2. // Author  : Eric Woodruff,  CIS ID: 72134,1150
  3. // Updated : Wed 08/02/95 17:54:19
  4. // Note    : Copyright 1994-95, Eric Woodruff, All rights reserved
  5. // Compiler: Borland C++ 3.1 to 4.xx
  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.     virtual void shutDown(void);
  50.  
  51.     virtual void getText(char *dest, short item, short maxLen);
  52.  
  53.     void insertMsg(long Line, char *Message);
  54. };
  55.  
  56. //
  57. // Message list window
  58. //   Palette Layout:
  59. //      1 = Frame passive
  60. //      2 = Frame active
  61. //      3 = Frame icons
  62. //      4 = Scrollbar page
  63. //      5 = Scrollbar controls
  64. //      6 = List normal text
  65. //      7 = List focused text (active)
  66. //      8 = List focused text (passive)
  67. //
  68. class TMsgViewWindow : public TWindow   // Define a new window class
  69. {
  70. private:
  71.     // Window will be hidden instead of closed if this is True.
  72.     // If so, you must destroy it manually.
  73.     Boolean HideOnClose;
  74.  
  75.     TMsgListViewer *msgList;
  76.  
  77. public:
  78.     Boolean isValid;
  79.  
  80.     TMsgViewWindow(const TRect &r, const char *aTitle,
  81.         Boolean HideOnly = False);
  82.     ~TMsgViewWindow();
  83.  
  84.     virtual TPalette &getPalette() const;
  85.     virtual Boolean valid(ushort command);
  86.     virtual void close();
  87.  
  88.     inline void insertMsg(long Line, char *Text)
  89.         {   msgList->insertMsg(Line, Text);    }
  90. };
  91.  
  92. #endif