home *** CD-ROM | disk | FTP | other *** search
/ Power GUI Programming with VisualAge C++ / powergui.iso / powergui / debug / tracebox / trbrowse.hpp < prev    next >
Encoding:
C/C++ Source or Header  |  1996-10-29  |  3.0 KB  |  113 lines

  1. #ifndef _TRBROWSE_
  2. #define _TRBROWSE_
  3. //************************************************************
  4. // Problem Determination  - Trace Queue Browser
  5. //
  6. // Copyright (C) 1994, Law, Leong, Love, Olson, Tsuji.
  7. // Copyright (c) 1997 John Wiley & Sons, Inc. 
  8. // All Rights Reserved.
  9. //************************************************************
  10. #include <iframe.hpp>
  11. #include <icmdhdr.hpp>
  12. #include <icnrctl.hpp>
  13. #include <imenubar.hpp>
  14. #include <ithread.hpp>
  15. #include <ihandler.hpp>
  16. #include "querdr.hpp"
  17.  
  18. class TraceBrowser;
  19.  
  20.  
  21. // Handler to process Queue requests.
  22. class TraceBrowserHandler : public IHandler {
  23. public:
  24. /*------------------------------- Constructors -------------------------------*/
  25.   TraceBrowserHandler ( TraceBrowser& browser)
  26.        : browserWindow(browser) {}
  27.  
  28. protected:
  29. /*---------------------------- Event Dispatching -----------------------------*/
  30. virtual Boolean
  31.   dispatchHandlerEvent ( IEvent &event );
  32.  
  33. private:
  34.   TraceBrowser
  35.    &browserWindow;
  36.   TraceBrowserHandler (const TraceBrowserHandler&);
  37.   TraceBrowserHandler operator= (const TraceBrowserHandler&);
  38. };
  39.  
  40. // Command handler for Trace Browser.
  41. class TraceCommandHandler :  public ICommandHandler {
  42. public:
  43. /*------------------------------- Constructors -------------------------------*/
  44.   TraceCommandHandler ( TraceBrowser& browser)
  45.        : browserWindow(browser) {}
  46.  
  47. protected:
  48. /*----------------------------- Event Processing -----------------------------*/
  49. virtual Boolean
  50.   command       ( ICommandEvent& event );
  51.  
  52. private:
  53.   TraceBrowser
  54.    &browserWindow;
  55.   TraceCommandHandler           (const TraceCommandHandler&);
  56.   TraceCommandHandler operator= (const TraceCommandHandler&);
  57. };
  58.  
  59. // Main window
  60. class TraceBrowser : public IFrameWindow {
  61. public:
  62.  
  63. /*------------------------------- Constructors -------------------------------*/
  64.  TraceBrowser   ( const IString& queueName  );
  65.  
  66. /*------------------------------- Components ---------------------------------*/
  67. IContainerControl
  68.  &container     ( )  { return cnrWin;}
  69. QueueReader
  70.  &queueReader   ( )  { return reader;}
  71. IThread
  72.  &readerThread  ( )  { return thread; }
  73.  
  74. /*------------------------------- Enable Queue -------------------------------*/
  75. TraceBrowser
  76.  &enableReader  ( Boolean enable=true );
  77. Boolean
  78.  isReaderEnabled ( ) const;
  79.  
  80. /*------------------------------- AutoScroll ---------------------------------*/
  81. Boolean
  82.  isAutoScroll      ( ) const { return fautoScroll; };
  83. TraceBrowser
  84.   &enableAutoScroll( Boolean enable=true );
  85.  
  86. /*------------------------------- Message Status -----------------------------*/
  87. TraceBrowser
  88.   &setWaitCursor( Boolean wait = true );
  89.  
  90. Boolean
  91.   isMessageWaiting() const;
  92.  
  93. private:
  94. TraceBrowserHandler
  95.   queueHandler;
  96. TraceCommandHandler
  97.   commandHandler;
  98. IContainerControl
  99.   cnrWin;
  100. QueueReader
  101.   reader;
  102. IThread
  103.   thread;
  104. IMenuBar
  105.   menuBar;
  106. Boolean
  107.   fautoScroll,
  108.   fwaitCursor;
  109. TraceBrowser            (const TraceBrowser& );
  110. TraceBrowser& operator= (const TraceBrowser& );
  111. };
  112. #endif  // _TRBROWSE_
  113.