]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/_listctrl.i
PyCrust now has an option for showing/hiding the notebook.
[wxWidgets.git] / wxPython / src / _listctrl.i
index 00b88bb0f530df129cdd984f4cfbb940f7eea312..2c5e865413347adbcb0f97ab192583c8009c48bd 100644 (file)
@@ -85,7 +85,7 @@ enum {
     wxLIST_HITTEST_TORIGHT,
     wxLIST_HITTEST_ONITEM,
 
-// GetSubItemRect constants    
+// GetSubItemRect constants
     wxLIST_GETSUBITEMRECT_WHOLEITEM,
 };
 
@@ -174,8 +174,12 @@ public:
 
     void AssignFrom(const wxListItemAttr& source);
 
-    %pythonAppend Destroy "args[0].thisown = 0"
+    %pythonPrepend Destroy "args[0].this.own(False)"
     %extend { void Destroy() { delete self; } }
+
+    %property(BackgroundColour, GetBackgroundColour, SetBackgroundColour, doc="See `GetBackgroundColour` and `SetBackgroundColour`");
+    %property(Font, GetFont, SetFont, doc="See `GetFont` and `SetFont`");
+    %property(TextColour, GetTextColour, SetTextColour, doc="See `GetTextColour` and `SetTextColour`");
 };
 
 
@@ -188,9 +192,15 @@ public:
 // wxListItem: the item or column info, used to exchange data with wxListCtrl
 class wxListItem : public wxObject {
 public:
+    // turn off this typemap
+    %typemap(out) wxListItem*;
+
     wxListItem();
     ~wxListItem();
 
+    // Turn it back on again
+    %typemap(out) wxListItem* { $result = wxPyMake_wxObject($1, $owner); }
+
     // resetting
     void Clear();
     void ClearAttributes();
@@ -245,6 +255,19 @@ public:
     int             m_format;   // left, right, centre
     int             m_width;    // width of column
 
+    %property(Align, GetAlign, SetAlign, doc="See `GetAlign` and `SetAlign`");
+    %property(Attributes, GetAttributes, doc="See `GetAttributes`");
+    %property(BackgroundColour, GetBackgroundColour, SetBackgroundColour, doc="See `GetBackgroundColour` and `SetBackgroundColour`");
+    %property(Column, GetColumn, SetColumn, doc="See `GetColumn` and `SetColumn`");
+    %property(Data, GetData, SetData, doc="See `GetData` and `SetData`");
+    %property(Font, GetFont, SetFont, doc="See `GetFont` and `SetFont`");
+    %property(Id, GetId, SetId, doc="See `GetId` and `SetId`");
+    %property(Image, GetImage, SetImage, doc="See `GetImage` and `SetImage`");
+    %property(Mask, GetMask, SetMask, doc="See `GetMask` and `SetMask`");
+    %property(State, GetState, SetState, doc="See `GetState` and `SetState`");
+    %property(Text, GetText, SetText, doc="See `GetText` and `SetText`");
+    %property(TextColour, GetTextColour, SetTextColour, doc="See `GetTextColour` and `SetTextColour`");
+    %property(Width, GetWidth, SetWidth, doc="See `GetWidth` and `SetWidth`");
 };
 
 
@@ -285,6 +308,20 @@ public:
     // was label editing canceled? (for wxEVT_COMMAND_LIST_END_LABEL_EDIT only)
     bool IsEditCancelled() const;
     void SetEditCanceled(bool editCancelled);
+
+    %property(CacheFrom, GetCacheFrom, doc="See `GetCacheFrom`");
+    %property(CacheTo, GetCacheTo, doc="See `GetCacheTo`");
+    %property(Column, GetColumn, doc="See `GetColumn`");
+    %property(Data, GetData, doc="See `GetData`");
+    %property(Image, GetImage, doc="See `GetImage`");
+    %property(Index, GetIndex, doc="See `GetIndex`");
+    %property(Item, GetItem, doc="See `GetItem`");
+    %property(KeyCode, GetKeyCode, doc="See `GetKeyCode`");
+    %property(Label, GetLabel, doc="See `GetLabel`");
+    %property(Mask, GetMask, doc="See `GetMask`");
+    %property(Point, GetPoint, doc="See `GetPoint`");
+    %property(Text, GetText, doc="See `GetText`");
+
 };
 
 /* List control event types */
