]>
git.saurik.com Git - wxWidgets.git/blob - include/wx/msw/radiobox.h
   1 ///////////////////////////////////////////////////////////////////////////// 
   2 // Name:        wx/msw/radiobox.h 
   3 // Purpose:     wxRadioBox class 
   4 // Author:      Julian Smart 
   8 // Copyright:   (c) Julian Smart 
   9 // Licence:     wxWindows licence 
  10 ///////////////////////////////////////////////////////////////////////////// 
  12 #ifndef _WX_RADIOBOX_H_ 
  13 #define _WX_RADIOBOX_H_ 
  16     #pragma interface "radiobox.h" 
  19 class WXDLLEXPORT wxBitmap
; 
  21 // ---------------------------------------------------------------------------- 
  23 // ---------------------------------------------------------------------------- 
  25 class WXDLLEXPORT wxRadioBox 
: public wxControl
, public wxRadioBoxBase
 
  30     wxRadioBox(wxWindow 
*parent
, 
  32                const wxString
& title
, 
  33                const wxPoint
& pos 
= wxDefaultPosition
, 
  34                const wxSize
& size 
= wxDefaultSize
, 
  35                int n 
= 0, const wxString choices
[] = NULL
, 
  37                long style 
= wxRA_HORIZONTAL
, 
  38                const wxValidator
& val 
= wxDefaultValidator
, 
  39                const wxString
& name 
= wxRadioBoxNameStr
) 
  41         (void)Create(parent
, id
, title
, pos
, size
, n
, choices
, majorDim
, 
  47     bool Create(wxWindow 
*parent
, 
  49                 const wxString
& title
, 
  50                 const wxPoint
& pos 
= wxDefaultPosition
, 
  51                 const wxSize
& size 
= wxDefaultSize
, 
  52                 int n 
= 0, const wxString choices
[] = NULL
, 
  54                 long style 
= wxRA_HORIZONTAL
, 
  55                 const wxValidator
& val 
= wxDefaultValidator
, 
  56                 const wxString
& name 
= wxRadioBoxNameStr
); 
  58     // implement the radiobox interface 
  59     virtual void SetSelection(int n
); 
  60     virtual int GetSelection() const; 
  61     virtual int GetCount() const; 
  62     virtual wxString 
GetString(int n
) const; 
  63     virtual void SetString(int n
, const wxString
& label
); 
  64     virtual void Enable(int n
, bool enable 
= TRUE
); 
  65     virtual void Show(int n
, bool show 
= TRUE
); 
  66     virtual int GetColumnCount() const; 
  67     virtual int GetRowCount() const; 
  69     virtual bool Show(bool show 
= TRUE
); 
  71     virtual bool Enable(bool enable 
= TRUE
); 
  72     void SetLabelFont(const wxFont
& WXUNUSED(font
)) {}; 
  73     void SetButtonFont(const wxFont
& font
) { SetFont(font
); } 
  75     void Command(wxCommandEvent
& event
); 
  77     int GetNumberOfRowsOrCols() const { return m_noRowsOrCols
; } 
  78     void SetNumberOfRowsOrCols(int n
) { m_noRowsOrCols 
= n
; } 
  80     // implementation only from now on 
  81     // ------------------------------- 
  83     virtual bool MSWCommand(WXUINT param
, WXWORD id
); 
  85     // FIXME: are they used? missing "Do" prefix? 
  86     void GetSize(int *x
, int *y
) const; 
  87     void GetPosition(int *x
, int *y
) const; 
  89     virtual bool SetFont(const wxFont
& font
); 
  91     long MSWWindowProc(WXUINT nMsg
, WXWPARAM wParam
, WXLPARAM lParam
); 
  92     virtual WXHBRUSH 
OnCtlColor(WXHDC pDC
, WXHWND pWnd
, WXUINT nCtlColor
, 
  94                                 WXWPARAM wParam
, WXLPARAM lParam
); 
  95     WXHWND 
*GetRadioButtons() const { return m_radioButtons
; } 
  96     bool ContainsHWND(WXHWND hWnd
) const; 
  97     void SendNotificationEvent(); 
  99     // get the number of buttons per column/row 
 100     int GetNumVer() const; 
 101     int GetNumHor() const; 
 104     // subclass one radio button 
 105     void SubclassRadioButton(WXHWND hWndBtn
); 
 107     // get the max size of radio buttons 
 108     wxSize 
GetMaxButtonSize() const; 
 110     // get the total size occupied by the radio box buttons 
 111     wxSize 
GetTotalButtonSize(const wxSize
& sizeBtn
) const; 
 113     WXHWND 
*          m_radioButtons
; 
 115     int *             m_radioWidth
;  // for bitmaps 
 120     int               m_selectedButton
; 
 122     virtual void DoSetSize(int x
, int y
, 
 123                            int width
, int height
, 
 124                            int sizeFlags 
= wxSIZE_AUTO
); 
 125     virtual wxSize 
DoGetBestSize() const; 
 128     DECLARE_DYNAMIC_CLASS(wxRadioBox
) 
 129     DECLARE_NO_COPY_CLASS(wxRadioBox
)