]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/_listctrl.i
Added missing platform constants
[wxWidgets.git] / wxPython / src / _listctrl.i
index 0b88af7a3da1f6f87882df7b1840086b3dde1c2a..00b88bb0f530df129cdd984f4cfbb940f7eea312 100644 (file)
@@ -84,6 +84,9 @@ enum {
     wxLIST_HITTEST_TOLEFT,
     wxLIST_HITTEST_TORIGHT,
     wxLIST_HITTEST_ONITEM,
+
+// GetSubItemRect constants    
+    wxLIST_GETSUBITEMRECT_WHOLEITEM,
 };
 
 
@@ -153,7 +156,7 @@ public:
     wxListItemAttr(const wxColour& colText = wxNullColour,
                    const wxColour& colBack = wxNullColour,
                    const wxFont& font = wxNullFont);
-
+    ~wxListItemAttr();
 
     // setters
     void SetTextColour(const wxColour& colText);
@@ -169,6 +172,9 @@ public:
     wxColour GetBackgroundColour();
     wxFont GetFont();
 
+    void AssignFrom(const wxListItemAttr& source);
+
+    %pythonAppend Destroy "args[0].thisown = 0"
     %extend { void Destroy() { delete self; } }
 };
 
@@ -368,7 +374,7 @@ EVT_LIST_ITEM_FOCUSED      = wx.PyEventBinder(wxEVT_COMMAND_LIST_ITEM_FOCUSED
 
 %{  // 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,
@@ -393,6 +399,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;
 };
@@ -402,7 +409,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); 
+
 %}
 
 
@@ -478,10 +486,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
@@ -510,6 +516,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 ;
@@ -540,6 +547,13 @@ public:
             self->GetItemRect(item, rect, code);
             return rect;
         }
+
+// MSW only so far...        
+//         wxRect GetSubItemRect(long item, long subItem, int code = wxLIST_RECT_BOUNDS) {
+//             wxRect rect;
+//             self->GetSubItemRect(item, subItem, rect, code);
+//             return rect;
+//         }
     }
 
 
@@ -554,9 +568,11 @@ public:
 
     // get the horizontal and vertical components of the item spacing
     wxSize GetItemSpacing() const;
+    %pythoncode { GetItemSpacing = wx._deprecated(GetItemSpacing) }
 
 #ifndef __WXMSW__
     void SetItemSpacing( int spacing, bool isSmall = false );
+    %pythoncode { SetItemSpacing = wx._deprecated(SetItemSpacing) }
 #endif
 
     // Gets the number of selected items in the list control
@@ -590,11 +606,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;
@@ -656,18 +670,30 @@ public:
         "Determines which item (if any) is at the specified point, giving
 details in the second return value (see wx.LIST_HITTEST flags.)", "");
 
+    DocDeclAStrName(
+        long, HitTest(const wxPoint& point, int& OUTPUT, long* OUTPUT),
+        "HitTestSubItem(Point point) -> (item, where, subItem)",
+        "Determines which item (if any) is at the specified point, giving details in
+the second return value (see wx.LIST_HITTEST flags) and also the subItem, if
+any.", "",
+        HitTestSubItem);
+
+    
     // Inserts an item, returning the index of the new item if successful,
     // -1 otherwise.
     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(InsertColumnItem,  long, InsertColumn(long col, wxListItem& info));