]> git.saurik.com Git - wxWidgets.git/blobdiff - utils/wxPython/src/windows.i
updates of some SWIG generated stuff
[wxWidgets.git] / utils / wxPython / src / windows.i
index 1bb931f5187d8a0b3bd76735f2ad2793dadd12c4..d4eb2844d4f3850fd4a694269967019350c9d67a 100644 (file)
@@ -29,8 +29,7 @@
 %import gdi.i
 
 %pragma(python) code = "import wx"
-//%pragma(python) code = "import controls"
-//%pragma(python) code = "wxButtonPtr = controls.wxWindowPtr"
+
 
 //---------------------------------------------------------------------------
 
@@ -51,6 +50,7 @@ public:
 
 //----------------------------------------------------------------------
 
+%apply int * INOUT { int* x, int* y };
 
 class wxWindow : public wxEvtHandler {
 public:
@@ -68,8 +68,11 @@ public:
     void Centre(int direction = wxBOTH);
     void CentreOnParent(int direction = wxBOTH );
     void CenterOnParent(int direction = wxBOTH );
-    %name(ClientToScreenXY)void ClientToScreen(int *BOTH, int *BOTH);
+
+    // (uses apply'ed INOUT typemap, see above)
+    %name(ClientToScreenXY)void ClientToScreen(int* x, int* y);
     wxPoint ClientToScreen(const wxPoint& pt);
+
     bool Close(int force = FALSE);
     bool Destroy();
     void DestroyChildren();
@@ -82,12 +85,22 @@ public:
     %name(FindWindowByName) wxWindow* FindWindow(const wxString& name);
     void Fit();
     wxColour GetBackgroundColour();
+
+    //wxList& GetChildren();
+    %addmethods {
+        PyObject* GetChildren() {
+            wxWindowList& list = self->GetChildren();
+            return wxPy_ConvertList(&list, "wxWindow");
+        }
+    }
+
+
     int  GetCharHeight();
     int  GetCharWidth();
     %name(GetClientSizeTuple) void GetClientSize(int *OUTPUT, int *OUTPUT);
     wxSize GetClientSize();
     wxLayoutConstraints * GetConstraints();
-    //wxEvtHandler* GetEventHandler();
+    wxEvtHandler* GetEventHandler();
 
     wxFont& GetFont();
     wxColour GetForegroundColour();
@@ -125,8 +138,8 @@ public:
     %name(MoveXY)void Move(int x, int y);
     void Move(const wxPoint& point);
 
-    //wxEvtHandler* PopEventHandler(bool deleteHandler = FALSE);
-    //void PushEventHandler(wxEvtHandler* handler);
+    wxEvtHandler* PopEventHandler(bool deleteHandler = FALSE);
+    void PushEventHandler(wxEvtHandler* handler);
 
     %name(PopupMenuXY)bool PopupMenu(wxMenu *menu, int x, int y);
     bool PopupMenu(wxMenu *menu, const wxPoint& pos);
@@ -136,7 +149,8 @@ public:
     void ReleaseMouse();
     bool Reparent( wxWindow* newParent );
 
-    %name(ScreenToClientXY)void ScreenToClient(int *BOTH, int *BOTH);
+    // (uses apply'ed INOUT typemap, see above)
+    %name(ScreenToClientXY)void ScreenToClient(int *x, int *y);
     wxPoint ScreenToClient(const wxPoint& pt);
 
     void ScrollWindow(int dx, int dy, const wxRect* rect = NULL);
@@ -168,7 +182,7 @@ public:
     void SetClientSize(const wxSize& size);
     //void SetPalette(wxPalette* palette);
     void SetCursor(const wxCursor&cursor);
-    //void SetEventHandler(wxEvtHandler* handler);
+    void SetEventHandler(wxEvtHandler* handler);
     void SetTitle(const wxString& title);
     bool Show(bool show);
     bool TransferDataFromWindow();
@@ -190,6 +204,10 @@ public:
     wxToolTip* GetToolTip();
 };
 
