From: Stefan Csomor Date: Sat, 29 May 2004 14:51:29 +0000 (+0000) Subject: control data support X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/86d8b74439d7d779179fdba9220108cabc9d490a control data support git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@27500 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/include/wx/mac/carbon/private.h b/include/wx/mac/carbon/private.h index acbf5273fd..d10d4f5643 100644 --- a/include/wx/mac/carbon/private.h +++ b/include/wx/mac/carbon/private.h @@ -283,7 +283,10 @@ public : { return SetParameter( inName, wxMacGetEventParamType() , &data ) ; } - + UInt32 GetClass() + { + return ::GetEventClass( m_eventRef ) ; + } UInt32 GetKind() { return ::GetEventKind( m_eventRef ) ; @@ -300,6 +303,52 @@ protected : EventRef m_eventRef ; } ; +class wxMacControl +{ +public : + wxMacControl( ControlRef control ) + { + m_controlRef = control ; + } + wxMacControl( WXWidget control ) + { + m_controlRef = (ControlRef) control ; + } + + OSStatus SetData( ControlPartCode inPartCode , ResType inTag , Size inSize , const void * inData ) ; + OSStatus GetData( ControlPartCode inPartCode , ResType inTag , Size inBufferSize , void * inOutBuffer , Size * outActualSize ) ; + OSStatus GetDataSize( ControlPartCode inPartCode , ResType inTag , Size * outActualSize ) ; + Size GetDataSize( ControlPartCode inPartCode , ResType inTag ) + { + Size sz ; + verify_noerr( GetDataSize( inPartCode , inTag , &sz ) ) ; + return sz ; + } + template OSStatus SetData( ControlPartCode inPartCode , ResType inTag , T *data ) + { + return SetData( inPartCode , inTag , sizeof( T ) , data ) ; + } + template OSStatus SetData( ControlPartCode inPartCode , ResType inTag , T data ) + { + return SetData( inPartCode , inTag , sizeof( T ) , &data ) ; + } + template OSStatus GetData( ControlPartCode inPartCode , ResType inTag , T *data ) + { + Size dummy ; + return GetData( inPartCode , inTag , sizeof( T ) , data , &dummy ) ; + } + template T GetData( ControlPartCode inPartCode , ResType inTag ) + { + T value ; + verify_noerr( GetData( inPartCode , inTag , &value ) ) ; + return value ; + } + operator ControlRef () { return m_controlRef; } + operator ControlRef * () { return &m_controlRef; } +protected : + ControlRef m_controlRef ; +} ; + #endif // wxUSE_GUI //--------------------------------------------------------------------------- diff --git a/src/mac/carbon/utils.cpp b/src/mac/carbon/utils.cpp index ce536a4832..5c4da3a625 100644 --- a/src/mac/carbon/utils.cpp +++ b/src/mac/carbon/utils.cpp @@ -1286,6 +1286,25 @@ OSStatus wxMacCarbonEvent::SetParameter(EventParamName inName, EventParamType in return ::SetEventParameter( m_eventRef , inName , inType , inBufferSize , inData ) ; } +// ---------------------------------------------------------------------------- +// Control Access Support +// ---------------------------------------------------------------------------- + +OSStatus wxMacControl::GetData(ControlPartCode inPartCode , ResType inTag , Size inBufferSize , void * inOutBuffer , Size * outActualSize ) +{ + return ::GetControlData( m_controlRef , inPartCode , inTag , inBufferSize , inOutBuffer , outActualSize ) ; +} + +OSStatus wxMacControl::GetDataSize(ControlPartCode inPartCode , ResType inTag , Size * outActualSize ) +{ + return ::GetControlDataSize( m_controlRef , inPartCode , inTag , outActualSize ) ; +} + +OSStatus wxMacControl::SetData(ControlPartCode inPartCode , ResType inTag , Size inSize , const void * inData) +{ + return ::SetControlData( m_controlRef , inPartCode , inTag , inSize , inData ) ; +} + // ---------------------------------------------------------------------------- // debugging support // ----------------------------------------------------------------------------