home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / wxos2233.zip / wxOS2-2_3_3.zip / wxWindows-2.3.3 / include / wx / docmdi.h < prev    next >
C/C++ Source or Header  |  2002-08-31  |  3KB  |  92 lines

  1. /////////////////////////////////////////////////////////////////////////////
  2. // Name:        docmdi.h
  3. // Purpose:     Frame classes for MDI document/view applications
  4. // Author:      Julian Smart
  5. // Modified by:
  6. // Created:     01/02/97
  7. // RCS-ID:      $Id: docmdi.h,v 1.9 2002/08/31 11:29:10 GD Exp $
  8. // Copyright:   (c)
  9. // Licence:       wxWindows licence
  10. /////////////////////////////////////////////////////////////////////////////
  11.  
  12. #ifndef _WX_DOCMDI_H_
  13. #define _WX_DOCMDI_H_
  14.  
  15. #if defined(__GNUG__) && !defined(__APPLE__)
  16. #pragma interface "docmdi.h"
  17. #endif
  18.  
  19. #include "wx/defs.h"
  20.  
  21. #if wxUSE_MDI_ARCHITECTURE && wxUSE_DOC_VIEW_ARCHITECTURE
  22.  
  23. #include "wx/docview.h"
  24. #include "wx/mdi.h"
  25.  
  26. /*
  27.  * Use this instead of wxMDIParentFrame
  28.  */
  29.  
  30. class WXDLLEXPORT wxDocMDIParentFrame: public wxMDIParentFrame
  31. {
  32.   DECLARE_CLASS(wxDocMDIParentFrame)
  33.  public:
  34.   wxDocMDIParentFrame(wxDocManager *manager, wxFrame *parent, wxWindowID id,
  35.       const wxString& title, const wxPoint& pos = wxDefaultPosition,
  36.       const wxSize& size = wxDefaultSize, long style = wxDEFAULT_FRAME_STYLE, const wxString& name = "frame");
  37.  
  38.   // Extend event processing to search the document manager's event table
  39.   virtual bool ProcessEvent(wxEvent& event);
  40.  
  41.   wxDocManager *GetDocumentManager(void) const { return m_docManager; }
  42.  
  43.   void OnExit(wxCommandEvent& event);
  44.   void OnMRUFile(wxCommandEvent& event);
  45.   void OnCloseWindow(wxCloseEvent& event);
  46.  
  47.  protected:
  48.   wxDocManager *m_docManager;
  49.  
  50.  
  51. DECLARE_EVENT_TABLE()
  52. };
  53.  
  54. /*
  55.  * Use this instead of wxMDIChildFrame
  56.  */
  57.  
  58. class WXDLLEXPORT wxDocMDIChildFrame: public wxMDIChildFrame
  59. {
  60.   DECLARE_CLASS(wxDocMDIChildFrame)
  61.  
  62.  public:
  63.   wxDocMDIChildFrame(wxDocument *doc, wxView *view, wxMDIParentFrame *frame, wxWindowID id,
  64.     const wxString& title, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
  65.     long type = wxDEFAULT_FRAME_STYLE, const wxString& name = "frame");
  66.   ~wxDocMDIChildFrame(void);
  67.  
  68.   // Extend event processing to search the view's event table
  69.   virtual bool ProcessEvent(wxEvent& event);
  70.  
  71.   void OnActivate(wxActivateEvent& event);
  72.   void OnCloseWindow(wxCloseEvent& event);
  73.  
  74.   inline wxDocument *GetDocument(void) const { return m_childDocument; }
  75.   inline wxView *GetView(void) const { return m_childView; }
  76.   inline void SetDocument(wxDocument *doc) { m_childDocument = doc; }
  77.   inline void SetView(wxView *view) { m_childView = view; }
  78.   bool Destroy() { m_childView = (wxView *)NULL; return wxMDIChildFrame::Destroy(); }
  79.  protected:
  80.   wxDocument*       m_childDocument;
  81.   wxView*           m_childView;
  82.  
  83. DECLARE_EVENT_TABLE()
  84.  
  85. };
  86.  
  87. #endif
  88.     // wxUSE_MDI_ARCHITECTURE
  89.  
  90. #endif
  91.     // _WX_DOCMDI_H_
  92.