]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/_listctrl.i
Allow for Cmd-click on wxMac
[wxWidgets.git] / wxPython / src / _listctrl.i
index 156c2f658df7af3e18fda8e478335c5646b7243a..c969897f71754df361c7e8ec13b2355e5540dc4a 100644 (file)
@@ -17,8 +17,8 @@
 
 %{
 #include <wx/listctrl.h>
-
 %}
+
 MAKE_CONST_WXSTRING2(ListCtrlNameStr, _T("wxListCtrl"));
 
 //---------------------------------------------------------------------------
@@ -341,7 +341,7 @@ EVT_LIST_ITEM_FOCUSED      = wx.PyEventBinder(wxEVT_COMMAND_LIST_ITEM_FOCUSED
     static int wxCALLBACK wxPyListCtrl_SortItems(long item1, long item2, long funcPtr) {
         int retval = 0;
         PyObject* func = (PyObject*)funcPtr;
-        wxPyBeginBlockThreads();
+        bool blocked = wxPyBeginBlockThreads();
 
         PyObject* args = Py_BuildValue("(ii)", item1, item2);
         PyObject* result = PyEval_CallObject(func, args);
@@ -351,7 +351,7 @@ EVT_LIST_ITEM_FOCUSED      = wx.PyEventBinder(wxEVT_COMMAND_LIST_ITEM_FOCUSED
             Py_DECREF(result);
         }
 
-        wxPyEndBlockThreads();
+        wxPyEndBlockThreads(blocked);
         return retval;
     }
 %}
@@ -398,11 +398,13 @@ IMP_PYCALLBACK_LISTATTR_LONG(wxPyListCtrl, wxListCtrl, OnGetItemAttr);
 
 
 
+MustHaveApp(wxPyListCtrl);
+
 %name(ListCtrl)class wxPyListCtrl : public wxControl {
 public:
 
-    %addtofunc wxPyListCtrl         "self._setOORInfo(self);self._setCallbackInfo(self, ListCtrl)"
-    %addtofunc wxPyListCtrl()       ""
+    %pythonAppend wxPyListCtrl         "self._setOORInfo(self);self._setCallbackInfo(self, ListCtrl)"
+    %pythonAppend wxPyListCtrl()       ""
    
     wxPyListCtrl(wxWindow* parent, wxWindowID id = -1,
                  const wxPoint& pos = wxDefaultPosition,
@@ -427,7 +429,7 @@ public:
     bool SetBackgroundColour(const wxColour& col);
 
     // Gets information about this column
-    %addtofunc GetColumn "if val is not None: val.thisown = 1";  // %newobject doesn't work with OOR typemap
+    %pythonAppend GetColumn "if val is not None: val.thisown = 1";  // %newobject doesn't work with OOR typemap
     %extend {
         wxListItem* GetColumn(int col) {
             wxListItem item;
@@ -470,7 +472,7 @@ public:
 #endif
 
     // Gets information about the item
-    %addtofunc GetItem "if val is not None: val.thisown = 1";  // %newobject doesn't work with OOR typemap
+    %pythonAppend GetItem "if val is not None: val.thisown = 1";  // %newobject doesn't work with OOR typemap
     %extend {
         wxListItem* GetItem(long itemId, int col=0) {
             wxListItem* info = new wxListItem;
@@ -578,9 +580,13 @@ public:
 
     // is there a way to tell SWIG to disown this???
 
-    %addtofunc AssignImageList "args[1].thisown = 0";    
+    %apply SWIGTYPE *DISOWN { wxImageList *imageList };
     void AssignImageList(wxImageList *imageList, int which);
-
+    %clear wxImageList *imageList;
+    
+    // are we in report mode?
+    bool InReportView() const;
+        
     // returns True if it is a virtual list control
     bool IsVirtual() const;
 
@@ -635,8 +641,8 @@ public:
     DocDeclAStr(
         long, HitTest(const wxPoint& point, int& OUTPUT),
         "HitTest(Point point) -> (item, where)",
-        "Determines which item (if any) is at the specified point,\n"
-        "giving details in the second return value (see wxLIST_HITTEST_... flags.)");
+        "Determines which item (if any) is at the specified point, giving
+details in the second return value (see wxLIST_HITTEST_... flags.)", "");
 
     // Inserts an item, returning the index of the new item if successful,
     // -1 otherwise.
@@ -763,6 +769,9 @@ public:
         #endif
         }
     }
+
+    static wxVisualAttributes
+    GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL);
 };
 
 
@@ -771,12 +780,14 @@ public:
 %newgroup
 
 
+MustHaveApp(wxListView);
+
 // wxListView: a class which provides a little better API for list control
 class wxListView : public wxPyListCtrl
 {
 public:
-    %addtofunc wxListView         "self._setOORInfo(self)"
-    %addtofunc wxListView()       ""
+    %pythonAppend wxListView         "self._setOORInfo(self)"
+    %pythonAppend wxListView()       ""
 
     wxListView( wxWindow *parent,
                 wxWindowID id = -1,