X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1b8c7ba607a15a2ff8a04448138df9ffff7df6c5..e328812d748d2db49440a5fcf3ef9d3a49edbd56:/wxPython/contrib/gizmos/gizmos.i diff --git a/wxPython/contrib/gizmos/gizmos.i b/wxPython/contrib/gizmos/gizmos.i index bb20287ecd..6233c24f0e 100644 --- a/wxPython/contrib/gizmos/gizmos.i +++ b/wxPython/contrib/gizmos/gizmos.i @@ -26,6 +26,7 @@ #include #include #include +#include #include #include @@ -47,7 +48,8 @@ MAKE_CONST_WXSTRING2(DynamicSashNameStr, wxT("dynamicSashWindow")); MAKE_CONST_WXSTRING2(EditableListBoxNameStr, wxT("editableListBox")); MAKE_CONST_WXSTRING2(TreeListCtrlNameStr, wxT("treelistctrl")); - +MAKE_CONST_WXSTRING(StaticPictureNameStr); + MAKE_CONST_WXSTRING_NOSWIG(EmptyString); @@ -56,13 +58,13 @@ MAKE_CONST_WXSTRING_NOSWIG(EmptyString); //--------------------------------------------------------------------------- enum { - wxEVT_DYNAMIC_SASH_SPLIT, - wxEVT_DYNAMIC_SASH_UNIFY, - wxDS_MANAGE_SCROLLBARS, wxDS_DRAG_CORNER, }; +%constant wxEventType wxEVT_DYNAMIC_SASH_SPLIT; +%constant wxEventType wxEVT_DYNAMIC_SASH_UNIFY; + /* wxDynamicSashSplitEvents are sent to your view by wxDynamicSashWindow @@ -283,7 +285,7 @@ public: virtual void DrawItem(wxDC& dc, wxTreeItemId id, const wxRect& rect) { bool found; - bool blocked = wxPyBeginBlockThreads(); + wxPyBlock_t blocked = wxPyBeginBlockThreads(); if ((found = wxPyCBH_findCallback(m_myInst, "DrawItem"))) { PyObject* dcobj = wxPyMake_wxObject(&dc,false); PyObject* idobj = wxPyConstructObject((void*)&id, wxT("wxTreeItemId"), false); @@ -459,6 +461,8 @@ public: bool shown = true, wxTreeListColumnAlign alignment = wxTL_ALIGN_LEFT); + ~wxTreeListColumnInfo(); + bool GetShown() const; wxTreeListColumnAlign GetAlignment() const; wxString GetText() const; @@ -495,7 +499,7 @@ public: const wxTreeItemId& item2) { int rval = 0; bool found; - bool blocked = wxPyBeginBlockThreads(); + wxPyBlock_t blocked = wxPyBeginBlockThreads(); if ((found = wxPyCBH_findCallback(m_myInst, "OnCompareItems"))) { PyObject *o1 = wxPyConstructObject((void*)&item1, wxT("wxTreeItemId"), 0); PyObject *o2 = wxPyConstructObject((void*)&item2, wxT("wxTreeItemId"), 0); @@ -580,11 +584,11 @@ public: void SetStateImageList(wxImageList *imageList); void SetButtonsImageList(wxImageList *imageList); - %apply SWIGTYPE *DISOWN { wxImageList *imageList }; + %disownarg( wxImageList *imageList ); void AssignImageList(wxImageList *imageList); void AssignStateImageList(wxImageList *imageList); void AssignButtonsImageList(wxImageList *imageList); - %clear wxImageList *imageList; + %cleardisown( wxImageList *imageList ); // adds a column @@ -669,10 +673,12 @@ public: return data; } + %disownarg( wxPyTreeItemData* data ); void SetItemData(const wxTreeItemId& item, wxPyTreeItemData* data) { data->SetId(item); // set the id self->SetItemData(item, data); } + %cleardisown(wxPyTreeItemData* data ); // [Get|Set]ItemPyData are short-cuts. Also made somewhat crash-proof by // automatically creating data classes. @@ -757,7 +763,7 @@ public: //size_t GetSelections(wxArrayTreeItemIds&) const; %extend { PyObject* GetSelections() { - bool blocked = wxPyBeginBlockThreads(); + wxPyBlock_t blocked = wxPyBeginBlockThreads(); PyObject* rval = PyList_New(0); wxArrayTreeItemIds array; size_t num, x; @@ -766,6 +772,7 @@ public: wxTreeItemId *tii = new wxTreeItemId(array.Item(x)); PyObject* item = wxPyConstructObject((void*)tii, wxT("wxTreeItemId"), true); PyList_Append(rval, item); + Py_DECREF(item); } wxPyEndBlockThreads(blocked); return rval; @@ -793,7 +800,7 @@ public: PyObject* GetFirstChild(const wxTreeItemId& item) { void* cookie = 0; wxTreeItemId* ritem = new wxTreeItemId(self->GetFirstChild(item, cookie)); - bool blocked = wxPyBeginBlockThreads(); + wxPyBlock_t blocked = wxPyBeginBlockThreads(); PyObject* tup = PyTuple_New(2); PyTuple_SET_ITEM(tup, 0, wxPyConstructObject(ritem, wxT("wxTreeItemId"), true)); PyTuple_SET_ITEM(tup, 1, wxPyMakeSwigPtr(cookie, wxT("void"))); @@ -808,7 +815,7 @@ public: // passed to GetNextChild in order to continue the search. PyObject* GetNextChild(const wxTreeItemId& item, void* cookie) { wxTreeItemId* ritem = new wxTreeItemId(self->GetNextChild(item, cookie)); - bool blocked = wxPyBeginBlockThreads(); + wxPyBlock_t blocked = wxPyBeginBlockThreads(); PyObject* tup = PyTuple_New(2); PyTuple_SET_ITEM(tup, 0, wxPyConstructObject(ritem, wxT("wxTreeItemId"), true)); PyTuple_SET_ITEM(tup, 1, wxPyMakeSwigPtr(cookie, wxT("void"))); @@ -844,6 +851,8 @@ public: wxTreeItemId GetNext(const wxTreeItemId& item) const; + %disownarg( wxPyTreeItemData* data ); + // add the root node to the tree wxTreeItemId AddRoot(const wxString& text, int image = -1, int selectedImage = -1, @@ -876,6 +885,8 @@ public: int image = -1, int selectedImage = -1, wxPyTreeItemData *data = NULL); + %cleardisown(wxPyTreeItemData* data ); + // delete this item and associated data if any void Delete(const wxTreeItemId& item); @@ -927,7 +938,7 @@ public: PyObject* GetBoundingRect(const wxTreeItemId& item, bool textOnly = false) { wxRect rect; if (self->GetBoundingRect(item, rect, textOnly)) { - bool blocked = wxPyBeginBlockThreads(); + wxPyBlock_t blocked = wxPyBeginBlockThreads(); wxRect* r = new wxRect(rect); PyObject* val = wxPyConstructObject((void*)r, wxT("wxRect"), 1); wxPyEndBlockThreads(blocked); @@ -957,7 +968,55 @@ public: }; +//---------------------------------------------------------------------- + +enum +{ + wxSCALE_HORIZONTAL, + wxSCALE_VERTICAL, + wxSCALE_UNIFORM, + wxSCALE_CUSTOM +}; + +MustHaveApp(wxStaticPicture); +class wxStaticPicture : public wxControl +{ +public: + %pythonAppend wxStaticPicture "self._setOORInfo(self)" + %pythonAppend wxStaticPicture() "" + + wxStaticPicture( wxWindow* parent, wxWindowID id=-1, + const wxBitmap& label=wxNullBitmap, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + long style = 0, + const wxString& name = wxPyStaticPictureNameStr ); + + %RenameCtor(PreStaticPicture, wxStaticPicture()); + + bool Create( wxWindow* parent, wxWindowID id=-1, + const wxBitmap& label=wxNullBitmap, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + long style = 0, + const wxString& name = wxPyStaticPictureNameStr ); + + void SetBitmap( const wxBitmap& bmp ); + wxBitmap GetBitmap() const; + void SetIcon( const wxIcon& icon ); + wxIcon GetIcon() const; + + void SetAlignment( int align ); + int GetAlignment() const; + + void SetScale( int scale ); + int GetScale() const; + + void SetCustomScale( float sx, float sy ); + void GetCustomScale( float* OUTPUT, float* OUTPUT ) const; + +}; //----------------------------------------------------------------------