Implement wxChoice including sorting and client data

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@23411 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
David Elliott
2003-09-06 00:33:02 +00:00
parent a5e14fbf1a
commit f154ff6018
2 changed files with 139 additions and 23 deletions

View File

@@ -12,12 +12,13 @@
#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"
// ========================================================================
// 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 +27,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,6 +36,7 @@ public:
const wxValidator& validator = wxDefaultValidator,
const wxString& name = wxChoiceNameStr)
{
Init();
Create(parent, winid, pos, size, n, choices, style, validator, name);
}
@@ -46,11 +48,14 @@ public:
const wxValidator& validator = wxDefaultValidator,
const wxString& name = wxChoiceNameStr);
virtual ~wxChoice();
protected:
void Init();
// ------------------------------------------------------------------------
// Cocoa callbacks
// ------------------------------------------------------------------------
protected:
void CocoaNotification_menuDidSendAction(WX_NSNotification notification);
// ------------------------------------------------------------------------
// Implementation
// ------------------------------------------------------------------------
@@ -69,6 +74,9 @@ public:
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__