X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a885d89ae9c9d6ff5275cb5b1ea3087132aacf8c..3786c8b587f82e406ba9656847b5bff4ed9209c2:/include/wx/os2/choice.h diff --git a/include/wx/os2/choice.h b/include/wx/os2/choice.h index 6289745486..b04aee3d72 100644 --- a/include/wx/os2/choice.h +++ b/include/wx/os2/choice.h @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: choice.h +// Name: wx/os2/choice.h // Purpose: wxChoice class // Author: David Webster // Modified by: @@ -12,80 +12,134 @@ #ifndef _WX_CHOICE_H_ #define _WX_CHOICE_H_ -WXDLLEXPORT_DATA(extern const char*) wxChoiceNameStr; - +// ---------------------------------------------------------------------------- // Choice item +// ---------------------------------------------------------------------------- + class WXDLLEXPORT wxChoice: public wxChoiceBase { DECLARE_DYNAMIC_CLASS(wxChoice) public: // ctors - inline wxChoice() { } - - inline wxChoice(wxWindow *parent, wxWindowID id, - const wxPoint& pos = wxDefaultPosition, - const wxSize& size = wxDefaultSize, - int n = 0, const wxString choices[] = NULL, - long style = 0, -#if wxUSE_VALIDATORS - const wxValidator& validator = wxDefaultValidator, -#endif - const wxString& name = wxChoiceNameStr) + inline wxChoice() { Init(); } + virtual ~wxChoice(); + + inline wxChoice( wxWindow* pParent + ,wxWindowID vId + ,const wxPoint& rPos = wxDefaultPosition + ,const wxSize& rSize = wxDefaultSize + ,int n = 0 + ,const wxString asChoices[] = NULL + ,long lStyle = 0 + ,const wxValidator& rValidator = wxDefaultValidator + ,const wxString& rsName = wxChoiceNameStr + ) { - Create(parent, id, pos, size, n, choices, style, validator, name); + Init(); + Create( pParent + ,vId + ,rPos + ,rSize + ,n + ,asChoices + ,lStyle + ,rValidator + ,rsName + ); } - bool Create(wxWindow *parent, wxWindowID id, - const wxPoint& pos = wxDefaultPosition, - const wxSize& size = wxDefaultSize, - int n = 0, const wxString choices[] = NULL, - long style = 0, -#if wxUSE_VALIDATORS - const wxValidator& validator = wxDefaultValidator, -#endif - const wxString& name = wxChoiceNameStr); + inline wxChoice( wxWindow* pParent + ,wxWindowID vId + ,const wxPoint& rPos + ,const wxSize& rSize + ,const wxArrayString& asChoices + ,long lStyle = 0 + ,const wxValidator& rValidator = wxDefaultValidator + ,const wxString& rsName = wxChoiceNameStr + ) + { + Init(); + Create( pParent + ,vId + ,rPos + ,rSize + ,asChoices + ,lStyle + ,rValidator + ,rsName + ); + } + bool Create( wxWindow* pParent + ,wxWindowID vId + ,const wxPoint& rPos = wxDefaultPosition + ,const wxSize& rSize = wxDefaultSize + ,int n = 0 + ,const wxString asChoices[] = NULL + ,long lStyle = 0 + ,const wxValidator& rValidator = wxDefaultValidator + ,const wxString& rsName = wxChoiceNameStr + ); + + bool Create( wxWindow* pParent + ,wxWindowID vId + ,const wxPoint& rPos + ,const wxSize& rSize + ,const wxArrayString& asChoices + ,long lStyle = 0 + ,const wxValidator& rValidator = wxDefaultValidator + ,const wxString& rsName = wxChoiceNameStr + ); + + // // Implement base class virtuals - virtual int DoAppend(const wxString& item); - virtual void Delete(int n); - virtual void Clear(); + // + virtual void Delete(unsigned int n); + virtual void Clear(void); - virtual int GetCount() const; - virtual int GetSelection() const ; - virtual void SetSelection(int n); + virtual unsigned int GetCount() const; + virtual int GetSelection(void) const; + virtual int GetCurrentSelection(void) const; + virtual void SetSelection(int n); - virtual int FindString(const wxString& s) const; - virtual wxString GetString(int n) const ; - virtual void SetString(int n, const wxString& s); + virtual wxString GetString(unsigned int n) const; + virtual void SetString(unsigned int n, const wxString& rsStr); + // // OS2 only - virtual bool OS2Command(WXUINT param, WXWORD id); - MRESULT OS2WindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam); + // + virtual bool OS2Command( WXUINT uParam + ,WXWORD wId + ); + MRESULT OS2WindowProc( WXUINT uMsg + ,WXWPARAM wParam + ,WXLPARAM lParam + ); protected: - virtual void DoSetItemClientData( int n, void* clientData ); - virtual void* DoGetItemClientData( int n ) const; - virtual void DoSetItemClientObject( int n, wxClientData* clientData ); - virtual wxClientData* DoGetItemClientObject( int n ) const; - - // OS2 implementation - virtual wxSize DoGetBestSize() const; - virtual void DoSetSize(int x, int y, - int width, int height, - int sizeFlags = wxSIZE_AUTO); -private: - // Virtual function hiding supression -/* - inline virtual void DoSetClientData( void *data ) - { wxWindowBase::DoSetClientData(data); } - inline virtual void DoSetClientObject( wxClientData *data ) - { wxWindowBase::DoSetClientObject(data); } - inline virtual wxClientData *DoGetClientObject() const - { return(wxWindowBase::DoGetClientObject());} - inline virtual void *DoGetClientData() const - { return(wxWindowBase::DoGetClientData());} -*/ -}; + // 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 + ,int nWidth + ,int nHeight + ,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_