]> git.saurik.com Git - wxWidgets.git/blame_incremental - wxPython/src/mdi.i
moved OnActivate() logic from wxFrame to wxDialog -- this fixes infinite loop when...
[wxWidgets.git] / wxPython / src / mdi.i
... / ...
CommitLineData
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%{
36 // Put some wx default wxChar* values into wxStrings.
37 DECLARE_DEF_STRING(FrameNameStr);
38%}
39
40//----------------------------------------------------------------------
41
42const int IDM_WINDOWTILE = 4001;
43const int IDM_WINDOWTILEHOR = 4001;
44const int IDM_WINDOWCASCADE = 4002;
45const int IDM_WINDOWICONS = 4003;
46const int IDM_WINDOWNEXT = 4004;
47const int IDM_WINDOWTILEVERT = 4005;
48const int wxFIRST_MDI_CHILD = 4100;
49const int wxLAST_MDI_CHILD = 4600;
50
51
52
53class wxMDIParentFrame : public wxFrame {
54public:
55 wxMDIParentFrame(wxWindow *parent,
56 const wxWindowID id,
57 const wxString& title,
58 const wxPoint& pos = wxDefaultPosition,
59 const wxSize& size = wxDefaultSize,
60 long style = wxDEFAULT_FRAME_STYLE | wxVSCROLL | wxHSCROLL,
61 const wxString& name = wxPyFrameNameStr);
62 %name(wxPreMDIParentFrame)wxMDIParentFrame();
63
64 bool Create(wxWindow *parent,
65 const wxWindowID id,
66 const wxString& title,
67 const wxPoint& pos = wxDefaultPosition,
68 const wxSize& size = wxDefaultSize,
69 long style = wxDEFAULT_FRAME_STYLE | wxVSCROLL | wxHSCROLL,
70 const wxString& name = wxPyFrameNameStr);
71
72 %pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
73 %pragma(python) addtomethod = "wxPreMDIParentFrame:val._setOORInfo(val)"
74
75 void ActivateNext();
76 void ActivatePrevious();
77 void ArrangeIcons();
78 void Cascade();
79 wxMDIChildFrame* GetActiveChild();
80 wxMDIClientWindow* GetClientWindow();
81 wxWindow* GetToolBar();
82
83 // TODO: This isn't handled by the standard event-table system...
84 //wxMDIClientWindow* OnCreateClient();
85
86
87#ifdef __WXMSW__
88 wxMenu* GetWindowMenu();
89 void SetWindowMenu(wxMenu* menu);
90 void SetToolBar(wxToolBar* toolbar);
91#endif
92 void Tile();
93};
94
95//---------------------------------------------------------------------------
96
97class wxMDIChildFrame : public wxFrame {
98public:
99 wxMDIChildFrame(wxMDIParentFrame* parent,
100 const wxWindowID id,
101 const wxString& title,
102 const wxPoint& pos = wxDefaultPosition,
103 const wxSize& size = wxDefaultSize,
104 long style = wxDEFAULT_FRAME_STYLE,
105 const wxString& name = wxPyFrameNameStr);
106 %name(wxPreMDIChildFrame)wxMDIChildFrame();
107
108 bool Create(wxMDIParentFrame* parent,
109 const wxWindowID id,
110 const wxString& title,
111 const wxPoint& pos = wxDefaultPosition,
112 const wxSize& size = wxDefaultSize,
113 long style = wxDEFAULT_FRAME_STYLE,
114 const wxString& name = wxPyFrameNameStr);
115
116 %pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
117 %pragma(python) addtomethod = "wxPreMDIChildFrame:val._setOORInfo(val)"
118
119 void Activate();
120 void Maximize(bool maximize);
121 void Restore();
122
123};
124
125
126//---------------------------------------------------------------------------
127
128class wxMDIClientWindow : public wxWindow {
129public:
130 wxMDIClientWindow(wxMDIParentFrame* parent, long style = 0);
131 %name(wxPreMDIClientWindow)wxMDIClientWindow();
132
133 bool Create(wxMDIParentFrame* parent, long style = 0);
134
135 %pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
136 %pragma(python) addtomethod = "wxPreMDIClientWindow:val._setOORInfo(val)"
137};
138
139//---------------------------------------------------------------------------