3f66f6a5b3
This keyword is not expanded by Git which means it's not replaced with the correct revision value in the releases made using git-based scripts and it's confusing to have lines with unexpanded "$Id$" in the released files. As expanding them with Git is not that simple (it could be done with git archive and export-subst attribute) and there are not many benefits in having them in the first place, just remove all these lines. If nothing else, this will make an eventual transition to Git simpler. Closes #14487. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74602 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
153 lines
5.1 KiB
C++
153 lines
5.1 KiB
C++
///////////////////////////////////////////////////////////////////////////////
|
|
// Name: wx/univ/radiobox.h
|
|
// Purpose: wxRadioBox declaration
|
|
// Author: Vadim Zeitlin
|
|
// Modified by:
|
|
// Created: 11.09.00
|
|
// Copyright: (c) 2000 SciTech Software, Inc. (www.scitechsoft.com)
|
|
// Licence: wxWindows licence
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
#ifndef _WX_UNIV_RADIOBOX_H_
|
|
#define _WX_UNIV_RADIOBOX_H_
|
|
|
|
class WXDLLIMPEXP_FWD_CORE wxRadioButton;
|
|
|
|
#include "wx/statbox.h"
|
|
#include "wx/dynarray.h"
|
|
|
|
WX_DEFINE_EXPORTED_ARRAY_PTR(wxRadioButton *, wxArrayRadioButtons);
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// wxRadioBox: a box full of radio buttons
|
|
// ----------------------------------------------------------------------------
|
|
|
|
class WXDLLIMPEXP_CORE wxRadioBox : public wxStaticBox,
|
|
public wxRadioBoxBase
|
|
{
|
|
public:
|
|
// wxRadioBox construction
|
|
wxRadioBox() { Init(); }
|
|
|
|
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_SPECIFY_COLS,
|
|
const wxValidator& val = wxDefaultValidator,
|
|
const wxString& name = wxRadioBoxNameStr)
|
|
{
|
|
Init();
|
|
|
|
(void)Create(parent, id, title, pos, size, n, choices,
|
|
majorDim, style, val, name);
|
|
}
|
|
wxRadioBox(wxWindow *parent,
|
|
wxWindowID id,
|
|
const wxString& title,
|
|
const wxPoint& pos,
|
|
const wxSize& size,
|
|
const wxArrayString& choices,
|
|
int majorDim = 0,
|
|
long style = wxRA_SPECIFY_COLS,
|
|
const wxValidator& val = wxDefaultValidator,
|
|
const wxString& name = wxRadioBoxNameStr);
|
|
|
|
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_SPECIFY_COLS,
|
|
const wxValidator& val = wxDefaultValidator,
|
|
const wxString& name = wxRadioBoxNameStr);
|
|
bool Create(wxWindow *parent,
|
|
wxWindowID id,
|
|
const wxString& title,
|
|
const wxPoint& pos,
|
|
const wxSize& size,
|
|
const wxArrayString& choices,
|
|
int majorDim = 0,
|
|
long style = wxRA_SPECIFY_COLS,
|
|
const wxValidator& val = wxDefaultValidator,
|
|
const wxString& name = wxRadioBoxNameStr);
|
|
|
|
virtual ~wxRadioBox();
|
|
|
|
// implement wxRadioBox interface
|
|
virtual void SetSelection(int n);
|
|
virtual int GetSelection() const;
|
|
|
|
virtual unsigned int GetCount() const
|
|
{ return (unsigned int)m_buttons.GetCount(); }
|
|
|
|
virtual wxString GetString(unsigned int n) const;
|
|
virtual void SetString(unsigned int n, const wxString& label);
|
|
|
|
virtual bool Enable(unsigned int n, bool enable = true);
|
|
virtual bool Show(unsigned int n, bool show = true);
|
|
|
|
virtual bool IsItemEnabled(unsigned int n) const;
|
|
virtual bool IsItemShown(unsigned int n) const;
|
|
|
|
// we also override the wxControl methods to avoid virtual function hiding
|
|
virtual bool Enable(bool enable = true);
|
|
virtual bool Show(bool show = true);
|
|
virtual wxString GetLabel() const;
|
|
virtual void SetLabel(const wxString& label);
|
|
|
|
// we inherit a version always returning false from wxStaticBox, override
|
|
// it to behave normally
|
|
virtual bool AcceptsFocus() const { return wxControl::AcceptsFocus(); }
|
|
|
|
#if wxUSE_TOOLTIPS
|
|
virtual void DoSetToolTip( wxToolTip *tip );
|
|
#endif // wxUSE_TOOLTIPS
|
|
|
|
// wxUniversal-only methods
|
|
|
|
// another Append() version
|
|
void Append(int n, const wxString *choices);
|
|
|
|
// implementation only: called by wxRadioHookHandler
|
|
void OnRadioButton(wxEvent& event);
|
|
bool OnKeyDown(wxKeyEvent& event);
|
|
|
|
protected:
|
|
virtual wxBorder GetDefaultBorder() const { return wxBORDER_NONE; }
|
|
|
|
// override the base class methods dealing with window positioning/sizing
|
|
// as we must move/size the buttons as well
|
|
virtual void DoMoveWindow(int x, int y, int width, int height);
|
|
virtual wxSize DoGetBestClientSize() const;
|
|
|
|
// generate a radiobutton click event for the current item
|
|
void SendRadioEvent();
|
|
|
|
// common part of all ctors
|
|
void Init();
|
|
|
|
// calculate the max size of all buttons
|
|
wxSize GetMaxButtonSize() const;
|
|
|
|
// the currently selected radio button or -1
|
|
int m_selection;
|
|
|
|
// all radio buttons
|
|
wxArrayRadioButtons m_buttons;
|
|
|
|
// the event handler which is used to translate radiobutton events into
|
|
// radiobox one
|
|
wxEvtHandler *m_evtRadioHook;
|
|
|
|
private:
|
|
DECLARE_DYNAMIC_CLASS(wxRadioBox)
|
|
};
|
|
|
|
#endif // _WX_UNIV_RADIOBOX_H_
|