home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / src / Tools / MotifApp / ch9 / MenuDemoApp.h < prev    next >
Encoding:
C/C++ Source or Header  |  1995-05-03  |  1.9 KB  |  66 lines

  1. ///////////////////////////////////////////////////////////////////////////////
  2. //////////////////////////////////////////////////////////////////////////////
  3. //         This example code is from the book:
  4. //
  5. //           Object-Oriented Programming with C++ and OSF/Motif
  6. //         by
  7. //           Douglas Young
  8. //           Prentice Hall, 1992
  9. //           ISBN 0-13-630252-1    
  10. //
  11. //         Copyright 1991 by Prentice Hall
  12. //         All Rights Reserved
  13. //
  14. //  Permission to use, copy, modify, and distribute this software for 
  15. //  any purpose except publication and without fee is hereby granted, provided 
  16. //  that the above copyright notice appear in all copies of the software.
  17. ///////////////////////////////////////////////////////////////////////////////
  18. //////////////////////////////////////////////////////////////////////////////
  19.  
  20.  
  21. ////////////////////////////////////////////////////////////////
  22. // MenuDemoApp.h: An application class for the menu demo program
  23. ////////////////////////////////////////////////////////////////
  24. #ifndef MENUDEMOAPP_H
  25. #define MENUDEMOAPP_H
  26. #include "Application.h"
  27.  
  28. class Cmd;
  29.  
  30. class MenuDemoApp : public Application {
  31.     
  32.   protected:
  33.     
  34.     // Maintain pointers to Cmd objects used thoughout the application
  35.     
  36.     Cmd *_quit;
  37.     Cmd *_manage;
  38.     Cmd *_iconify;
  39.     Cmd *_x;
  40.     Cmd *_y;
  41.     Cmd *_z;
  42.     
  43.   public:
  44.     
  45.     MenuDemoApp ( char * );
  46.     virtual ~MenuDemoApp();     
  47.     
  48.     // Provide access functions for all Cmd objects
  49.     
  50.     Cmd *quitCmd()    { return _quit; }
  51.     Cmd *manageCmd()  { return _manage; }
  52.     Cmd *iconifyCmd() { return _iconify; }
  53.     Cmd *xCmd() { return _x; }
  54.     Cmd *yCmd() { return _y; }
  55.     Cmd *zCmd() { return _z; }
  56.     
  57.     virtual const char *const className() { return "MenuDemoApp"; }
  58. };
  59.  
  60. // Classes that need to retrieve the MenuDemoApp's Cmd objects
  61. // need a pointer to an Application object that supports
  62. // MenuDemoApp's extended protocol. 
  63.  
  64. extern MenuDemoApp *theMenuDemoApp;
  65. #endif
  66.