bcb016613e
Use a dirty hack to accommodate wxUniv by deriving wxRadioButtonBase from wxCheckBox, rather than wxControl, there. This is not pretty, but should be addressed by refactoring wxUniv code and in the meanwhile all the other ports don't have to bother with using a template class unnecessarily.
62 lines
1.9 KiB
C++
62 lines
1.9 KiB
C++
/////////////////////////////////////////////////////////////////////////////
|
|
// Name: wx/motif/radiobut.h
|
|
// Purpose: wxRadioButton class
|
|
// Author: Julian Smart
|
|
// Modified by:
|
|
// Created: 01/02/97
|
|
// Copyright: (c) Julian Smart
|
|
// Licence: wxWindows licence
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
#ifndef _WX_RADIOBUT_H_
|
|
#define _WX_RADIOBUT_H_
|
|
|
|
class WXDLLIMPEXP_CORE wxRadioButton: public wxRadioButtonBase
|
|
{
|
|
wxDECLARE_DYNAMIC_CLASS(wxRadioButton);
|
|
public:
|
|
wxRadioButton();
|
|
virtual ~wxRadioButton() { RemoveFromCycle(); }
|
|
|
|
inline wxRadioButton(wxWindow *parent, wxWindowID id,
|
|
const wxString& label,
|
|
const wxPoint& pos = wxDefaultPosition,
|
|
const wxSize& size = wxDefaultSize, long style = 0,
|
|
const wxValidator& validator = wxDefaultValidator,
|
|
const wxString& name = wxASCII_STR(wxRadioButtonNameStr))
|
|
{
|
|
Create(parent, id, label, pos, size, style, validator, name);
|
|
}
|
|
|
|
bool Create(wxWindow *parent, wxWindowID id,
|
|
const wxString& label,
|
|
const wxPoint& pos = wxDefaultPosition,
|
|
const wxSize& size = wxDefaultSize, long style = 0,
|
|
const wxValidator& validator = wxDefaultValidator,
|
|
const wxString& name = wxASCII_STR(wxRadioButtonNameStr));
|
|
|
|
virtual void SetValue(bool val);
|
|
virtual bool GetValue() const ;
|
|
|
|
void Command(wxCommandEvent& event);
|
|
|
|
// Implementation
|
|
virtual void ChangeBackgroundColour();
|
|
|
|
// *this function is an implementation detail*
|
|
// clears the selection in the radiobuttons in the cycle
|
|
// and returns the old selection (if any)
|
|
wxRadioButton* ClearSelections();
|
|
protected:
|
|
virtual wxBorder GetDefaultBorder() const { return wxBORDER_NONE; }
|
|
private:
|
|
wxRadioButton* AddInCycle(wxRadioButton* cycle);
|
|
void RemoveFromCycle();
|
|
wxRadioButton* NextInCycle() { return m_cycle; }
|
|
|
|
wxRadioButton *m_cycle;
|
|
};
|
|
|
|
#endif
|
|
// _WX_RADIOBUT_H_
|