home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / wxos2240.zip / wxWindows-2.4.0 / include / wx / docmdi.h < prev    next >
C/C++ Source or Header  |  2002-11-04  |  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.2.1 2002/10/29 21:47:14 RR 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. public:
  33.     wxDocMDIParentFrame(wxDocManager *manager, wxFrame *parent, wxWindowID id,
  34.         const wxString& title, const wxPoint& pos = wxDefaultPosition,
  35.         const wxSize& size = wxDefaultSize, long style = wxDEFAULT_FRAME_STYLE, const wxString& name = wxT("frame"));
  36.  
  37.     // Extend event processing to search the document manager's event table
  38.     virtual bool ProcessEvent(wxEvent& event);
  39.  
  40.     wxDocManager *GetDocumentManager(void) const { return m_docManager; }
  41.  
  42.     void OnExit(wxCommandEvent& event);
  43.     void OnMRUFile(wxCommandEvent& event);
  44.     void OnCloseWindow(wxCloseEvent& event);
  45.  
  46. protected:
  47.     wxDocManager *m_docManager;
  48.  
  49. private:
  50.     DECLARE_CLASS(wxDocMDIParentFrame)
  51.     DECLARE_EVENT_TABLE()
  52. };
  53.  
  54. /*
  55.  * Use this instead of wxMDIChildFrame
  56.  */
  57.  
  58. class WXDLLEXPORT wxDocMDIChildFrame: public wxMDIChildFrame
  59. {
  60. public:
  61.     wxDocMDIChildFrame(wxDocument *doc, wxView *view, wxMDIParentFrame *frame, wxWindowID id,
  62.         const wxString& title, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
  63.         long type = wxDEFAULT_FRAME_STYLE, const wxString& name = wxT("frame"));
  64.     ~wxDocMDIChildFrame();
  65.  
  66.     // Extend event processing to search the view's event table
  67.     virtual bool ProcessEvent(wxEvent& event);
  68.  
  69.     void OnActivate(wxActivateEvent& event);
  70.     void OnCloseWindow(wxCloseEvent& event);
  71.  
  72.     inline wxDocument *GetDocument() const { return m_childDocument; }
  73.     inline wxView *GetView(void) const { return m_childView; }
  74.     inline void SetDocument(wxDocument *doc) { m_childDocument = doc; }
  75.     inline void SetView(wxView *view) { m_childView = view; }
  76.     bool Destroy() { m_childView = (wxView *)NULL; return wxMDIChildFrame::Destroy(); }
  77.     
  78. protected:
  79.     wxDocument*       m_childDocument;
  80.     wxView*           m_childView;
  81.  
  82. private:
  83.     DECLARE_EVENT_TABLE()
  84.     DECLARE_CLASS(wxDocMDIChildFrame)
  85. };
  86.  
  87. #endif
  88.     // wxUSE_MDI_ARCHITECTURE
  89.  
  90. #endif
  91.     // _WX_DOCMDI_H_
  92.