]> git.saurik.com Git - wxWidgets.git/blame_incremental - include/wx/docmdi.h
wxMessageBox off the main thread lost result code.
[wxWidgets.git] / include / wx / docmdi.h
... / ...
CommitLineData
1/////////////////////////////////////////////////////////////////////////////
2// Name: wx/docmdi.h
3// Purpose: Frame classes for MDI document/view applications
4// Author: Julian Smart
5// Created: 01/02/97
6// Copyright: (c) 1997 Julian Smart
7// (c) 2010 Vadim Zeitlin
8// Licence: wxWindows licence
9/////////////////////////////////////////////////////////////////////////////
10
11#ifndef _WX_DOCMDI_H_
12#define _WX_DOCMDI_H_
13
14#include "wx/defs.h"
15
16#if wxUSE_MDI_ARCHITECTURE
17
18#include "wx/docview.h"
19#include "wx/mdi.h"
20
21#ifdef __VISUALC6__
22 // "non dll-interface class 'wxDocXXXFrameAny<>' used as base interface for
23 // dll-interface class 'wxDocMDIXXXFrame'" -- this is bogus as the template
24 // will be DLL-exported but only once it is used as base class here!
25 #pragma warning (push)
26 #pragma warning (disable:4275)
27#endif
28
29// Define MDI versions of the doc-view frame classes. Note that we need to
30// define them as classes for wxRTTI, otherwise we could simply define them as
31// typedefs.
32
33// ----------------------------------------------------------------------------
34// An MDI document parent frame
35// ----------------------------------------------------------------------------
36
37typedef
38 wxDocParentFrameAny<wxMDIParentFrame> wxDocMDIParentFrameBase;
39
40class WXDLLIMPEXP_CORE wxDocMDIParentFrame : public wxDocMDIParentFrameBase
41{
42public:
43 wxDocMDIParentFrame() : wxDocMDIParentFrameBase() { }
44
45 wxDocMDIParentFrame(wxDocManager *manager,
46 wxFrame *parent,
47 wxWindowID id,
48 const wxString& title,
49 const wxPoint& pos = wxDefaultPosition,
50 const wxSize& size = wxDefaultSize,
51 long style = wxDEFAULT_FRAME_STYLE,
52 const wxString& name = wxFrameNameStr)
53 : wxDocMDIParentFrameBase(manager,
54 parent, id, title, pos, size, style, name)
55 {
56 }
57
58private:
59 DECLARE_CLASS(wxDocMDIParentFrame)
60 wxDECLARE_NO_COPY_CLASS(wxDocMDIParentFrame);
61};
62
63// ----------------------------------------------------------------------------
64// An MDI document child frame
65// ----------------------------------------------------------------------------
66
67typedef
68 wxDocChildFrameAny<wxMDIChildFrame, wxMDIParentFrame> wxDocMDIChildFrameBase;
69
70class WXDLLIMPEXP_CORE wxDocMDIChildFrame : public wxDocMDIChildFrameBase
71{
72public:
73 wxDocMDIChildFrame() { }
74
75 wxDocMDIChildFrame(wxDocument *doc,
76 wxView *view,
77 wxMDIParentFrame *parent,
78 wxWindowID id,
79 const wxString& title,
80 const wxPoint& pos = wxDefaultPosition,
81 const wxSize& size = wxDefaultSize,
82 long style = wxDEFAULT_FRAME_STYLE,
83 const wxString& name = wxFrameNameStr)
84 : wxDocMDIChildFrameBase(doc, view,
85 parent, id, title, pos, size, style, name)
86 {
87 }
88
89private:
90 DECLARE_CLASS(wxDocMDIChildFrame)
91 wxDECLARE_NO_COPY_CLASS(wxDocMDIChildFrame);
92};
93
94#ifdef __VISUALC6__
95 #pragma warning (pop)
96#endif
97
98#endif // wxUSE_MDI_ARCHITECTURE
99
100#endif // _WX_DOCMDI_H_