]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/_listbox.i
wxCheckListBox doesn't require wxUSE_OWNER_DRAWN when using WXUNIVERSAL
[wxWidgets.git] / wxPython / src / _listbox.i
index 7af5eafdea9098b84f61f52735b0486e649234db..41fdd0eb02288351116d41d7515dc1ee5143aa7e 100644 (file)
@@ -26,13 +26,15 @@ MAKE_CONST_WXSTRING(ListBoxNameStr);
 //---------------------------------------------------------------------------
 %newgroup
 
+MustHaveApp(wxListBox);
+
 class wxListBox : public wxControlWithItems
 {
 public:
     %pythonAppend wxListBox         "self._setOORInfo(self)"
     %pythonAppend wxListBox()       ""
 
-    wxListBox(wxWindow* parent, wxWindowID id,
+    wxListBox(wxWindow* parent, wxWindowID id=-1,
               const wxPoint& pos = wxDefaultPosition,
               const wxSize& size = wxDefaultSize,
               //int choices=0, wxString* choices_array = NULL,
@@ -40,9 +42,9 @@ public:
               long style = 0,
               const wxValidator& validator = wxDefaultValidator,
               const wxString& name = wxPyListBoxNameStr);
-    %name(PreListBox)wxListBox();
+    %RenameCtor(PreListBox, wxListBox());
 
-    bool Create(wxWindow* parent, wxWindowID id,
+    bool Create(wxWindow* parent, wxWindowID id=-1,
                 const wxPoint& pos = wxDefaultPosition,
                 const wxSize& size = wxDefaultSize,
                 //int choices=0, wxString* choices_array = NULL,
@@ -68,12 +70,12 @@ public:
 
     // multiple selection logic
     virtual bool IsSelected(int n) const;
-    virtual void SetSelection(int n, bool select = True);
+    virtual void SetSelection(int n, bool select = true);
     virtual void Select(int n);
     void Deselect(int n);
     void DeselectAll(int itemToLeaveSelected = -1);
 
-    virtual bool SetStringSelection(const wxString& s, bool select = True);
+    virtual bool SetStringSelection(const wxString& s, bool select = true);
 
     // works for single as well as multiple selection listboxes (unlike
     // GetSelection which only works for listboxes with single selection)
@@ -93,7 +95,7 @@ public:
     // set the specified item at the first visible item or scroll to max
     // range.
     void SetFirstItem(int n);
-    %name(SetFirstItemStr) void SetFirstItem(const wxString& s);
+    %Rename(SetFirstItemStr,  void, SetFirstItem(const wxString& s));
 
     // ensures that the given item is visible scrolling the listbox if
     // necessary
@@ -105,6 +107,31 @@ public:
 
     // return True if this listbox is sorted
     bool IsSorted() const;
+
+
+    %extend {
+        void SetItemForegroundColour(int item, const wxColour& c) {
+            %#ifdef __WXMSW__
+                 if (self->GetWindowStyle() & wxLB_OWNERDRAW)
+                     self->GetItem(item)->SetTextColour(c);
+            %#endif
+        }
+        void SetItemBackgroundColour(int item, const wxColour& c) {
+            %#ifdef __WXMSW__
+                 if (self->GetWindowStyle() & wxLB_OWNERDRAW)
+                     self->GetItem(item)->SetBackgroundColour(c);
+            %#endif
+        }
+        void SetItemFont(int item, const wxFont& f) {
+            %#ifdef __WXMSW__
+                 if (self->GetWindowStyle() & wxLB_OWNERDRAW)
+                     self->GetItem(item)->SetFont(f);
+            %#endif
+        }
+    }
+    
+    static wxVisualAttributes
+    GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL);
 };
 
 
@@ -112,6 +139,8 @@ public:
 %newgroup
 
 
+MustHaveApp(wxCheckListBox);
+
 // wxCheckListBox: a listbox whose items may be checked
 class wxCheckListBox : public wxListBox
 {
@@ -119,7 +148,7 @@ public:
     %pythonAppend wxCheckListBox         "self._setOORInfo(self)"
     %pythonAppend wxCheckListBox()       ""
 
-    wxCheckListBox(wxWindow *parent, wxWindowID id,
+    wxCheckListBox(wxWindow *parent, wxWindowID id=-1,
                    const wxPoint& pos = wxDefaultPosition,
                    const wxSize& size = wxDefaultSize,
                    //int choices = 0, wxString* choices_array = NULL,
@@ -127,9 +156,9 @@ public:
                    long style = 0,
                    const wxValidator& validator = wxDefaultValidator,
                    const wxString& name = wxPyListBoxNameStr);
-    %name(PreCheckListBox)wxCheckListBox();
+    %RenameCtor(PreCheckListBox, wxCheckListBox());
 
-    bool Create(wxWindow *parent, wxWindowID id,
+    bool Create(wxWindow *parent, wxWindowID id=-1,
                 const wxPoint& pos = wxDefaultPosition,
                 const wxSize& size = wxDefaultSize,
                 //int choices = 0, wxString* choices_array = NULL,
@@ -139,7 +168,7 @@ public:
                 const wxString& name = wxPyListBoxNameStr);
 
     bool  IsChecked(int index);
-    void  Check(int index, int check = True);
+    void  Check(int index, int check = true);
 
 #if defined(__WXMSW__) || defined(__WXGTK__)
     int GetItemHeight();
@@ -147,7 +176,7 @@ public:
 
     // return the index of the item at this position or wxNOT_FOUND
     int HitTest(const wxPoint& pt) const;
-    %name(HitTestXY)int HitTest(wxCoord x, wxCoord y) const;
+    %Rename(HitTestXY, int, HitTest(wxCoord x, wxCoord y) const);
 };
 
 //---------------------------------------------------------------------------