X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c6179a847d8899cceb8880abc2ab2fe9d0244c90..b1a3a964997a143de68f2e3c75fa8dd82a4e3361:/include/wx/cocoa/combobox.h diff --git a/include/wx/cocoa/combobox.h b/include/wx/cocoa/combobox.h index 30dedf5893..542626f165 100644 --- a/include/wx/cocoa/combobox.h +++ b/include/wx/cocoa/combobox.h @@ -1,9 +1,9 @@ ///////////////////////////////////////////////////////////////////////////// // Name: wx/cocoa/combobox.h // Purpose: wxComboBox class -// Author: David Elliott +// Author: Ryan Norton // Modified by: -// Created: 2003/07/14 +// Created: 2005/02/16 // RCS-ID: $Id$ // Copyright: (c) 2003 David Elliott // Licence: wxWindows licence @@ -12,16 +12,37 @@ #ifndef __WX_COCOA_COMBOBOX_H__ #define __WX_COCOA_COMBOBOX_H__ -//#include "wx/cocoa/NSTableView.h" +//Begin NSComboBox.h + +#include "wx/hashmap.h" +#include "wx/cocoa/ObjcAssociate.h" + +DECLARE_WXCOCOA_OBJC_CLASS(NSComboBox); + +WX_DECLARE_OBJC_HASHMAP(NSComboBox); +class wxCocoaNSComboBox +{ + WX_DECLARE_OBJC_INTERFACE_HASHMAP(NSComboBox) +public: + void AssociateNSComboBox(WX_NSComboBox cocoaNSComboBox); + void DisassociateNSComboBox(WX_NSComboBox cocoaNSComboBox); + + virtual void doWxEvent(int nEvent) = 0; + virtual ~wxCocoaNSComboBox() { } +}; + +//begin combobox.h + +#include "wx/dynarray.h" // ======================================================================== // wxComboBox // ======================================================================== -class WXDLLEXPORT wxComboBox: public wxTextCtrl, public wxComboBoxBase //, protected wxCocoaNSTableView +class WXDLLEXPORT wxComboBox : public wxTextCtrl, public wxComboBoxBase, protected wxCocoaNSComboBox { DECLARE_DYNAMIC_CLASS(wxComboBox) DECLARE_EVENT_TABLE() -// WX_DECLARE_COCOA_OWNER(NSComboBox,NSTextField,NSView) + WX_DECLARE_COCOA_OWNER(NSComboBox,NSTextField,NSView) // ------------------------------------------------------------------------ // initialization // ------------------------------------------------------------------------ @@ -73,28 +94,35 @@ public: // Cocoa callbacks // ------------------------------------------------------------------------ protected: + wxArrayPtrVoid m_Datas; + virtual void doWxEvent(int nEvent); + // ------------------------------------------------------------------------ // Implementation // ------------------------------------------------------------------------ public: + // FIXME: Quit deriving from wxTextCtrl + void Clear() // HACK + { wxComboBoxBase::Clear(); } + // wxCombobox methods - virtual void SetSelection(int); + virtual void SetSelection(int pos); // Overlapping methods virtual wxString GetStringSelection(); // wxItemContainer - 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 void DoDeleteOneItem(unsigned int n); + 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 int DoInsertItems(const wxArrayStringsAdapter& items, + unsigned int pos, + void **clientData, wxClientDataType type); + virtual void DoSetItemClientData(unsigned int, void*); + virtual void* DoGetItemClientData(unsigned int) const; + virtual bool IsSorted() const { return HasFlag(wxCB_SORT); } // wxComboBoxBase pure virtuals virtual wxString GetValue() const { return wxTextCtrl::GetValue(); }