home *** CD-ROM | disk | FTP | other *** search
/ Power GUI Programming with VisualAge C++ / powergui.iso / powergui / advframe / mdi / editwin.hpp < prev    next >
Text File  |  1996-10-29  |  2KB  |  78 lines

  1. #ifndef _EDITWIN_
  2. #define _EDITWIN_
  3. //************************************************************
  4. // Advanced Frame - MDI Frame 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 <ititle.hpp>
  11. #include <icmdhdr.hpp>
  12. #include <imenubar.hpp>
  13. #include <imle.hpp>
  14. #include <istring.hpp>
  15. #include "mdiwin.hpp"
  16.  
  17. class MainWindow;
  18.  
  19. class CommandHandler : public ICommandHandler {
  20. public:
  21.   CommandHandler( MainWindow& frame );
  22. virtual Boolean
  23.   command( ICommandEvent& event );
  24. private:
  25.   MainWindow& fframe;
  26. CommandHandler( const CommandHandler& );
  27. CommandHandler& operator= ( const CommandHandler& );
  28. };
  29.  
  30. class EditWindow : protected MDIWindow {
  31. public:
  32.   EditWindow ( MDIWindow& parent, const IString& filename );
  33. virtual EditWindow
  34.  &open     ( );
  35. virtual EditWindow
  36.  &close    ( );
  37.  
  38. private:
  39. IString
  40.  fname;
  41. ITitle
  42.   title;
  43. IMultiLineEdit
  44.   fclient;
  45. EditWindow ( const EditWindow& );
  46. EditWindow& operator=( const EditWindow& );
  47. };
  48.  
  49. class MainWindow : public IVBase {
  50. public:
  51.   MainWindow ( );
  52.  
  53. virtual MainWindow
  54.  &openChild ( ),
  55.  &closeChild ( ),
  56.  &restoreChild( ),
  57.  &minimizeChild( ),
  58.  &activateChild( unsigned long childId );
  59.  
  60. virtual MainWindow
  61.  &arrange        ( ),
  62.  &cascade        ( ),
  63.  &tile           ( Boolean horizontal=true ),
  64.  &close          ( );
  65.  
  66. private:
  67. MDIWindow
  68.   frame;
  69. IMenuBar
  70.   menu;
  71. CommandHandler
  72.   handler;
  73. MainWindow ( const MainWindow& );
  74. MainWindow& operator=( const MainWindow& );
  75. };
  76.  
  77. #endif // _EDITWIN_
  78.