1 ///////////////////////////////////////////////////////////////////////////// 
   2 // Name:        wx/palmos/choice.h 
   3 // Purpose:     wxChoice class 
   4 // Author:      William Osborne - minimal working wxPalmOS port 
   5 // Modified by: Yunhui Fu 
   8 // Copyright:   (c) William Osborne 
   9 // Licence:     wxWindows licence 
  10 ///////////////////////////////////////////////////////////////////////////// 
  15 // ---------------------------------------------------------------------------- 
  17 // ---------------------------------------------------------------------------- 
  19 class WXDLLIMPEXP_CORE wxChoice 
: public wxChoiceBase
 
  26     wxChoice(wxWindow 
*parent
, 
  28              const wxPoint
& pos 
= wxDefaultPosition
, 
  29              const wxSize
& size 
= wxDefaultSize
, 
  30              int n 
= 0, const wxString choices
[] = NULL
, 
  32              const wxValidator
& validator 
= wxDefaultValidator
, 
  33              const wxString
& name 
= wxChoiceNameStr
) 
  35         Create(parent
, id
, pos
, size
, n
, choices
, style
, validator
, name
); 
  37     wxChoice(wxWindow 
*parent
, 
  41              const wxArrayString
& choices
, 
  43              const wxValidator
& validator 
= wxDefaultValidator
, 
  44              const wxString
& name 
= wxChoiceNameStr
) 
  46         Create(parent
, id
, pos
, size
, choices
, style
, validator
, name
); 
  49     bool Create(wxWindow 
*parent
, 
  51                 const wxPoint
& pos 
= wxDefaultPosition
, 
  52                 const wxSize
& size 
= wxDefaultSize
, 
  53                 int n 
= 0, const wxString choices
[] = NULL
, 
  55                 const wxValidator
& validator 
= wxDefaultValidator
, 
  56                 const wxString
& name 
= wxChoiceNameStr
); 
  57     bool Create(wxWindow 
*parent
, 
  61                 const wxArrayString
& choices
, 
  63                 const wxValidator
& validator 
= wxDefaultValidator
, 
  64                 const wxString
& name 
= wxChoiceNameStr
); 
  66     // implement base class pure virtuals 
  67     virtual int DoInsertItems(const wxArrayStringsAdapter
& items
, 
  69                               void **clientData
, wxClientDataType type
); 
  70     virtual void DoDeleteOneItem(unsigned int n
); 
  71     virtual void DoClear(); 
  73     virtual unsigned int GetCount() const; 
  74     virtual int GetSelection() const; 
  75     virtual void SetSelection(int n
); 
  77     virtual wxString 
GetString(unsigned int n
) const; 
  78     virtual void SetString(unsigned int n
, const wxString
& s
); 
  81     virtual void DoMoveWindow(int x
, int y
, int width
, int height
); 
  82     virtual void DoSetItemClientData(unsigned int n
, void* clientData
); 
  83     virtual void* DoGetItemClientData(unsigned int n
) const; 
  86     virtual wxSize 
DoGetBestSize() const; 
  87     virtual void DoGetSize(int *w
, int *h
) const; 
  88     virtual void DoSetSize(int x
, int y
, 
  89                            int width
, int height
, 
  90                            int sizeFlags 
= wxSIZE_AUTO
); 
  93     // update the height of the drop down list to fit the number of items we 
  94     // have (without changing the visible height) 
  95     void UpdateVisibleHeight(); 
  97     // create and initialize the control 
  98     bool CreateAndInit(wxWindow 
*parent
, wxWindowID id
, 
 101                        int n
, const wxString choices
[], 
 103                        const wxValidator
& validator
, 
 104                        const wxString
& name
); 
 106     // free all memory we have (used by Clear() and dtor) 
 109     DECLARE_DYNAMIC_CLASS_NO_COPY(wxChoice
) 
 112 #endif // _WX_CHOICE_H_