X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/da0634c1401743089b1d8be20f9b6bdad0e8085b..32c19f25fce3a38f9e4cf1497761fd7364d7bc62:/include/wx/cocoa/choice.h diff --git a/include/wx/cocoa/choice.h b/include/wx/cocoa/choice.h index bc84e27813..55df3d4234 100644 --- a/include/wx/cocoa/choice.h +++ b/include/wx/cocoa/choice.h @@ -6,18 +6,21 @@ // Created: 2003/03/16 // 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_BASE wxSortedArrayString; // ======================================================================== // wxChoice // ======================================================================== -class WXDLLEXPORT wxChoice: public wxChoiceBase //, protected wxCocoaNSTableView +class WXDLLEXPORT 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,12 +60,22 @@ 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 // ------------------------------------------------------------------------ @@ -63,11 +88,15 @@ public: virtual int FindString(const wxString&) 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); +protected: + wxSortedArrayString *m_sortedStrings; + wxArrayPtrVoid m_itemsClientData; }; #endif // __WX_COCOA_CHOICE_H__