X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8228b8932abaedadbf9568bb3a1eef3ae25fb2a3..c82af6eec562a372bcc2e6ff26dbf3d14e227d72:/include/wx/os2/choice.h diff --git a/include/wx/os2/choice.h b/include/wx/os2/choice.h index 4040e66663..b04aee3d72 100644 --- a/include/wx/os2/choice.h +++ b/include/wx/os2/choice.h @@ -12,14 +12,18 @@ #ifndef _WX_CHOICE_H_ #define _WX_CHOICE_H_ +// ---------------------------------------------------------------------------- // Choice item +// ---------------------------------------------------------------------------- + class WXDLLEXPORT wxChoice: public wxChoiceBase { DECLARE_DYNAMIC_CLASS(wxChoice) public: // ctors - inline wxChoice() { } + inline wxChoice() { Init(); } + virtual ~wxChoice(); inline wxChoice( wxWindow* pParent ,wxWindowID vId @@ -32,6 +36,7 @@ public: ,const wxString& rsName = wxChoiceNameStr ) { + Init(); Create( pParent ,vId ,rPos @@ -54,6 +59,7 @@ public: ,const wxString& rsName = wxChoiceNameStr ) { + Init(); Create( pParent ,vId ,rPos @@ -89,19 +95,16 @@ public: // // Implement base class virtuals // - virtual int DoAppend(const wxString& rsItem); - virtual int DoInsert(const wxString& rsItem, int pos); - virtual void Delete(int n); + virtual void Delete(unsigned int n); virtual void Clear(void); - virtual size_t GetCount() const; - virtual int GetSelection(void) const ; + virtual unsigned int GetCount() const; + virtual int GetSelection(void) const; + virtual int GetCurrentSelection(void) const; virtual void SetSelection(int n); - virtual wxString GetString(int n) const ; - virtual void SetString( int n - ,const wxString& rsStr - ); + virtual wxString GetString(unsigned int n) const; + virtual void SetString(unsigned int n, const wxString& rsStr); // // OS2 only @@ -115,14 +118,15 @@ public: ); protected: - virtual void DoSetItemClientData( int n - ,void* pClientData - ); - virtual void* DoGetItemClientData(int n) const; - virtual void DoSetItemClientObject( int n - ,wxClientData* pClientData - ); - virtual wxClientData* DoGetItemClientObject(int n) const; + // common part of all ctors + void Init() { m_lastAcceptedSelection = wxID_NONE; } + + virtual int DoAppend(const wxString& rsItem); + virtual int DoInsert(const wxString& rsItem, unsigned int pos); + virtual void DoSetItemClientData(unsigned int n, void* pClientData); + virtual void* DoGetItemClientData(unsigned int n) const; + virtual void DoSetItemClientObject(unsigned int n, wxClientData* pClientData); + virtual wxClientData* DoGetItemClientObject(unsigned int n) const; virtual wxSize DoGetBestSize(void) const; virtual void DoSetSize( int nX ,int nY @@ -131,6 +135,11 @@ protected: ,int nsizeFlags = wxSIZE_AUTO ); void Free(void); + + // last "completed" selection, i.e. not the transient one while the user is + // browsing the popup list: this is only used when != wxID_NONE which is + // the case while the drop down is opened + int m_lastAcceptedSelection; }; // end of CLASS wxChoice #endif // _WX_CHOICE_H_