]> git.saurik.com Git - wxWidgets.git/blob - wxPython/src/mdi.i
patch from Dimitri fixing a few memory leaks and unTABbing the sources
[wxWidgets.git] / wxPython / src / mdi.i
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: mdi.i
3 // Purpose: MDI related class definitions for wxPython
4 //
5 // Author: Robin Dunn
6 //
7 // Created: 5/26/98
8 // RCS-ID: $Id$
9 // Copyright: (c) 1998 by Total Control Software
10 // Licence: wxWindows license
11 /////////////////////////////////////////////////////////////////////////////
12
13
14 %module mdi
15
16 %{
17 #include "helpers.h"
18 %}
19
20 //----------------------------------------------------------------------
21
22 %include typemaps.i
23 %include my_typemaps.i
24
25 // Import some definitions of other classes, etc.
26 %import _defs.i
27 %import misc.i
28 %import windows.i
29 %import frames.i
30
31 %pragma(python) code = "import wx"
32
33 //----------------------------------------------------------------------
34
35 const int IDM_WINDOWTILE = 4001;
36 const int IDM_WINDOWTILEHOR = 4001;
37 const int IDM_WINDOWCASCADE = 4002;
38 const int IDM_WINDOWICONS = 4003;
39 const int IDM_WINDOWNEXT = 4004;
40 const int IDM_WINDOWTILEVERT = 4005;
41 const int wxFIRST_MDI_CHILD = 4100;
42 const int wxLAST_MDI_CHILD = 4600;
43
44
45
46 class wxMDIParentFrame : public wxFrame {
47 public:
48 wxMDIParentFrame(wxWindow *parent,
49 const wxWindowID id,
50 const wxString& title,
51 const wxPoint& pos = wxDefaultPosition,
52 const wxSize& size = wxDefaultSize,
53 long style = wxDEFAULT_FRAME_STYLE | wxVSCROLL | wxHSCROLL,
54 const char* name = "frame");
55 %name(wxPreMDIParentFrame)wxMDIParentFrame();
56
57 bool Create(wxWindow *parent,
58 const wxWindowID id,
59 const wxString& title,
60 const wxPoint& pos = wxDefaultPosition,
61 const wxSize& size = wxDefaultSize,
62 long style = wxDEFAULT_FRAME_STYLE | wxVSCROLL | wxHSCROLL,
63 const char* name = "frame");
64
65 %pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
66 %pragma(python) addtomethod = "wxPreMDIParentFrame:val._setOORInfo(val)"
67
68 void ActivateNext();
69 void ActivatePrevious();
70 void ArrangeIcons();
71 void Cascade();
72 wxMDIChildFrame* GetActiveChild();
73 wxMDIClientWindow* GetClientWindow();
74 wxWindow* GetToolBar();
75
76 // TODO: This isn't handled by the standard event-table system...
77 //wxMDIClientWindow* OnCreateClient();
78
79
80 #ifdef __WXMSW__
81 wxMenu* GetWindowMenu();
82 void SetWindowMenu(wxMenu* menu);
83 void SetToolBar(wxToolBar* toolbar);
84 #endif
85 void Tile();
86 };
87
88 //---------------------------------------------------------------------------
89
90 class wxMDIChildFrame : public wxFrame {
91 public:
92 wxMDIChildFrame(wxMDIParentFrame* parent,
93 const wxWindowID id,
94 const wxString& title,
95 const wxPoint& pos = wxDefaultPosition,
96 const wxSize& size = wxDefaultSize,
97 long style = wxDEFAULT_FRAME_STYLE,
98 const char* name = "frame");
99 %name(wxPreMDIChildFrame)wxMDIChildFrame();
100
101 bool Create(wxMDIParentFrame* parent,
102 const wxWindowID id,
103 const wxString& title,
104 const wxPoint& pos = wxDefaultPosition,
105 const wxSize& size = wxDefaultSize,
106 long style = wxDEFAULT_FRAME_STYLE,
107 const char* name = "frame");
108
109 %pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
110 %pragma(python) addtomethod = "wxPreMDIChildFrame:val._setOORInfo(val)"
111
112 void Activate();
113 void Maximize(bool maximize);
114 void Restore();
115
116 };
117
118
119 //---------------------------------------------------------------------------
120
121 class wxMDIClientWindow : public wxWindow {
122 public:
123 wxMDIClientWindow(wxMDIParentFrame* parent, long style = 0);
124 %name(wxPreMDIClientWindow)wxMDIClientWindow();
125
126 bool Create(wxMDIParentFrame* parent, long style = 0);
127
128 %pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
129 %pragma(python) addtomethod = "wxPreMDIClientWindow:val._setOORInfo(val)"
130 };
131
132 //---------------------------------------------------------------------------