git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@15869 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
		
			
				
	
	
		
			179 lines
		
	
	
		
			6.7 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			179 lines
		
	
	
		
			6.7 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
/////////////////////////////////////////////////////////////////////////////
 | 
						|
// Name:        radiobox.h
 | 
						|
// Purpose:     wxRadioBox class
 | 
						|
// Author:      David Webster
 | 
						|
// Modified by:
 | 
						|
// Created:     10/12/99
 | 
						|
// RCS-ID:      $Id$
 | 
						|
// Copyright:   (c) David Webster
 | 
						|
// Licence:     wxWindows licence
 | 
						|
/////////////////////////////////////////////////////////////////////////////
 | 
						|
 | 
						|
#ifndef _WX_RADIOBOX_H_
 | 
						|
#define _WX_RADIOBOX_H_
 | 
						|
 | 
						|
// List box item
 | 
						|
class WXDLLEXPORT wxBitmap ;
 | 
						|
 | 
						|
class WXDLLEXPORT 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_HORIZONTAL
 | 
						|
#if wxUSE_VALIDATORS
 | 
						|
                      ,const wxValidator& rVal = wxDefaultValidator
 | 
						|
#endif
 | 
						|
                      ,const wxString&    rsName = wxRadioBoxNameStr
 | 
						|
                     )
 | 
						|
    {
 | 
						|
        Create( pParent
 | 
						|
               ,vId
 | 
						|
               ,rsTitle
 | 
						|
               ,rPos
 | 
						|
               ,rSize
 | 
						|
               ,nNum
 | 
						|
               ,asChoices
 | 
						|
               ,nMajorDim
 | 
						|
               ,lStyle
 | 
						|
#if wxUSE_VALIDATORS
 | 
						|
               ,rVal
 | 
						|
#endif
 | 
						|
               ,rsName
 | 
						|
              );
 | 
						|
    }
 | 
						|
 | 
						|
    ~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_HORIZONTAL
 | 
						|
#if wxUSE_VALIDATORS
 | 
						|
                ,const wxValidator& rVal = wxDefaultValidator
 | 
						|
#endif
 | 
						|
                ,const wxString&    rsName = wxRadioBoxNameStr
 | 
						|
               );
 | 
						|
 | 
						|
    void             Command(wxCommandEvent& rEvent);
 | 
						|
    bool             ContainsHWND(WXHWND hWnd) const;
 | 
						|
    virtual bool     Enable(bool bEnable = TRUE);
 | 
						|
    void             Enable( int  nItem
 | 
						|
                            ,bool bEnable
 | 
						|
                           );
 | 
						|
    int              FindString(const wxString& sStr) 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);
 | 
						|
    virtual void     Show( int  nItem
 | 
						|
                          ,bool bShow =  TRUE
 | 
						|
                         ) ;
 | 
						|
    bool             Show(bool bShow);
 | 
						|
    MRESULT          WindowProc( WXUINT   uMsg
 | 
						|
                                ,WXWPARAM wParam
 | 
						|
                                ,WXLPARAM lParam
 | 
						|
                               );
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
           virtual int      GetColumnCount(void) const;
 | 
						|
           virtual int      GetCount(void) const;
 | 
						|
    inline         int      GetNumberOfRowsOrCols(void) const { return m_nNoRowsOrCols; }
 | 
						|
                   int      GetNumHor(void) const;
 | 
						|
                   int      GetNumVer(void) const;
 | 
						|
                   void     GetPosition( int* pnX
 | 
						|
                                        ,int* pnY
 | 
						|
                                       ) const;
 | 
						|
    inline         WXHWND*  GetRadioButtons(void) const { return m_ahRadioButtons; }
 | 
						|
           virtual int      GetRowCount(void) const;
 | 
						|
                   int      GetSelection(void) const;
 | 
						|
                   void     GetSize( int* pnX
 | 
						|
                                    ,int* pnY
 | 
						|
                                   ) const;
 | 
						|
    inline         int      GetSizeFlags(void) const { return m_nSizeFlags; }
 | 
						|
                   void     AdjustButtons( int nX
 | 
						|
                                          ,int nY
 | 
						|
                                          ,int nWidth
 | 
						|
                                          ,int nHeight
 | 
						|
                                          ,int nSizeFlags
 | 
						|
                                         );
 | 
						|
                   wxString GetString(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)) {};
 | 
						|
    inline         void     SetNumberOfRowsOrCols(int nNum) { m_nNoRowsOrCols = nNum; }
 | 
						|
                   void     SetSelection(int nIndex);
 | 
						|
           virtual void     SetString( int             nNum
 | 
						|
                                      ,const wxString& rsLabel
 | 
						|
                                     );
 | 
						|
           virtual bool     SetStringSelection(const wxString& rsStr);
 | 
						|
 | 
						|
                   void     SetLabel( int             nItem
 | 
						|
                                     ,const wxString& rsLabel
 | 
						|
                                    );
 | 
						|
                   void     SetLabel( int       item
 | 
						|
                                     ,wxBitmap* pBitmap
 | 
						|
                                    );
 | 
						|
                   wxString GetLabel(int nItem) const;
 | 
						|
 | 
						|
 | 
						|
protected:
 | 
						|
    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_nMajorDim ;
 | 
						|
    int*                            m_pnRadioWidth;  // for bitmaps
 | 
						|
    int*                            m_pnRadioHeight;
 | 
						|
    int                             m_nNoItems;
 | 
						|
    int                             m_nNoRowsOrCols;
 | 
						|
    int                             m_nSelectedButton;
 | 
						|
    int                             m_nSizeFlags;
 | 
						|
 | 
						|
private:
 | 
						|
    inline wxString GetLabel() const
 | 
						|
    { return wxWindowBase::GetLabel(); }
 | 
						|
    inline void     SetLabel(const wxString& rsLabel)
 | 
						|
    { wxWindowBase::SetLabel(rsLabel); }
 | 
						|
 | 
						|
    DECLARE_DYNAMIC_CLASS(wxRadioBox)
 | 
						|
}; // end of wxRadioBox
 | 
						|
 | 
						|
#endif
 | 
						|
    // _WX_RADIOBOX_H_
 |