+//%clear int* x, int* y;
+
+
+
 %pragma(python) code = "
 def wxDLG_PNT(win, point_or_x, y=None):
     if y is None:
@@ -223,6 +241,7 @@ wxWindow* wxWindow_FromHWND(unsigned long hWnd) {
 #endif
 
 
+
 //---------------------------------------------------------------------------
 
 class wxPanel : public wxWindow {
@@ -240,7 +259,7 @@ public:
     wxButton* GetDefaultItem();
     void SetDefaultItem(wxButton *btn);
 
-    // fix a SWIG turd...
+    // fix some SWIG trouble...
     %pragma(python) addtoclass = "
     def GetDefaultItem(self):
         import controls
@@ -317,9 +336,7 @@ public:
                 int checkable = FALSE);
     %name(AppendMenu)void Append(int id, const wxString& item, wxMenu *subMenu,
                 const wxString& helpString = wxPyEmptyStr);
-#ifndef __WXGTK__
     %name(AppendItem)void Append(const wxMenuItem* item);
-#endif
 
     void AppendSeparator();
     void Break();
@@ -336,6 +353,13 @@ public:
     bool IsEnabled(int id);
     void SetLabel(int id, const wxString& label);
     void UpdateUI(wxEvtHandler* source = NULL);
+
+    %addmethods {
+        void Destroy() {
+            delete self;
+        }
+    }
+
 };
 
 
@@ -363,15 +387,13 @@ public:
     bool Enabled(int id);
     int FindMenuItem(const wxString& menuString, const wxString& itemString);
     wxMenuItem * FindItemForId(int id);
-#ifdef __WXMSW__
+    void SetLabel(int id, const wxString& label);
     void EnableTop(int pos, bool enable);
     wxString GetHelpString(int id);
     wxString GetLabel(int id);
     void SetHelpString(int id, const wxString& helpString);
-    void SetLabel(int id, const wxString& label);
     wxString GetLabelTop(int pos);
     void SetLabelTop(int pos, const wxString& label);
-#endif
     int GetMenuCount();
     wxMenu* GetMenu(int i);
 };
@@ -419,165 +441,5 @@ public:
 };
 
 //---------------------------------------------------------------------------
