X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/12cb75919071a7cda9e7896ee6d937ccf08a8153..a9c10f79d236c5a9455faaa932f4522984631505:/include/wx/mac/carbon/listbox.h diff --git a/include/wx/mac/carbon/listbox.h b/include/wx/mac/carbon/listbox.h index cde52946d1..b0385c8ed7 100644 --- a/include/wx/mac/carbon/listbox.h +++ b/include/wx/mac/carbon/listbox.h @@ -21,8 +21,32 @@ // forward decl for GetSelections() class wxArrayInt; -// forward decl for GetPeer() -class wxMacListControl; +// 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() { } +}; // List box item @@ -40,7 +64,7 @@ public: wxListBox( wxWindow *parent, - wxWindowID id, + wxWindowID winid, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, int n = 0, const wxString choices[] = NULL, @@ -48,12 +72,12 @@ public: const wxValidator& validator = wxDefaultValidator, const wxString& name = wxListBoxNameStr) { - Create(parent, id, pos, size, n, choices, style, validator, name); + Create(parent, winid, pos, size, n, choices, style, validator, name); } wxListBox( wxWindow *parent, - wxWindowID id, + wxWindowID winid, const wxPoint& pos, const wxSize& size, const wxArrayString& choices, @@ -61,12 +85,12 @@ public: const wxValidator& validator = wxDefaultValidator, const wxString& name = wxListBoxNameStr) { - Create(parent, id, pos, size, choices, style, validator, name); + Create(parent, winid, pos, size, choices, style, validator, name); } bool Create( wxWindow *parent, - wxWindowID id, + wxWindowID winid, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, int n = 0, @@ -77,7 +101,7 @@ public: bool Create( wxWindow *parent, - wxWindowID id, + wxWindowID winid, const wxPoint& pos, const wxSize& size, const wxArrayString& choices, @@ -101,40 +125,34 @@ public: virtual int GetSelection() const; virtual int GetSelections(wxArrayInt& aSelections) const; + virtual void EnsureVisible(int n); + // wxCheckListBox support static wxVisualAttributes GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL); - wxMacListControl * GetPeer() const { return (wxMacListControl*)m_peer; } + wxMacListControl* GetPeer() const; - wxArrayString m_stringArray; - wxListDataArray m_dataArray; - protected: - // common creation for all databrowser list implementations - wxMacListControl* CreateMacListControl(const wxPoint& pos, const wxSize& size, long style); - - // internal storage for line n has changed, issue a redraw - void MacUpdateLine(int n); - - virtual void DoSetSelection(int n, bool select); + // from wxItemContainer virtual int DoAppend(const wxString& item); - virtual void DoInsertItems(const wxArrayString& items, unsigned int pos); - virtual void DoSetItems(const wxArrayString& items, void **clientData); - virtual void DoSetFirstItem(int n); 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; - virtual void DoSetSize(int x, int y, int width, int height, int sizeFlags = wxSIZE_AUTO); + + // 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 wxSize DoGetBestSize() const; // free memory (common part of Clear() and dtor) // prevent collision with some BSD definitions of macro Free() void FreeData(); - unsigned int m_noItems; + virtual wxSize DoGetBestSize() const; private: DECLARE_DYNAMIC_CLASS(wxListBox)