wxWidgets/include/wx/os2/radiobox.h
Stefan Neis a4ebf7ba61 Integrated fixes for sizing/positioning; cleanup; removal of handle/window
association in dtor. (All according to patch #1396667).


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@36745 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-01-06 23:43:45 +00:00

183 lines
6.5 KiB
C++

/////////////////////////////////////////////////////////////////////////////
// Name: wx/os2/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
,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_HORIZONTAL
,const wxValidator& rVal = wxDefaultValidator
,const wxString& rsName = wxRadioBoxNameStr
)
{
Create( pParent
,vId
,rsTitle
,rPos
,rSize
,asChoices
,nMajorDim
,lStyle
,rVal
,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
,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_HORIZONTAL
,const wxValidator& rVal = wxDefaultValidator
,const wxString& rsName = wxRadioBoxNameStr
);
void Command(wxCommandEvent& rEvent);
bool ContainsHWND(WXHWND hWnd) const;
virtual bool Enable(bool bEnable = true);
virtual bool Enable(int nItem, bool bEnable = true);
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 bool Show(int nItem, bool bShow = true);
virtual bool Show(bool bShow = true);
MRESULT WindowProc( WXUINT uMsg
,WXWPARAM wParam
,WXLPARAM lParam
);
virtual int GetCount(void) 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; }
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)) {};
void SetSelection(int nIndex);
virtual void SetString( 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 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_nNoItems;
int m_nSelectedButton;
int m_nSizeFlags;
private:
DECLARE_DYNAMIC_CLASS(wxRadioBox)
}; // end of wxRadioBox
#endif // _WX_RADIOBOX_H_