home *** CD-ROM | disk | FTP | other *** search
/ Power GUI Programming with VisualAge C++ / powergui.iso / powergui / advframe / framesav / savhndlr.cpp < prev    next >
C/C++ Source or Header  |  1996-10-29  |  2KB  |  53 lines

  1. //************************************************************
  2. // Advanced Frame - Frame Save Handler
  3. //
  4. // Copyright (C) 1994, Law, Leong, Love, Olson, Tsuji.
  5. // Copyright (c) 1997 John Wiley & Sons, Inc. 
  6. // All Rights Reserved.
  7. //************************************************************
  8. #define INCL_WIN
  9. #include <os2.h>
  10. #include <iframe.hpp>
  11. #include <ihandler.hpp>
  12. #include <istring.hpp>
  13. #include "savhndlr.hpp"
  14.  
  15. // Construct the handler with a frame window and
  16. // application name.
  17. SaveHandler::SaveHandler ( IFrameWindow&  frame,
  18.                            const IString& appName )
  19.    : appName( appName )
  20.   {
  21.   IHandler::handleEventsFor( &frame );
  22.  
  23.   // Get frame window's saved position and reset it.
  24.   WinRestoreWindowPos( appName,
  25.                       "POSITION",
  26.                       frame.handle() );
  27.   }
  28.  
  29. // Override this function to implement your frame's save logic.
  30. Boolean SaveHandler::saved( IEvent& event )
  31.   {
  32.   // Save frame's position.
  33.   WinStoreWindowPos( appName,
  34.                      "POSITION",
  35.                      event.handle() );
  36.   return false;
  37.   }
  38.  
  39. // Overridden to look for WM_SAVEAPPLICATION.
  40. Boolean SaveHandler::dispatchHandlerEvent( IEvent& event )
  41.   {
  42.   if ( event.eventId() == WM_SAVEAPPLICATION )
  43.     return saved( event );
  44.   else
  45.     return false;
  46.   }
  47.  
  48. // Overridden to avoid attachment to nonframe windows.
  49. IHandler& SaveHandler::handleEventsFor( IWindow* p )
  50.   {
  51.   return IHandler::handleEventsFor( p );
  52.   }
  53.