X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a541c325865cd11d1ba8ef25333b8650b2823c8a..aacd7bb647b763213a96fad6a0f789fc64eaabf5:/wxPython/src/windows.i?ds=sidebyside diff --git a/wxPython/src/windows.i b/wxPython/src/windows.i index 5046c9628f..a79cea8664 100644 --- a/wxPython/src/windows.i +++ b/wxPython/src/windows.i @@ -33,6 +33,14 @@ %pragma(python) code = "import wx" +//---------------------------------------------------------------------- + +%{ + // Put some wx default wxChar* values into wxStrings. + DECLARE_DEF_STRING(PanelNameStr); + static const wxString wxPyEmptyString(wxT("")); +%} + //--------------------------------------------------------------------------- class wxEvtHandler : public wxObject { @@ -174,14 +182,14 @@ public: const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = 0, - char* name = "panel"); + const wxString& name = wxPyPanelNameStr); %name(wxPreWindow)wxWindow(); bool Create(wxWindow* parent, const wxWindowID id, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = 0, - char* name = "panel"); + const wxString& name = wxPyPanelNameStr); %pragma(python) addtomethod = "__init__:self._setOORInfo(self)" %pragma(python) addtomethod = "wxPreWindow:val._setOORInfo(val)" @@ -428,8 +436,8 @@ public: void OnPaint(wxPaintEvent& event); #endif - wxButton* GetDefaultItem(); - void SetDefaultItem(wxButton *btn); + wxWindow* GetDefaultItem(); + wxWindow* SetDefaultItem(wxWindow *btn); }; @@ -471,7 +479,7 @@ public: const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxTAB_TRAVERSAL, - const char* name = "panel"); + const wxString& name = wxPyPanelNameStr); %name(wxPrePanel)wxPanel(); bool Create(wxWindow* parent, @@ -479,7 +487,7 @@ public: const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxTAB_TRAVERSAL, - const char* name = "panel"); + const wxString& name = wxPyPanelNameStr); %pragma(python) addtomethod = "__init__:self._setOORInfo(self)" %pragma(python) addtomethod = "wxPrePanel:val._setOORInfo(val)" @@ -502,7 +510,7 @@ public: const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxHSCROLL | wxVSCROLL, - char* name = "scrolledWindow"); + const wxString& name = wxPyPanelNameStr); %name(wxPreScrolledWindow)wxScrolledWindow(); bool Create(wxWindow* parent, @@ -510,7 +518,7 @@ public: const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxHSCROLL | wxVSCROLL, - char* name = "scrolledWindow"); + const wxString& name = wxPyPanelNameStr); %pragma(python) addtomethod = "__init__:self._setOORInfo(self)" %pragma(python) addtomethod = "wxPreScrolledWindow:val._setOORInfo(val)" @@ -531,14 +539,37 @@ public: void GetViewStart(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); + %name(CalcScrolledPosition1)wxPoint CalcScrolledPosition(const wxPoint& pt); + %name(CalcScrolledPosition2)void CalcScrolledPosition( int x, int y, int *OUTPUT, int *OUTPUT); + + %name(CalcUnscrolledPosition1)wxPoint CalcUnscrolledPosition(const wxPoint& pt); + %name(CalcUnscrolledPosition2)void CalcUnscrolledPosition( int x, int y, int *OUTPUT, int *OUTPUT); + + %pragma(python) addtoclass = " + def CalcScrolledPosition(self, *args): + if len(args) == 1: + return apply(self.CalcScrolledPosition1, args) + elif len(args) == 2: + return apply(self.CalcScrolledPosition2, args) + else: + raise TypeError, 'Invalid parameters: only (x,y) or (point) allowed' + + def CalcUnscrolledPosition(self, *args): + if len(args) == 1: + return apply(self.CalcUnscrolledPosition1, args) + elif len(args) == 2: + return apply(self.CalcUnscrolledPosition2, args) + else: + raise TypeError, 'Invalid parameters: only (x,y) or (point) allowed' +" void SetScale(double xs, double ys); double GetScaleX(); double GetScaleY(); void AdjustScrollbars(); + + bool Layout(); }; //---------------------------------------------------------------------- @@ -546,18 +577,65 @@ public: class wxMenu : public wxEvtHandler { public: - wxMenu(const wxString& title = wxEmptyString, long style = 0); + wxMenu(const wxString& title = wxPyEmptyString, long style = 0); %pragma(python) addtomethod = "__init__:self._setOORInfo(self)" void Append(int id, const wxString& item, - const wxString& helpString = wxEmptyString, - int checkable = FALSE); + const wxString& helpString = wxPyEmptyString, + wxItemKind kind = wxITEM_NORMAL); %name(AppendMenu)void Append(int id, const wxString& item, wxMenu *subMenu, - const wxString& helpString = wxEmptyString); + const wxString& helpString = wxPyEmptyString); %name(AppendItem)void Append(const wxMenuItem* item); - + void AppendCheckItem(int id, + const wxString& text, + const wxString& help = wxPyEmptyString); + void AppendRadioItem(int id, + const wxString& text, + const wxString& help = wxPyEmptyString); void AppendSeparator(); + + + void Insert(size_t pos, + int id, + const wxString& text, + const wxString& help = wxPyEmptyString, + wxItemKind kind = wxITEM_NORMAL); + void InsertSeparator(size_t pos); + void InsertCheckItem(size_t pos, + int id, + const wxString& text, + const wxString& help = wxPyEmptyString); + void InsertRadioItem(size_t pos, + int id, + const wxString& text, + const wxString& help = wxPyEmptyString); + %name(InsertMenu)void Insert(size_t pos, + int id, + const wxString& text, + wxMenu *submenu, + const wxString& help = wxPyEmptyString); + %name(InsertItem)bool Insert(size_t pos, wxMenuItem *item); + + + void Prepend(int id, + const wxString& text, + const wxString& help = wxPyEmptyString, + wxItemKind kind = wxITEM_NORMAL); + void PrependSeparator(); + void PrependCheckItem(int id, + const wxString& text, + const wxString& help = wxPyEmptyString); + void PrependRadioItem(int id, + const wxString& text, + const wxString& help = wxPyEmptyString); + %name(PrependMenu)void Prepend(int id, + const wxString& text, + wxMenu *submenu, + const wxString& help = wxPyEmptyString); + %name(PrependItem)void Prepend(wxMenuItem *item); + + void Break(); void Check(int id, bool flag); bool IsChecked(int id); @@ -579,10 +657,12 @@ public: bool Delete(int id); %name(DeleteItem)bool Delete(wxMenuItem *item); - bool Insert(size_t pos, wxMenuItem *item); wxMenuItem *Remove(int id); %name(RemoveItem) wxMenuItem *Remove(wxMenuItem *item); + + + %addmethods { void Destroy() { delete self; } } @@ -652,9 +732,10 @@ public: class wxMenuItem : public wxObject { public: wxMenuItem(wxMenu* parentMenu=NULL, int id=wxID_SEPARATOR, - const wxString& text = wxEmptyString, - const wxString& help = wxEmptyString, - bool isCheckable = FALSE, wxMenu* subMenu = NULL); + const wxString& text = wxPyEmptyString, + const wxString& help = wxPyEmptyString, + wxItemKind kind = wxITEM_NORMAL, + wxMenu* subMenu = NULL); wxMenu *GetMenu(); @@ -664,6 +745,7 @@ public: void SetText(const wxString& str); wxString GetLabel(); const wxString& GetText(); + wxItemKind GetKind(); void SetCheckable(bool checkable); bool IsCheckable(); bool IsSubMenu(); @@ -680,6 +762,7 @@ public: void SetAccel(wxAcceleratorEntry *accel); static wxString GetLabelFromText(const wxString& text); +// static wxAcceleratorEntry *GetAccelFromString(const wxString& label); // wxOwnerDrawn methods #ifdef __WXMSW__