]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/_listbox.i
Allow for Cmd-click on wxMac
[wxWidgets.git] / wxPython / src / _listbox.i
index 5b126a5799bf3e5201acc17c1972e584e56cf448..2b3da1dc439a7a1d973d50c1b7b681c2b49a9242 100644 (file)
@@ -26,28 +26,32 @@ MAKE_CONST_WXSTRING(ListBoxNameStr);
 //---------------------------------------------------------------------------
 %newgroup
 
 //---------------------------------------------------------------------------
 %newgroup
 
+MustHaveApp(wxListBox);
+
 class wxListBox : public wxControlWithItems
 {
 public:
 class wxListBox : public wxControlWithItems
 {
 public:
-    %addtofunc wxListBox         "self._setOORInfo(self)"
-    %addtofunc wxListBox()       ""
+    %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,
               const wxPoint& pos = wxDefaultPosition,
               const wxSize& size = wxDefaultSize,
-              int choices=0, wxString* choices_array = NULL,
+              //int choices=0, wxString* choices_array = NULL,
+              const wxArrayString& choices = wxPyEmptyStringArray,              
               long style = 0,
               const wxValidator& validator = wxDefaultValidator,
               const wxString& name = wxPyListBoxNameStr);
     %name(PreListBox)wxListBox();
 
               long style = 0,
               const wxValidator& validator = wxDefaultValidator,
               const wxString& name = wxPyListBoxNameStr);
     %name(PreListBox)wxListBox();
 
-    bool Create(wxWindow* parent, wxWindowID id,
-              const wxPoint& pos = wxDefaultPosition,
-              const wxSize& size = wxDefaultSize,
-              int choices=0, wxString* choices_array = NULL,
-              long style = 0,
-              const wxValidator& validator = wxDefaultValidator,
-              const wxString& name = wxPyListBoxNameStr);
+    bool Create(wxWindow* parent, wxWindowID id=-1,
+                const wxPoint& pos = wxDefaultPosition,
+                const wxSize& size = wxDefaultSize,
+                //int choices=0, wxString* choices_array = NULL,
+                const wxArrayString& choices = wxPyEmptyStringArray,
+                long style = 0,
+                const wxValidator& validator = wxDefaultValidator,
+                const wxString& name = wxPyListBoxNameStr);
 
     // all generic methods are in wxControlWithItems...
 
 
     // all generic methods are in wxControlWithItems...
 
@@ -103,6 +107,31 @@ public:
 
     // return True if this listbox is sorted
     bool IsSorted() const;
 
     // 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);
 };
 
 
 };
 
 
@@ -110,34 +139,38 @@ public:
 %newgroup
 
 
 %newgroup
 
 
+MustHaveApp(wxCheckListBox);
+
 // wxCheckListBox: a listbox whose items may be checked
 class wxCheckListBox : public wxListBox
 {
 public:
 // wxCheckListBox: a listbox whose items may be checked
 class wxCheckListBox : public wxListBox
 {
 public:
-    %addtofunc wxListBox         "self._setOORInfo(self)"
-    %addtofunc wxListBox()       ""
+    %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,
                    const wxPoint& pos = wxDefaultPosition,
                    const wxSize& size = wxDefaultSize,
-                   int choices = 0, wxString* choices_array = NULL,
+                   //int choices = 0, wxString* choices_array = NULL,
+                   const wxArrayString& choices = wxPyEmptyStringArray,
                    long style = 0,
                    const wxValidator& validator = wxDefaultValidator,
                    const wxString& name = wxPyListBoxNameStr);
     %name(PreCheckListBox)wxCheckListBox();
 
                    long style = 0,
                    const wxValidator& validator = wxDefaultValidator,
                    const wxString& name = wxPyListBoxNameStr);
     %name(PreCheckListBox)wxCheckListBox();
 
-    bool Create(wxWindow *parent, wxWindowID id,
-                   const wxPoint& pos = wxDefaultPosition,
-                   const wxSize& size = wxDefaultSize,
-                   int choices = 0, wxString* choices_array = NULL,
-                   long style = 0,
-                   const wxValidator& validator = wxDefaultValidator,
-                   const wxString& name = wxPyListBoxNameStr);
+    bool Create(wxWindow *parent, wxWindowID id=-1,
+                const wxPoint& pos = wxDefaultPosition,
+                const wxSize& size = wxDefaultSize,
+                //int choices = 0, wxString* choices_array = NULL,
+                const wxArrayString& choices = wxPyEmptyStringArray,
+                long style = 0,
+                const wxValidator& validator = wxDefaultValidator,
+                const wxString& name = wxPyListBoxNameStr);
 
     bool  IsChecked(int index);
     void  Check(int index, int check = True);
 
 
     bool  IsChecked(int index);
     void  Check(int index, int check = True);
 
-#ifndef __WXMAC__
+#if defined(__WXMSW__) || defined(__WXGTK__)
     int GetItemHeight();
 #endif
 
     int GetItemHeight();
 #endif