X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/fb330c2ec30fc5aca5ce0a885530d4d09b351a1d..fe94d0d06a2305845f0cb0c0b8fc0edbde2e2b68:/include/wx/docmdi.h diff --git a/include/wx/docmdi.h b/include/wx/docmdi.h index 3d4e437fbe..e7dcb7ad02 100644 --- a/include/wx/docmdi.h +++ b/include/wx/docmdi.h @@ -1,11 +1,10 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: docmdi.h +// Name: wx/docmdi.h // Purpose: Frame classes for MDI document/view applications // Author: Julian Smart -// Modified by: // Created: 01/02/97 -// RCS-ID: $Id$ -// Copyright: (c) Julian Smart +// Copyright: (c) 1997 Julian Smart +// (c) 2010 Vadim Zeitlin // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -19,61 +18,60 @@ #include "wx/docview.h" #include "wx/mdi.h" -/* - * Use this instead of wxMDIParentFrame - */ - -class WXDLLIMPEXP_CORE wxDocMDIParentFrame: public wxMDIParentFrame -{ -public: - wxDocMDIParentFrame(); - wxDocMDIParentFrame(wxDocManager *manager, wxFrame *parent, wxWindowID id, - const wxString& title, const wxPoint& pos = wxDefaultPosition, - const wxSize& size = wxDefaultSize, long style = wxDEFAULT_FRAME_STYLE, const wxString& name = wxFrameNameStr); - - bool Create(wxDocManager *manager, wxFrame *parent, wxWindowID id, - const wxString& title, const wxPoint& pos = wxDefaultPosition, - const wxSize& size = wxDefaultSize, long style = wxDEFAULT_FRAME_STYLE, const wxString& name = wxFrameNameStr); - - wxDocManager *GetDocumentManager(void) const { return m_docManager; } +#ifdef __VISUALC6__ + // "non dll-interface class 'wxDocXXXFrameAny<>' used as base interface for + // dll-interface class 'wxDocMDIXXXFrame'" -- this is bogus as the template + // will be DLL-exported but only once it is used as base class here! + #pragma warning (push) + #pragma warning (disable:4275) +#endif - void OnExit(wxCommandEvent& event); - void OnMRUFile(wxCommandEvent& event); - void OnCloseWindow(wxCloseEvent& event); +// Define MDI versions of the doc-view frame classes. Note that we need to +// define them as classes for wxRTTI, otherwise we could simply define them as +// typedefs. -protected: - void Init(); +// ---------------------------------------------------------------------------- +// An MDI document parent frame +// ---------------------------------------------------------------------------- - virtual bool TryBefore(wxEvent& event); +typedef + wxDocParentFrameAny wxDocMDIParentFrameBase; - wxDocManager *m_docManager; +class WXDLLIMPEXP_CORE wxDocMDIParentFrame : public wxDocMDIParentFrameBase +{ +public: + wxDocMDIParentFrame() : wxDocMDIParentFrameBase() { } + + wxDocMDIParentFrame(wxDocManager *manager, + wxFrame *parent, + wxWindowID id, + const wxString& title, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + long style = wxDEFAULT_FRAME_STYLE, + const wxString& name = wxFrameNameStr) + : wxDocMDIParentFrameBase(manager, + parent, id, title, pos, size, style, name) + { + } private: DECLARE_CLASS(wxDocMDIParentFrame) - DECLARE_EVENT_TABLE() wxDECLARE_NO_COPY_CLASS(wxDocMDIParentFrame); }; // ---------------------------------------------------------------------------- -// An MDI document child frame: we need to define it as a class just for wxRTTI, -// otherwise we could simply typedef it +// An MDI document child frame // ---------------------------------------------------------------------------- -#ifdef __VISUALC6__ - // "non dll-interface class 'wxDocChildFrameAny<>' used as base interface - // for dll-interface class 'wxDocMDIChildFrame'" -- this is bogus as the - // template will be DLL-exported but only once it is used as base class - // here! - #pragma warning (push) - #pragma warning (disable:4275) -#endif - typedef wxDocChildFrameAny wxDocMDIChildFrameBase; class WXDLLIMPEXP_CORE wxDocMDIChildFrame : public wxDocMDIChildFrameBase { public: + wxDocMDIChildFrame() { } + wxDocMDIChildFrame(wxDocument *doc, wxView *view, wxMDIParentFrame *parent,