X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/bb0054cda81e7a6a6e1f33f4b47e46f529110f14..18ba9da6b94a34129b6b04494033905a213a0114:/utils/wxPython/src/windows.i?ds=sidebyside diff --git a/utils/wxPython/src/windows.i b/utils/wxPython/src/windows.i index 8e65300fa6..6bfda45ad5 100644 --- a/utils/wxPython/src/windows.i +++ b/utils/wxPython/src/windows.i @@ -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: @@ -64,12 +64,15 @@ public: %pragma(python) addtomethod = "__init__:wx._StdWindowCallbacks(self)" void CaptureMouse(); - void Center(int direction = wxHORIZONTAL); - void Centre(int direction = wxHORIZONTAL); - void CentreOnParent(int direction = wxHORIZONTAL ); - void CenterOnParent(int direction = wxHORIZONTAL ); - %name(ClientToScreenXY)void ClientToScreen(int *BOTH, int *BOTH); + void Center(int direction = wxBOTH); + void Centre(int direction = wxBOTH); + void CentreOnParent(int direction = wxBOTH ); + void CenterOnParent(int direction = wxBOTH ); + + // (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(); @@ -87,7 +90,7 @@ public: %name(GetClientSizeTuple) void GetClientSize(int *OUTPUT, int *OUTPUT); wxSize GetClientSize(); wxLayoutConstraints * GetConstraints(); - //wxEvtHandler* GetEventHandler(); + wxEvtHandler* GetEventHandler(); wxFont& GetFont(); wxColour GetForegroundColour(); @@ -110,6 +113,7 @@ public: int *OUTPUT, int *OUTPUT, int *OUTPUT, int* OUTPUT, const wxFont* font = NULL); //, bool use16 = FALSE) wxString GetTitle(); + wxRegion GetUpdateRegion(); long GetWindowStyleFlag(); bool Hide(); void InitDialog(); @@ -124,16 +128,19 @@ public: %name(MoveXY)void Move(int x, int y); void Move(const wxPoint& point); - //wxEvtHandler* PopEventHandler(bool deleteHandler = FALSE); - bool PopupMenu(wxMenu *menu, int x, int y); - //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); void Raise(); void Refresh(bool eraseBackground = TRUE, const wxRect* rect = NULL); 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); @@ -141,7 +148,6 @@ public: void SetAutoLayout(bool autoLayout); void SetBackgroundColour(const wxColour& colour); void SetConstraints(wxLayoutConstraints *constraints); -// void SetDoubleClick(bool allowDoubleClick); void SetFocus(); void SetFont(const wxFont& font); void SetForegroundColour(const wxColour& colour); @@ -166,7 +172,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(); @@ -188,6 +194,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: @@ -221,6 +231,7 @@ wxWindow* wxWindow_FromHWND(unsigned long hWnd) { #endif + //--------------------------------------------------------------------------- class wxPanel : public wxWindow { @@ -238,7 +249,7 @@ public: wxButton* GetDefaultItem(); void SetDefaultItem(wxButton *btn); - // fix a SWIG turd... + // fix some SWIG trouble... %pragma(python) addtoclass = " def GetDefaultItem(self): import controls @@ -308,7 +319,7 @@ public: class wxMenu : public wxEvtHandler { public: - wxMenu(const wxString& title = wxPyEmptyStr); + wxMenu(const wxString& title = wxPyEmptyStr, long style = 0); void Append(int id, const wxString& item, const wxString& helpString = wxPyEmptyStr, @@ -333,6 +344,14 @@ public: bool IsChecked(int id); bool IsEnabled(int id); void SetLabel(int id, const wxString& label); + void UpdateUI(wxEvtHandler* source = NULL); + + %addmethods { + void Destroy() { + delete self; + } + } + }; @@ -341,11 +360,11 @@ public: // be used for PopupMenus, but you must retain a referece to it while using // it. // -class wxPyMenu : public wxMenu { -public: - wxPyMenu(const wxString& title = wxPyEmptyStr, PyObject* func = NULL); - ~wxPyMenu(); -}; +// class wxPyMenu : public wxMenu { +// public: +// wxPyMenu(const wxString& title = wxPyEmptyStr, PyObject* func = NULL); +// ~wxPyMenu(); +// }; //---------------------------------------------------------------------- @@ -416,119 +435,5 @@ public: }; //--------------------------------------------------------------------------- -///////////////////////////////////////////////////////////////////////////// -// -// $Log$ -// 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 -// -//