File: radiobox.h

package info (click to toggle)
wxwidgets3.0 3.0.5.1%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 120,464 kB
  • sloc: cpp: 896,633; makefile: 52,303; ansic: 21,971; sh: 5,713; python: 2,940; xml: 1,534; perl: 264; javascript: 33
file content (193 lines) | stat: -rw-r--r-- 6,853 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
/////////////////////////////////////////////////////////////////////////////
// Name:        wx/os2/radiobox.h
// Purpose:     wxRadioBox class
// Author:      David Webster
// Modified by:
// Created:     10/12/99
// Copyright:   (c) David Webster
// Licence:     wxWindows licence
/////////////////////////////////////////////////////////////////////////////

#ifndef _WX_RADIOBOX_H_
#define _WX_RADIOBOX_H_

// List box item
class WXDLLIMPEXP_FWD_CORE wxBitmap ;

class WXDLLIMPEXP_CORE wxRadioBox: public wxControl, public wxRadioBoxBase
{
public:
    wxRadioBox();

    inline wxRadioBox( wxWindow*          pParent
                      ,wxWindowID         vId
                      ,const wxString&    rsTitle
                      ,const wxPoint&     rPos = wxDefaultPosition
                      ,const wxSize&      rSize = wxDefaultSize
                      ,int                nNum = 0
                      ,const wxString     asChoices[] = NULL
                      ,int                nMajorDim = 0
                      ,long               lStyle = wxRA_SPECIFY_COLS
                      ,const wxValidator& rVal = wxDefaultValidator
                      ,const wxString&    rsName = wxRadioBoxNameStr
                     )
    {
        Create( pParent
               ,vId
               ,rsTitle
               ,rPos
               ,rSize
               ,nNum
               ,asChoices
               ,nMajorDim
               ,lStyle
               ,rVal
               ,rsName
              );
    }

    inline wxRadioBox( wxWindow*            pParent
                      ,wxWindowID           vId
                      ,const wxString&      rsTitle
                      ,const wxPoint&       rPos
                      ,const wxSize&        rSize
                      ,const wxArrayString& asChoices
                      ,int                  nMajorDim = 0
                      ,long                 lStyle = wxRA_SPECIFY_COLS
                      ,const wxValidator&   rVal = wxDefaultValidator
                      ,const wxString&      rsName = wxRadioBoxNameStr
                     )
    {
        Create( pParent
               ,vId
               ,rsTitle
               ,rPos
               ,rSize
               ,asChoices
               ,nMajorDim
               ,lStyle
               ,rVal
               ,rsName
              );
    }

    virtual ~wxRadioBox();

    bool Create( wxWindow*          pParent
                ,wxWindowID         vId
                ,const wxString&    rsTitle
                ,const wxPoint&     rPos = wxDefaultPosition
                ,const wxSize&      rSize = wxDefaultSize
                ,int                nNum = 0
                ,const wxString     asChoices[] = NULL
                ,int                nMajorDim = 0
                ,long               lStyle = wxRA_SPECIFY_COLS
                ,const wxValidator& rVal = wxDefaultValidator
                ,const wxString&    rsName = wxRadioBoxNameStr
               );

    bool Create( wxWindow*            pParent
                ,wxWindowID           vId
                ,const wxString&      rsTitle
                ,const wxPoint&       rPos
                ,const wxSize&        rSize
                ,const wxArrayString& asChoices
                ,int                  nMajorDim = 0
                ,long                 lStyle = wxRA_SPECIFY_COLS
                ,const wxValidator&   rVal = wxDefaultValidator
                ,const wxString&      rsName = wxRadioBoxNameStr
               );

    // Enabling
    virtual bool Enable(bool bEnable = true);
    virtual bool Enable(unsigned int nItem, bool bEnable = true);
    virtual bool IsItemEnabled(unsigned int WXUNUSED(n)) const
    {
        /* TODO */
        return true;
    }

    // Showing
    virtual bool Show(bool bShow = true);
    virtual bool Show(unsigned int nItem, bool bShow = true);
    virtual bool IsItemShown(unsigned int WXUNUSED(n)) const
    {
        /* TODO */
        return true;
    }

    void Command(wxCommandEvent& rEvent);
    bool ContainsHWND(WXHWND hWnd) const;

    virtual WXHBRUSH OnCtlColor( WXHDC    hDC
                                ,WXHWND   hWnd
                                ,WXUINT   uCtlColor
                                ,WXUINT   uMessage
                                ,WXWPARAM wParam
                                ,WXLPARAM lParam
                               );
    virtual bool     OS2Command( WXUINT uParam
                                ,WXWORD wId
                               );
    void             SendNotificationEvent(void);
    MRESULT          WindowProc( WXUINT   uMsg
                                ,WXWPARAM wParam
                                ,WXLPARAM lParam
                               );




           virtual unsigned int GetCount() const;
    inline         WXHWND*  GetRadioButtons(void) const { return m_ahRadioButtons; }
                   int      GetSelection(void) const;
                   void     GetSize(int* pnX, int* pnY) const;
    inline         int      GetSizeFlags(void) const { return m_nSizeFlags; }
           virtual wxString GetString(unsigned int nIndex) const;
           virtual wxString GetStringSelection(void) const;

    inline         void     SetButtonFont(const wxFont& rFont) { SetFont(rFont); }
                   void     SetFocus(void);
           virtual bool     SetFont(const wxFont& rFont);
    inline         void     SetLabelFont(const wxFont& WXUNUSED(font)) {}
           virtual void     SetSelection(int nIndex);
           virtual void     SetString(unsigned int nNum, const wxString& rsLabel);
    virtual bool SetStringSelection(const wxString& rsStr);

    virtual void SetLabel(const wxString& rsLabel)
        { wxControl::SetLabel(rsLabel); }
    virtual wxString GetLabel() const
        { return wxControl::GetLabel(); }

    void SetLabel( int nItem, const wxString& rsLabel );
    void SetLabel( int item, wxBitmap* pBitmap );
    wxString GetLabel(int nItem) const;

protected:
    virtual wxBorder GetDefaultBorder() const { return wxBORDER_NONE; }
    virtual wxSize DoGetBestSize(void) const;
    virtual void   DoSetSize( int nX
                             ,int nY
                             ,int nWidth
                             ,int nHeight
                             ,int nSizeFlags = wxSIZE_AUTO
                            );
    wxSize GetMaxButtonSize(void) const;
    wxSize GetTotalButtonSize(const wxSize& rSizeBtn) const;
    void   SubclassRadioButton(WXHWND hWndBtn);


    WXHWND* m_ahRadioButtons;
    int*    m_pnRadioWidth;  // for bitmaps
    int*    m_pnRadioHeight;
    int     m_nSelectedButton;
    int     m_nSizeFlags;

private:

    unsigned int m_nNoItems;

    DECLARE_DYNAMIC_CLASS(wxRadioBox)
}; // end of wxRadioBox

#endif // _WX_RADIOBOX_H_