// Modified by:
// Created: 08.02.01
// RCS-ID: $Id$
-// Copyright: (c) 2000 Johnny C. Norris II
-// License: Rocketeer license
+// Copyright: (c) Stefan Csomor
+// License: wxWindows license
/////////////////////////////////////////////////////////////////////////////
// ============================================================================
// headers
// ----------------------------------------------------------------------------
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
#pragma implementation "button.h"
#endif
-#include "wx/defs.h"
-#include "wx/tglbtn.h"
+#include "wx/wxprec.h"
#if wxUSE_TOGGLEBTN
+#include "wx/tglbtn.h"
#include "wx/mac/uma.h"
// Button
m_label = label ;
Rect bounds = wxMacGetBoundsForControl( this , pos , size ) ;
- m_macControl = (WXWidget) ::NewControl( MAC_WXHWND(parent->MacGetTopLevelWindowRef()) , &bounds , "\p" , true , 0 , kControlBehaviorToggles , 1,
- kControlBevelButtonNormalBevelProc , (long) this ) ;
- wxASSERT_MSG( (ControlRef) m_macControl != NULL , wxT("No valid mac control") ) ;
+
+ m_peer = new wxMacControl(this) ;
+ verify_noerr ( CreateBevelButtonControl( MAC_WXHWND(parent->MacGetTopLevelWindowRef()) , &bounds , CFSTR("") ,
+ kControlBevelButtonNormalBevel , kControlBehaviorToggles , NULL , 0 , 0 , 0 , m_peer->GetControlRefAddr() ) );
+
MacPostControlCreate(pos,size) ;
void wxToggleButton::SetValue(bool val)
{
- ::SetControl32BitValue( (ControlRef) m_macControl , val ) ;
+ m_peer->SetValue( val ) ;
}
bool wxToggleButton::GetValue() const
{
- return GetControl32BitValue( (ControlRef) m_macControl ) ;
+ return m_peer->GetValue() ;
}
void wxToggleButton::Command(wxCommandEvent & event)
ProcessCommand(event);
}
-void wxToggleButton::MacHandleControlClick( WXWidget WXUNUSED(control) , wxInt16 controlpart , bool WXUNUSED(mouseStillDown) )
+wxInt32 wxToggleButton::MacControlHit(WXEVENTHANDLERREF WXUNUSED(handler) , WXEVENTREF WXUNUSED(event) )
{
- if ( controlpart != kControlNoPart )
- {
- wxCommandEvent event(wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, m_windowId);
- event.SetInt(GetValue());
- event.SetEventObject(this);
- ProcessCommand(event);
- }
+ wxCommandEvent event(wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, m_windowId);
+ event.SetInt(GetValue());
+ event.SetEventObject(this);
+ ProcessCommand(event);
+ return noErr ;
}
#endif // wxUSE_TOGGLEBTN