public:
// ctors
- inline wxChoice() { Init(); }
+ inline wxChoice() { }
virtual ~wxChoice();
inline wxChoice( wxWindow* pParent
,const wxString& rsName = wxChoiceNameStr
)
{
- Init();
Create( pParent
,vId
,rPos
,const wxString& rsName = wxChoiceNameStr
)
{
- Init();
Create( pParent
,vId
,rPos
virtual unsigned int GetCount() const;
virtual int GetSelection(void) const;
- virtual int GetCurrentSelection(void) const;
+ virtual int GetCurrentSelection(void) const { return GetSelection(); }
virtual void SetSelection(int n);
virtual wxString GetString(unsigned int n) const;
);
protected:
- // 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);
,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_
// ----------------------------------------------------------------------------
int wxChoice::GetSelection() const
-{
- // if m_lastAcceptedSelection is set, it means that the dropdown is
- // currently shown and that we want to use the last "permanent" selection
- // instead of whatever is under the mouse pointer currently
- //
- // otherwise, get the selection from the control
- return m_lastAcceptedSelection == wxID_NONE ? GetCurrentSelection()
- : m_lastAcceptedSelection;
-}
-
-int wxChoice::GetCurrentSelection() const
{
return((int)LONGFROMMR(::WinSendMsg(GetHwnd(), LM_QUERYSELECTION, (MPARAM)LIT_FIRST, (MPARAM)0)));
} // end of wxChoice::GetSelection