X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/be6577566570876c0c00621ff98c786d7c6de80e..613de0e89efab1cbf8463ea06e0cf0b2914fbce9:/include/wx/cocoa/choice.h diff --git a/include/wx/cocoa/choice.h b/include/wx/cocoa/choice.h index f7a78a7ad5..9d7f6539ed 100644 --- a/include/wx/cocoa/choice.h +++ b/include/wx/cocoa/choice.h @@ -4,20 +4,23 @@ // Author: David Elliott // Modified by: // Created: 2003/03/16 -// RCS-ID: $Id: +// RCS-ID: $Id$ // Copyright: (c) 2003 David Elliott -// Licence: wxWindows license +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// #ifndef __WX_COCOA_CHOICE_H__ #define __WX_COCOA_CHOICE_H__ -//#include "wx/cocoa/NSTableView.h" +//#include "wx/cocoa/NSPopUpButton.h" +#include "wx/cocoa/NSMenu.h" + +class WXDLLIMPEXP_FWD_BASE wxSortedArrayString; // ======================================================================== // wxChoice // ======================================================================== -class WXDLLEXPORT wxChoice: public wxChoiceBase //, protected wxCocoaNSTableView +class WXDLLIMPEXP_CORE wxChoice: public wxChoiceBase /*, protected wxCocoaNSPopUpButton */, protected wxCocoaNSMenu { DECLARE_DYNAMIC_CLASS(wxChoice) DECLARE_EVENT_TABLE() @@ -26,7 +29,7 @@ class WXDLLEXPORT wxChoice: public wxChoiceBase //, protected wxCocoaNSTableView // initialization // ------------------------------------------------------------------------ public: - wxChoice() { } + wxChoice() { Init(); } wxChoice(wxWindow *parent, wxWindowID winid, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, @@ -35,8 +38,20 @@ public: const wxValidator& validator = wxDefaultValidator, const wxString& name = wxChoiceNameStr) { + Init(); Create(parent, winid, pos, size, n, choices, style, validator, name); } + wxChoice(wxWindow *parent, wxWindowID winid, + const wxPoint& pos, + const wxSize& size, + const wxArrayString& choices, + long style = 0, + const wxValidator& validator = wxDefaultValidator, + const wxString& name = wxChoiceNameStr) + { + Init(); + Create(parent, winid, pos, size, choices, style, validator, name); + } bool Create(wxWindow *parent, wxWindowID winid, const wxPoint& pos = wxDefaultPosition, @@ -45,30 +60,42 @@ public: long style = 0, const wxValidator& validator = wxDefaultValidator, const wxString& name = wxChoiceNameStr); + bool Create(wxWindow *parent, wxWindowID winid, + const wxPoint& pos, + const wxSize& size, + const wxArrayString& choices, + long style = 0, + const wxValidator& validator = wxDefaultValidator, + const wxString& name = wxChoiceNameStr); virtual ~wxChoice(); +protected: + void Init(); // ------------------------------------------------------------------------ // Cocoa callbacks // ------------------------------------------------------------------------ protected: + void CocoaNotification_menuDidSendAction(WX_NSNotification notification); // ------------------------------------------------------------------------ // Implementation // ------------------------------------------------------------------------ public: - virtual void Clear(); - virtual void Delete(int); - virtual int GetCount() const; - virtual wxString GetString(int) const; - virtual void SetString(int, const wxString&); - virtual int FindString(const wxString&) const; + virtual void DoClear(); + virtual unsigned int GetCount() const; + virtual wxString GetString(unsigned int) const; + virtual void SetString(unsigned int pos, const wxString&); + virtual int FindString(const wxString& s, bool bCase = false) const; virtual int GetSelection() const; - virtual int DoAppend(const wxString&); - virtual int DoInsert(const wxString&, int); - virtual void DoSetItemClientData(int, void*); - virtual void* DoGetItemClientData(int) const; - virtual void DoSetItemClientObject(int, wxClientData*); - virtual wxClientData* DoGetItemClientObject(int) const; - virtual void SetSelection(int); + virtual int DoInsertItems(const wxArrayStringsAdapter& items, + unsigned int pos, + void **clientData, wxClientDataType type); + virtual void DoDeleteOneItem(unsigned int pos); + virtual void DoSetItemClientData(unsigned int, void*); + virtual void* DoGetItemClientData(unsigned int) const; + virtual void SetSelection(int pos); +protected: + wxSortedArrayString *m_sortedStrings; + wxArrayPtrVoid m_itemsClientData; }; #endif // __WX_COCOA_CHOICE_H__