-/////////////////////////////////////////////////////////////////////////////
-//
-// $Log$
-// Revision 1.18  1999/07/31 07:54:35  RD
-// wxPython 2.1b1:
-//
-//     Added the missing wxWindow.GetUpdateRegion() method.
-//
-//     Made a new change in SWIG (update your patches everybody) that
-//     provides a fix for global shadow objects that get an exception in
-//     their __del__ when their extension module has already been deleted.
-//     It was only a 1 line change in .../SWIG/Modules/pycpp.cxx at about
-//     line 496 if you want to do it by hand.
-//
-//     It is now possible to run through MainLoop more than once in any one
-//     process.  The cleanup that used to happen as MainLoop completed (and
-//     prevented it from running again) has been delayed until the wxc module
-//     is being unloaded by Python.
-//
-//     wxWindow.PopupMenu() now takes a wxPoint instead of  x,y.  Added
-//     wxWindow.PopupMenuXY to be consistent with some other methods.
-//
-//     Added wxGrid.SetEditInPlace and wxGrid.GetEditInPlace.
-//
-//     You can now provide your own app.MainLoop method.  See
-//     wxPython/demo/demoMainLoop.py for an example and some explaination.
-//
-//     Got the in-place-edit for the wxTreeCtrl fixed and added some demo
-//     code to show how to use it.
-//
-//     Put the wxIcon constructor back in for GTK as it now has one that
-//     matches MSW's.
-//
-//     Added wxGrid.GetCells
-//
-//     Added wxSystemSettings static methods as functions with names like
-//     wxSystemSettings_GetSystemColour.
-//
-//     Removed wxPyMenu since using menu callbacks have been depreciated in
-//     wxWindows.  Use wxMenu and events instead.
-//
-//     Added alternate wxBitmap constructor (for MSW only) as
-//           wxBitmapFromData(data, type, width, height, depth = 1)
-//
-//     Added a helper function named wxPyTypeCast that can convert shadow
-//     objects of one type into shadow objects of another type.  (Like doing
-//     a down-cast.)  See the implementation in wx.py for some docs.
-//
-// Revision 1.17  1999/06/22 07:03:03  RD
-//
-// wxPython 2.1b1 for wxMSW  (wxGTK coming soon)
-// Lots of changes, see the README.txt for details...
-//
-// Revision 1.16  1999/05/15 00:56:04  RD
-//
-// fixes for GetReturnCode/SetReturnCode
-//
-// Revision 1.15  1999/04/30 03:29:19  RD
-//
-// wxPython 2.0b9, first phase (win32)
-// Added gobs of stuff, see wxPython/README.txt for details
-//
-// Revision 1.14.4.3  1999/03/27 23:29:15  RD
-//
-// wxPython 2.0b8
-//     Python thread support
-//     various minor additions
-//     various minor fixes
-//
-// Revision 1.14.4.2  1999/03/16 06:26:29  RD
-//
-// wxPython 2.0b7
-//
-// Revision 1.14.4.1  1999/03/16 06:04:04  RD
-//
-// wxPython 2.0b7
-//
-// Revision 1.14  1999/02/23 23:48:33  RD
-//
-// reenabled some methods for wxPython on wxGTK
-//
-// Revision 1.13  1999/02/20 10:02:38  RD
-//
-// Changes needed to enable wxGTK compatibility.
-//
-// Revision 1.12  1999/02/20 09:03:03  RD
-// Added wxWindow_FromHWND(hWnd) for wxMSW to construct a wxWindow from a
-// window handle.  If you can get the window handle into the python code,
-// it should just work...  More news on this later.
-//
-// Added wxImageList, wxToolTip.
-//
-// Re-enabled wxConfig.DeleteAll() since it is reportedly fixed for the
-// wxRegConfig class.
-//
-// As usual, some bug fixes, tweaks, etc.
-//
-// Revision 1.11  1998/12/18 15:49:10  RR
-//
-//   wxClipboard now serves the primary selection as well
-//   wxPython fixes
-//   warning mesages
-//
-// Revision 1.10  1998/12/17 17:52:20  RD
-//
-// wxPython 0.5.2
-// Minor fixes and SWIG code generation for RR's changes.  MSW and GTK
-// versions are much closer now!
-//
-// Revision 1.9  1998/12/17 14:07:46  RR
-//
-//   Removed minor differences between wxMSW and wxGTK
-//
-// Revision 1.8  1998/12/16 22:10:56  RD
-//
-// Tweaks needed to be able to build wxPython with wxGTK.
-//
-// Revision 1.7  1998/12/15 20:41:25  RD
-// Changed the import semantics from "from wxPython import *" to "from
-// wxPython.wx import *"  This is for people who are worried about
-// namespace pollution, they can use "from wxPython import wx" and then
-// prefix all the wxPython identifiers with "wx."
-//
-// Added wxTaskbarIcon for wxMSW.
-//
-// Made the events work for wxGrid.
-//
-// Added wxConfig.
-//
-// Added wxMiniFrame for wxGTK, (untested.)
-//
-// Changed many of the args and return values that were pointers to gdi
-// objects to references to reflect changes in the wxWindows API.
-//
-// Other assorted fixes and additions.
-//
-// Revision 1.6  1998/10/02 06:40:43  RD
-//
-// Version 0.4 of wxPython for MSW.
-//
-// Revision 1.5  1998/08/17 18:29:40  RD
-// Removed an extra method definition
-//
-// Revision 1.4  1998/08/16 04:31:11  RD
-// More wxGTK work.
-//
-// Revision 1.3  1998/08/15 07:36:47  RD
-// - Moved the header in the .i files out of the code that gets put into
-// the .cpp files.  It caused CVS conflicts because of the RCS ID being
-// different each time.
-//
-// - A few minor fixes.
-//
-// Revision 1.2  1998/08/14 23:36:46  RD
-// Beginings of wxGTK compatibility
-//
-// Revision 1.1  1998/08/09 08:25:52  RD
-// Initial version
-//
-//