Merged trunk 47523, 47567, 47569 (full wxRadioBox implementation):
* Partially implement wxRadioBox for wxCocoa. * Implement most of wxRadioBox's methods. * Implement wxCocoa wxRadioBox event. Copyright 2007 Software 2000 Ltd. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@47573 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -13,6 +13,7 @@
|
||||
#define __WX_COCOA_RADIOBOX_H__
|
||||
|
||||
// #include "wx/cocoa/NSButton.h"
|
||||
DECLARE_WXCOCOA_OBJC_CLASS(NSMatrix);
|
||||
|
||||
// ========================================================================
|
||||
// wxRadioBox
|
||||
@@ -21,7 +22,9 @@ class WXDLLEXPORT wxRadioBox: public wxControl, public wxRadioBoxBase// , protec
|
||||
{
|
||||
DECLARE_DYNAMIC_CLASS(wxRadioBox)
|
||||
DECLARE_EVENT_TABLE()
|
||||
// WX_DECLARE_COCOA_OWNER(NSButton,NSControl,NSView)
|
||||
// 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
|
||||
// ------------------------------------------------------------------------
|
||||
@@ -92,6 +95,7 @@ public:
|
||||
protected:
|
||||
// Static boxes cannot be enabled/disabled
|
||||
virtual void CocoaSetEnabled(bool enable) { }
|
||||
virtual void CocoaTarget_action(void);
|
||||
// ------------------------------------------------------------------------
|
||||
// Implementation
|
||||
// ------------------------------------------------------------------------
|
||||
@@ -106,7 +110,29 @@ public:
|
||||
virtual void SetString(unsigned int n, const wxString& label);
|
||||
// change the individual radio button state
|
||||
protected:
|
||||
// We don't want the typical wxCocoaNSBox behavior 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__
|
||||
|
Reference in New Issue
Block a user