]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/mac/carbon/listbox.h
Cast for argument to delete[] - VC6 doesn't want to delete a const pointer
[wxWidgets.git] / include / wx / mac / carbon / listbox.h
index b0385c8ed72804c303a764c3c2e206a24f8e6525..390cb34b63a4e5e99f3d45123924df1d0b3fc1c9 100644 (file)
 // forward decl for GetSelections()
 class wxArrayInt;
 
 // forward decl for GetSelections()
 class wxArrayInt;
 
-// exposed for subclasses like wxCheckListBox
-
-class wxMacListControl
-{
-public:
-    virtual void            MacDelete( unsigned int n ) = 0;
-    virtual void            MacInsert( unsigned int n, const wxString& item ) = 0;
-    virtual void            MacInsert( unsigned int n, const wxArrayString& items ) = 0;
-    // returns index of newly created line
-    virtual int             MacAppend( const wxString& item ) = 0;
-    virtual void            MacSetString( unsigned int n, const wxString& item ) = 0;
-    virtual void            MacClear() = 0;
-    virtual void            MacDeselectAll() = 0;
-    virtual void            MacSetSelection( unsigned int n, bool select ) = 0;
-    virtual int             MacGetSelection() const = 0;
-    virtual int             MacGetSelections( wxArrayInt& aSelections ) const = 0;
-    virtual bool            MacIsSelected( unsigned int n ) const = 0;
-    virtual void            MacScrollTo( unsigned int n ) = 0;
-    virtual wxString        MacGetString( unsigned int n) const = 0;
-    virtual unsigned int    MacGetCount() const = 0;
-
-    virtual void            MacSetClientData( unsigned int n, void * data) = 0;
-    virtual void *          MacGetClientData( unsigned int) const = 0;
-
-    virtual ~wxMacListControl() { }
-};
+// forward decl for wxMacListControl data type.
+class wxMacListControl;
 
 // List box item
 
 
 // List box item
 
@@ -56,7 +32,7 @@ WX_DEFINE_ARRAY( char* , wxListDataArray );
 // List box control
 // ----------------------------------------------------------------------------
 
 // List box control
 // ----------------------------------------------------------------------------
 
-class WXDLLEXPORT wxListBox : public wxListBoxBase
+class WXDLLIMPEXP_CORE wxListBox : public wxListBoxBase
 {
 public:
     // ctors and such
 {
 public:
     // ctors and such
@@ -113,8 +89,6 @@ public:
 
     // implement base class pure virtuals
     virtual void Refresh(bool eraseBack = true, const wxRect *rect = NULL);
 
     // implement base class pure virtuals
     virtual void Refresh(bool eraseBack = true, const wxRect *rect = NULL);
-    virtual void Clear();
-    virtual void Delete(unsigned int n);
 
     virtual unsigned int GetCount() const;
     virtual wxString GetString(unsigned int n) const;
 
     virtual unsigned int GetCount() const;
     virtual wxString GetString(unsigned int n) const;
@@ -127,6 +101,11 @@ public:
 
     virtual void EnsureVisible(int n);
 
 
     virtual void EnsureVisible(int n);
 
+    virtual wxVisualAttributes GetDefaultAttributes() const
+    {
+        return GetClassDefaultAttributes(GetWindowVariant());
+    }
+
     // wxCheckListBox support
     static wxVisualAttributes
     GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL);
     // wxCheckListBox support
     static wxVisualAttributes
     GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL);
@@ -134,17 +113,19 @@ public:
     wxMacListControl* GetPeer() const;
 
 protected:
     wxMacListControl* GetPeer() const;
 
 protected:
+    virtual void DoClear();
+    virtual void DoDeleteOneItem(unsigned int n);
+
     // from wxItemContainer
     // from wxItemContainer
-    virtual int DoAppend(const wxString& item);
+    virtual int DoInsertItems(const wxArrayStringsAdapter& items,
+                              unsigned int pos,
+                              void **clientData, wxClientDataType type);
+
     virtual void DoSetItemClientData(unsigned int n, void* clientData);
     virtual void* DoGetItemClientData(unsigned int n) const;
     virtual void DoSetItemClientData(unsigned int n, void* clientData);
     virtual void* DoGetItemClientData(unsigned int n) const;
-    virtual void DoSetItemClientObject(unsigned int n, wxClientData* clientData);
-    virtual wxClientData* DoGetItemClientObject(unsigned int n) const;
 
     // from wxListBoxBase
     virtual void DoSetSelection(int n, bool select);
 
     // from wxListBoxBase
     virtual void DoSetSelection(int n, bool select);
-    virtual void DoInsertItems(const wxArrayString& items, unsigned int pos);
-    virtual void DoSetItems(const wxArrayString& items, void **clientData);
     virtual void DoSetFirstItem(int n);
     virtual int DoListHitTest(const wxPoint& point) const;
 
     virtual void DoSetFirstItem(int n);
     virtual int DoListHitTest(const wxPoint& point) const;