home *** CD-ROM | disk | FTP | other *** search
/ Power GUI Programming with VisualAge C++ / powergui.iso / powergui / advframe / winview / hwinobj.hpp < prev    next >
Encoding:
C/C++ Source or Header  |  1996-10-29  |  2.1 KB  |  96 lines

  1. #ifndef _HWINOBJ_
  2. #define _HWINOBJ_
  3. //************************************************************
  4. // Advanced Frame - Window Viewer Example
  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 <icnrctl.hpp>
  12. #include <icnrmhdr.hpp>
  13. #include <ititle.hpp>
  14. #include "hwindow.hpp"
  15.  
  16. class IString;
  17. class HWindowObjectView;
  18.  
  19. class HWindowObject : public IContainerObject {
  20. public:
  21.   HWindowObject ( const HWindow&     hwindow,
  22.                   unsigned long      iconId,
  23.                   IContainerControl* cnr );
  24. virtual
  25.   ~HWindowObject();
  26.  
  27. virtual void
  28.  handleOpen( IContainerControl* cnr );
  29. virtual HWindowObject
  30.  &openIconView( );
  31. virtual Boolean
  32.  isIconViewAvailable( ) const;
  33. virtual HWindowObject
  34.  &openInfoView( );
  35. virtual HWindowObjectView
  36.  &infoView ( );
  37. virtual HWindowObjectView
  38.  &iconView ( );
  39. virtual HWindowObject
  40.  &viewClosed ( HWindowObjectView* view );
  41. virtual IContainerControl
  42.  *container ( ) const;
  43. const HWindow
  44.  &hWindow( ) const;
  45.  
  46.  
  47. protected:
  48. virtual HWindowObjectView
  49.  *newIconView ( );
  50. virtual HWindowObjectView
  51.  *newInfoView ( );
  52.  
  53. private:
  54. IContainerControl
  55.  *objCnr;
  56. HWindowObjectView
  57.  *ficonView;
  58. HWindowObjectView
  59.  *finfoView;
  60. HWindow
  61.  fhwindow;
  62. };
  63.  
  64. class HWindowObjectView : protected IFrameWindow {
  65. public:
  66.   ~HWindowObjectView ( );
  67. virtual HWindowObjectView
  68.  &open ( );
  69. virtual HWindowObjectView
  70.  &invalidateObject ( );
  71. protected:
  72.   HWindowObjectView ( IWindow*       client,
  73.                       HWindowObject& object,
  74.                       const IString& viewName );
  75. HWindowObject
  76.  *object ( ) const;
  77. private:
  78. ITitle
  79.   viewTitle;
  80. HWindowObject
  81.  *viewObj;
  82. HWindowObjectView ( const HWindowObjectView& );
  83. HWindowObjectView& operator=( const HWindowObjectView&);
  84. };
  85.  
  86. class MenuHandler : public ICnrMenuHandler {
  87. public:
  88.   MenuHandler(  );
  89. protected:
  90. virtual Boolean
  91.   makePopUpMenu( IMenuEvent& event );
  92. };
  93.  
  94.  
  95. #endif // _HWINOBJ_
  96.