X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/7c1f6b54a50c5b761157b6f152413c6fbb837237..7a952d4cbdf13ee9bad234f3b08678988c6bba53:/wxPython/src/_listctrl.i diff --git a/wxPython/src/_listctrl.i b/wxPython/src/_listctrl.i index 48a9f0ac31..cf45734fb4 100644 --- a/wxPython/src/_listctrl.i +++ b/wxPython/src/_listctrl.i @@ -153,7 +153,7 @@ public: wxListItemAttr(const wxColour& colText = wxNullColour, const wxColour& colBack = wxNullColour, const wxFont& font = wxNullFont); - + ~wxListItemAttr(); // setters void SetTextColour(const wxColour& colText); @@ -169,6 +169,9 @@ public: wxColour GetBackgroundColour(); wxFont GetFont(); + void AssignFrom(const wxListItemAttr& source); + + %pythonAppend Destroy "args[0].thisown = 0" %extend { void Destroy() { delete self; } } }; @@ -304,9 +307,10 @@ public: %constant wxEventType wxEVT_COMMAND_LIST_ITEM_FOCUSED; // WXWIN_COMPATIBILITY_2_4 +#if 0 %constant wxEventType wxEVT_COMMAND_LIST_GET_INFO; %constant wxEventType wxEVT_COMMAND_LIST_SET_INFO; - +#endif %pythoncode { @@ -316,8 +320,10 @@ EVT_LIST_BEGIN_LABEL_EDIT = wx.PyEventBinder(wxEVT_COMMAND_LIST_BEGIN_LABEL_EDI EVT_LIST_END_LABEL_EDIT = wx.PyEventBinder(wxEVT_COMMAND_LIST_END_LABEL_EDIT , 1) EVT_LIST_DELETE_ITEM = wx.PyEventBinder(wxEVT_COMMAND_LIST_DELETE_ITEM , 1) EVT_LIST_DELETE_ALL_ITEMS = wx.PyEventBinder(wxEVT_COMMAND_LIST_DELETE_ALL_ITEMS , 1) -EVT_LIST_GET_INFO = wx.PyEventBinder(wxEVT_COMMAND_LIST_GET_INFO , 1) -EVT_LIST_SET_INFO = wx.PyEventBinder(wxEVT_COMMAND_LIST_SET_INFO , 1) +#WXWIN_COMPATIBILITY_2_4 +#EVT_LIST_GET_INFO = wx.PyEventBinder(wxEVT_COMMAND_LIST_GET_INFO , 1) +#EVT_LIST_SET_INFO = wx.PyEventBinder(wxEVT_COMMAND_LIST_SET_INFO , 1) +#END WXWIN_COMPATIBILITY_2_4 EVT_LIST_ITEM_SELECTED = wx.PyEventBinder(wxEVT_COMMAND_LIST_ITEM_SELECTED , 1) EVT_LIST_ITEM_DESELECTED = wx.PyEventBinder(wxEVT_COMMAND_LIST_ITEM_DESELECTED , 1) EVT_LIST_KEY_DOWN = wx.PyEventBinder(wxEVT_COMMAND_LIST_KEY_DOWN , 1) @@ -333,8 +339,9 @@ EVT_LIST_COL_DRAGGING = wx.PyEventBinder(wxEVT_COMMAND_LIST_COL_DRAGGING EVT_LIST_COL_END_DRAG = wx.PyEventBinder(wxEVT_COMMAND_LIST_COL_END_DRAG , 1) EVT_LIST_ITEM_FOCUSED = wx.PyEventBinder(wxEVT_COMMAND_LIST_ITEM_FOCUSED , 1) -EVT_LIST_GET_INFO = wx._deprecated(EVT_LIST_GET_INFO) -EVT_LIST_SET_INFO = wx._deprecated(EVT_LIST_SET_INFO) +#WXWIN_COMPATIBILITY_2_4 +#EVT_LIST_GET_INFO = wx._deprecated(EVT_LIST_GET_INFO) +#EVT_LIST_SET_INFO = wx._deprecated(EVT_LIST_SET_INFO) } //--------------------------------------------------------------------------- @@ -345,7 +352,7 @@ EVT_LIST_SET_INFO = wx._deprecated(EVT_LIST_SET_INFO) static int wxCALLBACK wxPyListCtrl_SortItems(long item1, long item2, long funcPtr) { int retval = 0; PyObject* func = (PyObject*)funcPtr; - bool blocked = wxPyBeginBlockThreads(); + wxPyBlock_t blocked = wxPyBeginBlockThreads(); PyObject* args = Py_BuildValue("(ii)", item1, item2); PyObject* result = PyEval_CallObject(func, args); @@ -364,7 +371,7 @@ EVT_LIST_SET_INFO = wx._deprecated(EVT_LIST_SET_INFO) %{ // C++ Version of a Python aware class class wxPyListCtrl : public wxListCtrl { - DECLARE_ABSTRACT_CLASS(wxPyListCtrl); + DECLARE_ABSTRACT_CLASS(wxPyListCtrl) public: wxPyListCtrl() : wxListCtrl() {} wxPyListCtrl(wxWindow* parent, wxWindowID id, @@ -389,6 +396,7 @@ public: // use the virtual version to avoid a confusing assert in the base class DEC_PYCALLBACK_INT_LONG_virtual(OnGetItemImage); + DEC_PYCALLBACK_INT_LONGLONG(OnGetItemColumnImage); PYPRIVATE; }; @@ -398,7 +406,8 @@ IMPLEMENT_ABSTRACT_CLASS(wxPyListCtrl, wxListCtrl); IMP_PYCALLBACK_STRING_LONGLONG(wxPyListCtrl, wxListCtrl, OnGetItemText); IMP_PYCALLBACK_LISTATTR_LONG(wxPyListCtrl, wxListCtrl, OnGetItemAttr); IMP_PYCALLBACK_INT_LONG_virtual(wxPyListCtrl, wxListCtrl, OnGetItemImage); - +IMP_PYCALLBACK_INT_LONGLONG(wxPyListCtrl, wxListCtrl, OnGetItemColumnImage); + %} @@ -474,10 +483,8 @@ public: // return the total area occupied by all the items (icon/small icon only) wxRect GetViewRect() const; -#ifdef __WXMSW__ // Gets the edit control for editing labels. wxTextCtrl* GetEditControl() const; -#endif // Gets information about the item %pythonAppend GetItem "if val is not None: val.thisown = 1"; // %newobject doesn't work with OOR typemap @@ -506,6 +513,7 @@ public: // Sets the item image bool SetItemImage(long item, int image, int selImage=-1) ; + bool SetItemColumnImage( long item, long column, int image ); // Gets the item text wxString GetItemText(long item) const ; @@ -586,11 +594,9 @@ public: // Sets the image list void SetImageList(wxImageList *imageList, int which); - // is there a way to tell SWIG to disown this??? - - %apply SWIGTYPE *DISOWN { wxImageList *imageList }; + %disownarg( wxImageList *imageList ); void AssignImageList(wxImageList *imageList, int which); - %clear wxImageList *imageList; + %cleardisown( wxImageList *imageList ); // are we in report mode? bool InReportView() const; @@ -657,16 +663,20 @@ details in the second return value (see wx.LIST_HITTEST flags.)", ""); long InsertItem(wxListItem& info); // Insert a string item - %Rename(InsertStringItem, long, InsertItem(long index, const wxString& label)); + %Rename(InsertStringItem, + long, InsertItem(long index, const wxString& label, int imageIndex=-1)); // Insert an image item - %Rename(InsertImageItem, long, InsertItem(long index, int imageIndex)); + %Rename(InsertImageItem, + long, InsertItem(long index, int imageIndex)); // Insert an image/string item - %Rename(InsertImageStringItem, long, InsertItem(long index, const wxString& label, int imageIndex)); + %Rename(InsertImageStringItem, + long, InsertItem(long index, const wxString& label, int imageIndex)); // For list view mode (only), inserts a column. - %Rename(InsertColumnInfo, long, InsertColumn(long col, wxListItem& info)); + %Rename(InsertColumnItem, long, InsertColumn(long col, wxListItem& info)); + %pythoncode { InsertColumnInfo = InsertColumnItem } long InsertColumn(long col, const wxString& heading, @@ -688,6 +698,9 @@ details in the second return value (see wx.LIST_HITTEST flags.)", ""); void SetItemBackgroundColour( long item, const wxColour &col); wxColour GetItemBackgroundColour( long item ) const; + // Font of an item. + void SetItemFont( long item, const wxFont &f); + wxFont GetItemFont( long item ) const; %pythoncode { %# @@ -717,7 +730,7 @@ details in the second return value (see wx.LIST_HITTEST flags.)", ""); def IsSelected(self, idx): '''return True if the item is selected''' - return self.GetItemState(idx, wx.LIST_STATE_SELECTED) != 0 + return (self.GetItemState(idx, wx.LIST_STATE_SELECTED) & wx.LIST_STATE_SELECTED) != 0 def SetColumnImage(self, col, image): item = self.GetColumn(col)