@@ -409,21 +446,25 @@ 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); 
+IMP_PYCALLBACK_INT_LONGLONG(wxPyListCtrl, wxListCtrl, OnGetItemColumnImage);
 
 %}
 
 
 
-
+// NOTE: The following option is set in _settings.i
+//     # Until the new native control for wxMac is up to par, still use the generic one.
+//     SystemOptions.SetOptionInt("mac.listctrl.always_use_generic", 1)
 
 MustHaveApp(wxPyListCtrl);
 
 %rename(ListCtrl) wxPyListCtrl;
 class wxPyListCtrl : public wxControl {
 public:
+    // turn off this typemap
+    %typemap(out) wxPyListCtrl*;
 
-    %pythonAppend wxPyListCtrl         "self._setOORInfo(self);self._setCallbackInfo(self, ListCtrl)"
+    %pythonAppend wxPyListCtrl         "self._setOORInfo(self);" setCallbackInfo(ListCtrl)
     %pythonAppend wxPyListCtrl()       ""
 
     wxPyListCtrl(wxWindow* parent, wxWindowID id = -1,
@@ -434,6 +475,9 @@ public:
                  const wxString& name = wxPyListCtrlNameStr);
     %RenameCtor(PreListCtrl, wxPyListCtrl());
 
+    // Turn it back on again
+    %typemap(out) wxPyListCtrl* { $result = wxPyMake_wxObject($1, $owner); }
+
     bool Create(wxWindow* parent, wxWindowID id = -1,
                  const wxPoint& pos = wxDefaultPosition,
                  const wxSize& size = wxDefaultSize,
@@ -548,7 +592,7 @@ public:
             return rect;
         }
 
-// MSW only so far...        
+// MSW only so far...
 //         wxRect GetSubItemRect(long item, long subItem, int code = wxLIST_RECT_BOUNDS) {
 //             wxRect rect;
 //             self->GetSubItemRect(item, subItem, rect, code);
@@ -678,7 +722,7 @@ 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);
@@ -804,7 +848,7 @@ any.", "",
 
     %extend {
         wxWindow* GetMainWindow() {
-        #ifdef __WXMSW__
+        #if defined(__WXMSW__) || defined(__WXMAC__)
             return self;
         #else
             return (wxWindow*)self->m_mainWin;
@@ -814,6 +858,17 @@ any.", "",
 
     static wxVisualAttributes
     GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL);
+
+    %property(ColumnCount, GetColumnCount, doc="See `GetColumnCount`");
+    %property(CountPerPage, GetCountPerPage, doc="See `GetCountPerPage`");
+    %property(EditControl, GetEditControl, doc="See `GetEditControl`");
+    %property(FocusedItem, GetFocusedItem, doc="See `GetFocusedItem`");
+    %property(ItemCount, GetItemCount, SetItemCount, doc="See `GetItemCount` and `SetItemCount`");
+    %property(MainWindow, GetMainWindow, doc="See `GetMainWindow`");
+    %property(SelectedItemCount, GetSelectedItemCount, doc="See `GetSelectedItemCount`");
+    %property(TextColour, GetTextColour, SetTextColour, doc="See `GetTextColour` and `SetTextColour`");
+    %property(TopItem, GetTopItem, doc="See `GetTopItem`");
+    %property(ViewRect, GetViewRect, doc="See `GetViewRect`");
 };
 
 
@@ -866,6 +921,8 @@ public:
 
     void SetColumnImage(int col, int image);
     void ClearColumnImage(int col);
+
+    %property(FocusedItem, GetFocusedItem, doc="See `GetFocusedItem`");
 };