1 /////////////////////////////////////////////////////////////////////////////
 
   3 // Purpose:     SWIG interface for MDI related class definitions
 
   7 // Created:     26-May-1998
 
   9 // Copyright:   (c) 2003 by Total Control Software
 
  10 // Licence:     wxWindows license
 
  11 /////////////////////////////////////////////////////////////////////////////
 
  16 //---------------------------------------------------------------------------
 
  23 //---------------------------------------------------------------------------
 
  25 #define IDM_WINDOWTILE          4001
 
  26 #define IDM_WINDOWTILEHOR       4001
 
  27 #define IDM_WINDOWCASCADE       4002
 
  28 #define IDM_WINDOWICONS         4003
 
  29 #define IDM_WINDOWNEXT          4004
 
  30 #define IDM_WINDOWTILEVERT      4005
 
  31 #define wxFIRST_MDI_CHILD       4100
 
  32 #define wxLAST_MDI_CHILD        4600
 
  36 MustHaveApp(wxMDIParentFrame);
 
  38 class wxMDIParentFrame : public wxFrame {
 
  40     %pythonAppend wxMDIParentFrame         "self._setOORInfo(self)"
 
  41     %pythonAppend wxMDIParentFrame()       ""
 
  43     wxMDIParentFrame(wxWindow *parent,
 
  44                      const wxWindowID id=-1,
 
  45                      const wxString& title = wxPyEmptyString,
 
  46                      const wxPoint& pos = wxDefaultPosition,
 
  47                      const wxSize& size = wxDefaultSize,
 
  48                      long style = wxDEFAULT_FRAME_STYLE | wxVSCROLL | wxHSCROLL,
 
  49                      const wxString& name = wxPyFrameNameStr);
 
  50     %RenameCtor(PreMDIParentFrame, wxMDIParentFrame());
 
  52     bool Create(wxWindow *parent,
 
  53                      const wxWindowID id=-1,
 
  54                      const wxString& title = wxPyEmptyString,
 
  55                      const wxPoint& pos = wxDefaultPosition,
 
  56                      const wxSize& size = wxDefaultSize,
 
  57                      long style = wxDEFAULT_FRAME_STYLE | wxVSCROLL | wxHSCROLL,
 
  58                      const wxString& name = wxPyFrameNameStr);
 
  62     void ActivatePrevious();
 
  65     wxMDIChildFrame* GetActiveChild();
 
  66     wxMDIClientWindow* GetClientWindow();
 
  67     wxWindow* GetToolBar();
 
  69     // TODO:  This isn't handled by the standard event-table system...
 
  70     //wxMDIClientWindow* OnCreateClient();
 
  74     wxMenu* GetWindowMenu();
 
  75     void SetWindowMenu(wxMenu* menu);
 
  76     void SetToolBar(wxToolBar* toolbar);
 
  81 //---------------------------------------------------------------------------
 
  83 MustHaveApp(wxMDIChildFrame);
 
  85 class wxMDIChildFrame : public wxFrame {
 
  87     %pythonAppend wxMDIChildFrame         "self._setOORInfo(self)"
 
  88     %pythonAppend wxMDIChildFrame()       ""
 
  89     %typemap(out) wxMDIChildFrame*;    // turn off this typemap
 
  91     wxMDIChildFrame(wxMDIParentFrame* parent,
 
  92                     const wxWindowID id=-1,
 
  93                     const wxString& title = wxPyEmptyString,
 
  94                     const wxPoint& pos = wxDefaultPosition,
 
  95                     const wxSize& size = wxDefaultSize,
 
  96                     long style = wxDEFAULT_FRAME_STYLE,
 
  97                     const wxString& name = wxPyFrameNameStr);
 
  98     %RenameCtor(PreMDIChildFrame, wxMDIChildFrame());
 
 100     // Turn it back on again
 
 101     %typemap(out) wxMDIChildFrame* { $result = wxPyMake_wxObject($1, $owner); }
 
 103     bool Create(wxMDIParentFrame* parent,
 
 104                     const wxWindowID id=-1,
 
 105                     const wxString& title = wxPyEmptyString,
 
 106                     const wxPoint& pos = wxDefaultPosition,
 
 107                     const wxSize& size = wxDefaultSize,
 
 108                     long style = wxDEFAULT_FRAME_STYLE,
 
 109                     const wxString& name = wxPyFrameNameStr);
 
 112     void Maximize(bool maximize=true);
 
 118 //---------------------------------------------------------------------------
 
 120 MustHaveApp(wxMDIClientWindow);
 
 122 class wxMDIClientWindow : public wxWindow {
 
 124     %pythonAppend wxMDIClientWindow         "self._setOORInfo(self)"
 
 125     %pythonAppend wxMDIClientWindow()       ""
 
 126     %typemap(out) wxMDIClientWindow*;    // turn off this typemap
 
 128     wxMDIClientWindow(wxMDIParentFrame* parent, long style = 0);
 
 129     %RenameCtor(PreMDIClientWindow, wxMDIClientWindow());
 
 131     // Turn it back on again
 
 132     %typemap(out) wxMDIClientWindow* { $result = wxPyMake_wxObject($1, $owner); }
 
 134     bool Create(wxMDIParentFrame* parent, long style = 0);
 
 138 //---------------------------------------------------------------------------