X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/0e320a79f187558effb04d92020b470372bbe456..6dd0883d556cbed9d47b08c12682ef233717c097:/include/wx/os2/radiobox.h diff --git a/include/wx/os2/radiobox.h b/include/wx/os2/radiobox.h index df575b4ccd..fda1b8ba18 100644 --- a/include/wx/os2/radiobox.h +++ b/include/wx/os2/radiobox.h @@ -1,124 +1,194 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: radiobox.h +// Name: wx/os2/radiobox.h // Purpose: wxRadioBox class -// Author: Julian Smart +// Author: David Webster // Modified by: -// Created: 01/02/97 +// Created: 10/12/99 // RCS-ID: $Id$ -// Copyright: (c) Julian Smart -// Licence: wxWindows licence +// Copyright: (c) David Webster +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// #ifndef _WX_RADIOBOX_H_ #define _WX_RADIOBOX_H_ -#ifdef __GNUG__ -#pragma interface "radiobox.h" -#endif - -#include "wx/control.h" - -WXDLLEXPORT_DATA(extern const wxChar*) wxRadioBoxNameStr; - // List box item -class WXDLLEXPORT wxBitmap; +class WXDLLIMPEXP_FWD_CORE wxBitmap ; -class WXDLLEXPORT wxRadioBox : public wxControl +class WXDLLIMPEXP_CORE wxRadioBox: public wxControl, public wxRadioBoxBase { - DECLARE_DYNAMIC_CLASS(wxRadioBox) - public: wxRadioBox(); -#if WXWIN_COMPATIBILITY - wxRadioBox(wxWindow *parent, wxFunction func, const char *title, - int x = -1, int y = -1, int width = -1, int height = -1, - int n = 0, char **choices = NULL, - int majorDim = 0, long style = wxRA_HORIZONTAL, const char *name = wxRadioBoxNameStr); -#endif // WXWIN_COMPATIBILITY - - wxRadioBox(wxWindow *parent, wxWindowID id, const wxString& title, - const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, - int n = 0, const wxString choices[] = NULL, - int majorDim = 0, long style = wxRA_HORIZONTAL, - const wxValidator& val = wxDefaultValidator, const wxString& name = wxRadioBoxNameStr) + 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(parent, id, title, pos, size, n, choices, majorDim, style, val, name); + Create( pParent + ,vId + ,rsTitle + ,rPos + ,rSize + ,nNum + ,asChoices + ,nMajorDim + ,lStyle + ,rVal + ,rsName + ); } - ~wxRadioBox(); - - bool Create(wxWindow *parent, wxWindowID id, const wxString& title, - const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, - int n = 0, const wxString choices[] = NULL, - int majorDim = 0, long style = wxRA_HORIZONTAL, - const wxValidator& val = wxDefaultValidator, const wxString& name = wxRadioBoxNameStr); - - virtual bool MSWCommand(WXUINT param, WXWORD id); - virtual WXHBRUSH OnCtlColor(WXHDC pDC, WXHWND pWnd, WXUINT nCtlColor, - WXUINT message, WXWPARAM wParam, WXLPARAM lParam); - - int FindString(const wxString& s) const; - void SetSelection(int N); - int GetSelection() const; - wxString GetString(int N) const; - - void GetSize(int *x, int *y) const; - void GetPosition(int *x, int *y) const; - - void SetLabel(int item, const wxString& label); - void SetLabel(int item, wxBitmap *bitmap); - wxString GetLabel(int item) const; - bool Show(bool show); - void SetFocus(); - bool Enable(bool enable); - void Enable(int item, bool enable); - void Show(int item, bool show); - void SetLabelFont(const wxFont& WXUNUSED(font)) {}; - void SetButtonFont(const wxFont& font) { SetFont(font); } - - virtual wxString GetStringSelection() const; - virtual bool SetStringSelection(const wxString& s); - virtual int Number() const { return m_noItems; }; - void Command(wxCommandEvent& event); - - int GetNumberOfRowsOrCols() const { return m_noRowsOrCols; } - void SetNumberOfRowsOrCols(int n) { m_noRowsOrCols = n; } - - // Implementation - WXHWND *GetRadioButtons() const { return m_radioButtons; } - bool ContainsHWND(WXHWND hWnd) const; - void SendNotificationEvent(); + 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; + } - long MSWWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam); + // 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; + } - // get the number of buttons per column/row - inline int GetNumVer() const; - inline int GetNumHor() const; + void Command(wxCommandEvent& rEvent); + bool ContainsHWND(WXHWND hWnd) const; -protected: - void SubclassRadioButton(WXHWND hWndBtn); + 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(); } - WXHWND * m_radioButtons; - int m_majorDim; - int * m_radioWidth; // for bitmaps - int * m_radioHeight; + void SetLabel( int nItem, const wxString& rsLabel ); + void SetLabel( int item, wxBitmap* pBitmap ); + wxString GetLabel(int nItem) const; - int m_noItems; - int m_noRowsOrCols; - int m_selectedButton; +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; - virtual void DoSetSize(int x, int y, - int width, int height, - int sizeFlags = wxSIZE_AUTO); private: - // Virtual function hiding warning - virtual wxString GetLabel() const - { return(wxControl::GetLabel()); } - virtual void SetLabel(const wxString& label) - { wxControl::SetLabel(label); } -}; + unsigned int m_nNoItems; + + DECLARE_DYNAMIC_CLASS(wxRadioBox) +}; // end of wxRadioBox -#endif - // _WX_RADIOBOX_H_ +#endif // _WX_RADIOBOX_H_