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
138 lines
4.9 KiB
C++
138 lines
4.9 KiB
C++
/////////////////////////////////////////////////////////////////////////////
|
|
// Name: wx/cocoa/radiobox.h
|
|
// Purpose: wxRadioBox class
|
|
// Author: David Elliott
|
|
// Modified by:
|
|
// Created: 2003/03/18
|
|
// Copyright: (c) 2003 David Elliott
|
|
// Licence: wxWindows licence
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
#ifndef __WX_COCOA_RADIOBOX_H__
|
|
#define __WX_COCOA_RADIOBOX_H__
|
|
|
|
// #include "wx/cocoa/NSButton.h"
|
|
DECLARE_WXCOCOA_OBJC_CLASS(NSMatrix);
|
|
|
|
// ========================================================================
|
|
// wxRadioBox
|
|
// ========================================================================
|
|
class WXDLLIMPEXP_CORE wxRadioBox: public wxControl, public wxRadioBoxBase// , protected wxCocoaNSButton
|
|
{
|
|
DECLARE_DYNAMIC_CLASS(wxRadioBox)
|
|
DECLARE_EVENT_TABLE()
|
|
// NOTE: We explicitly skip NSControl because our primary cocoa view is
|
|
// the NSBox but we want to receive action messages from the NSMatrix.
|
|
WX_DECLARE_COCOA_OWNER(NSBox,NSView,NSView)
|
|
// ------------------------------------------------------------------------
|
|
// initialization
|
|
// ------------------------------------------------------------------------
|
|
public:
|
|
wxRadioBox() { }
|
|
wxRadioBox(wxWindow *parent, wxWindowID winid,
|
|
const wxString& title,
|
|
const wxPoint& pos = wxDefaultPosition,
|
|
const wxSize& size = wxDefaultSize,
|
|
int n = 0, const wxString choices[] = NULL,
|
|
int majorDim = 0,
|
|
long style = 0, const wxValidator& validator = wxDefaultValidator,
|
|
const wxString& name = wxRadioBoxNameStr)
|
|
{
|
|
Create(parent, winid, title, pos, size, n, choices, majorDim, style, validator, name);
|
|
}
|
|
wxRadioBox(wxWindow *parent, wxWindowID winid,
|
|
const wxString& title,
|
|
const wxPoint& pos,
|
|
const wxSize& size,
|
|
const wxArrayString& choices,
|
|
int majorDim = 0,
|
|
long style = 0, const wxValidator& validator = wxDefaultValidator,
|
|
const wxString& name = wxRadioBoxNameStr)
|
|
{
|
|
Create(parent, winid, title, pos, size, choices, majorDim, style, validator, name);
|
|
}
|
|
|
|
bool Create(wxWindow *parent, wxWindowID winid,
|
|
const wxString& title,
|
|
const wxPoint& pos = wxDefaultPosition,
|
|
const wxSize& size = wxDefaultSize,
|
|
int n = 0, const wxString choices[] = NULL,
|
|
int majorDim = 0,
|
|
long style = 0,
|
|
const wxValidator& validator = wxDefaultValidator,
|
|
const wxString& name = wxRadioBoxNameStr);
|
|
bool Create(wxWindow *parent, wxWindowID winid,
|
|
const wxString& title,
|
|
const wxPoint& pos,
|
|
const wxSize& size,
|
|
const wxArrayString& choices,
|
|
int majorDim = 0,
|
|
long style = 0,
|
|
const wxValidator& validator = wxDefaultValidator,
|
|
const wxString& name = wxRadioBoxNameStr);
|
|
virtual ~wxRadioBox();
|
|
|
|
// Enabling
|
|
virtual bool Enable(unsigned int n, bool enable = true);
|
|
virtual bool IsItemEnabled(unsigned int WXUNUSED(n)) const
|
|
{
|
|
/* TODO */
|
|
return true;
|
|
}
|
|
|
|
// Showing
|
|
virtual bool Show(unsigned int n, bool show = true);
|
|
virtual bool IsItemShown(unsigned int WXUNUSED(n)) const
|
|
{
|
|
/* TODO */
|
|
return true;
|
|
}
|
|
|
|
// ------------------------------------------------------------------------
|
|
// Cocoa callbacks
|
|
// ------------------------------------------------------------------------
|
|
protected:
|
|
// Radio boxes cannot be enabled/disabled
|
|
virtual void CocoaSetEnabled(bool WXUNUSED(enable)) { }
|
|
virtual void CocoaTarget_action(void);
|
|
// ------------------------------------------------------------------------
|
|
// Implementation
|
|
// ------------------------------------------------------------------------
|
|
public:
|
|
// Pure virtuals
|
|
// selection
|
|
virtual void SetSelection(int n);
|
|
virtual int GetSelection() const;
|
|
// string access
|
|
virtual unsigned int GetCount() const;
|
|
virtual wxString GetString(unsigned int n) const;
|
|
virtual void SetString(unsigned int n, const wxString& label);
|
|
// change the individual radio button state
|
|
protected:
|
|
// We don't want the typical wxCocoaNSBox behaviour because our real
|
|
// implementation is by using an NSMatrix as the NSBox's contentView.
|
|
WX_NSMatrix GetNSMatrix() const;
|
|
void AssociateNSBox(WX_NSBox theBox);
|
|
void DisassociateNSBox(WX_NSBox theBox);
|
|
|
|
virtual wxSize DoGetBestSize() const;
|
|
|
|
int GetRowForIndex(int n) const
|
|
{
|
|
if(m_windowStyle & wxRA_SPECIFY_COLS)
|
|
return n / GetMajorDim();
|
|
else
|
|
return n % GetMajorDim();
|
|
}
|
|
|
|
int GetColumnForIndex(int n) const
|
|
{
|
|
if(m_windowStyle & wxRA_SPECIFY_COLS)
|
|
return n % GetMajorDim();
|
|
else
|
|
return n / GetMajorDim();
|
|
}
|
|
};
|
|
|
|
#endif // __WX_COCOA_RADIOBOX_H__
|