X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d1679124ae303fb78561ee2b0c56b5831fd0fafe..0e980f91092ded629a7b014ff0d2238b1c8940c5:/wxPython/src/windows.i diff --git a/wxPython/src/windows.i b/wxPython/src/windows.i index 91d186aeea..9b74db7fdb 100644 --- a/wxPython/src/windows.i +++ b/wxPython/src/windows.i @@ -16,6 +16,7 @@ %{ #include "helpers.h" #include +#include %} //---------------------------------------------------------------------- @@ -38,7 +39,7 @@ //--------------------------------------------------------------------------- -class wxEvtHandler { +class wxEvtHandler : public wxObject { public: wxEvtHandler(); @@ -70,12 +71,6 @@ public: (wxObjectEventFunction) &wxPyCallback::EventThunker); } - - // This really belongs in the wxObject base class. It's probably - // time to actually add it... - const char* GetClassName() { - return self->GetClassInfo()->GetClassName(); - } } // %pragma(python) addtoclass = " @@ -116,6 +111,9 @@ public: wxWindow* GetWindow(); void SetWindow(wxWindow* window); + static bool IsSilent(); + static void SetBellOnError(int doIt = TRUE); + // // Properties list // %pragma(python) addtoclass = " // _prop_list_ = { @@ -125,15 +123,6 @@ public: // " }; -%inline %{ - bool wxValidator_IsSilent() { - return wxValidator::IsSilent(); - } - - void wxValidator_SetBellOnError(int doIt = TRUE) { - wxValidator::SetBellOnError(doIt); - } -%} //---------------------------------------------------------------------- %{ @@ -142,7 +131,6 @@ class wxPyValidator : public wxValidator { public: wxPyValidator() { } -// wxPyValidator(const wxPyValidator& other); ~wxPyValidator() { } @@ -170,12 +158,12 @@ public: return ptr; } + DEC_PYCALLBACK_BOOL_WXWIN(Validate); DEC_PYCALLBACK_BOOL_(TransferToWindow); DEC_PYCALLBACK_BOOL_(TransferFromWindow); PYPRIVATE; -// PyObject* m_data; }; IMP_PYCALLBACK_BOOL_WXWIN(wxPyValidator, wxValidator, Validate); @@ -189,12 +177,9 @@ IMPLEMENT_DYNAMIC_CLASS(wxPyValidator, wxValidator); class wxPyValidator : public wxValidator { public: wxPyValidator(); -// ~wxPyValidator(); - - %addmethods { void Destroy() { delete self; } } void _setSelf(PyObject* self, PyObject* _class, int incref=TRUE); - %pragma(python) addtomethod = "__init__:self._setSelf(self, wxPyValidator, 0)" + %pragma(python) addtomethod = "__init__:self._setSelf(self, wxPyValidator, 1)" }; @@ -221,6 +206,8 @@ public: void CentreOnScreen(int direction = wxBOTH ); void CenterOnScreen(int direction = wxBOTH ); + void Clear(); + // (uses apply'ed INOUT typemap, see above) %name(ClientToScreenXY)void ClientToScreen(int* x, int* y); wxPoint ClientToScreen(const wxPoint& pt); @@ -228,6 +215,7 @@ public: bool Close(int force = FALSE); bool Destroy(); void DestroyChildren(); + bool IsBeingDeleted(); #ifdef __WXMSW__ void DragAcceptFiles(bool accept); #endif @@ -387,24 +375,12 @@ public: void SetCaret(wxCaret *caret); wxCaret *GetCaret(); - %pragma(python) addtoclass = "# replaces broken shadow methods + %pragma(python) addtoclass = "# replaces broken shadow method def GetCaret(self, *_args, **_kwargs): from misc2 import wxCaretPtr val = apply(windowsc.wxWindow_GetCaret,(self,) + _args, _kwargs) if val: val = wxCaretPtr(val) return val - - def GetSizer(self, *_args, **_kwargs): - from sizers import wxSizerPtr - val = apply(windowsc.wxWindow_GetSizer,(self,) + _args, _kwargs) - if val: val = wxSizerPtr(val) - return val - - def GetToolTip(self, *_args, **_kwargs): - from misc2 import wxToolTipPtr - val = apply(windowsc.wxWindow_GetToolTip,(self,) + _args, _kwargs) - if val: val = wxToolTipPtr(val) - return val " @@ -507,14 +483,6 @@ public: wxButton* GetDefaultItem(); void SetDefaultItem(wxButton *btn); - // fix some SWIG trouble... - %pragma(python) addtoclass = " - def GetDefaultItem(self): - import controls - val = windowsc.wxPanel_GetDefaultItem(self.this) - val = controls.wxButtonPtr(val) - return val -" }; //--------------------------------------------------------------------------- @@ -548,24 +516,15 @@ public: wxSizer* CreateTextSizer( const wxString &message ); wxSizer* CreateButtonSizer( long flags ); - %pragma(python) addtoclass = " - # replace swig generated shadow methods to resolve import issues - def CreateTextSizer(self, *_args, **_kwargs): - import sizers - val = apply(windowsc.wxDialog_CreateTextSizer,(self,) + _args, _kwargs) - if val: val = sizers.wxSizerPtr(val) - return val - def CreateButtonSizer(self, *_args, **_kwargs): - import sizers - val = apply(windowsc.wxDialog_CreateButtonSizer,(self,) + _args, _kwargs) - if val: val = sizers.wxSizerPtr(val) - return val -" - }; //--------------------------------------------------------------------------- + +// TODO: Add wrappers for the wxScrollHelper class, make wxScrolledWindow +// derive from it and wxPanel. + + class wxScrolledWindow : public wxPanel { public: wxScrolledWindow(wxWindow* parent, @@ -592,7 +551,7 @@ public: void SetScrollPageSize(int orient, int pageSize); void SetTargetWindow(wxWindow* window); void GetViewStart(int* OUTPUT, int* OUTPUT); - void ViewStart(int* OUTPUT, int* OUTPUT); + %pragma(python) addtoclass = "ViewStart = GetViewStart" void CalcScrolledPosition( int x, int y, int *OUTPUT, int *OUTPUT); void CalcUnscrolledPosition( int x, int y, int *OUTPUT, int *OUTPUT); @@ -707,7 +666,7 @@ public: //---------------------------------------------------------------------- -class wxMenuItem { +class wxMenuItem : public wxObject { public: wxMenuItem(wxMenu* parentMenu=NULL, int id=wxID_SEPARATOR, const wxString& text = wxPyEmptyStr, @@ -744,9 +703,9 @@ public: void SetFont(const wxFont& font); wxFont& GetFont(); void SetTextColour(const wxColour& colText); - wxColour& GetTextColour(); + wxColour GetTextColour(); void SetBackgroundColour(const wxColour& colBack); - wxColour& GetBackgroundColour(); + wxColour GetBackgroundColour(); void SetBitmaps(const wxBitmap& bmpChecked, const wxBitmap& bmpUnchecked = wxNullBitmap); void SetBitmap(const wxBitmap& bmpChecked);