+SInt32 wxMacControl::GetMaximum() const
+{
+ return ::GetControl32BitMaximum( m_controlRef ) ;
+}
+
+SInt32 wxMacControl::GetMinimum() const
+{
+ return ::GetControl32BitMinimum( m_controlRef ) ;
+}
+
+void wxMacControl::SetValue( SInt32 v )
+{
+ ::SetControl32BitValue( m_controlRef , v ) ;
+}
+
+void wxMacControl::SetMinimum( SInt32 v )
+{
+ ::SetControl32BitMinimum( m_controlRef , v ) ;
+}
+
+void wxMacControl::SetMaximum( SInt32 v )
+{
+ ::SetControl32BitMaximum( m_controlRef , v ) ;
+}
+
+void wxMacControl::SetValueAndRange( SInt32 value , SInt32 minimum , SInt32 maximum )
+{
+ ::SetControl32BitMinimum( m_controlRef , minimum ) ;
+ ::SetControl32BitMaximum( m_controlRef , maximum ) ;
+ ::SetControl32BitValue( m_controlRef , value ) ;
+}
+
+OSStatus wxMacControl::SetFocus( ControlFocusPart focusPart )
+{
+ return SetKeyboardFocus( GetControlOwner( m_controlRef ) ,
+ m_controlRef , focusPart ) ;
+}
+
+bool wxMacControl::HasFocus() const
+{
+ ControlRef control ;
+ GetKeyboardFocus( GetUserFocusWindow() , &control ) ;
+ return control == m_controlRef ;
+}
+
+void wxMacControl::SetNeedsFocusRect( bool needs )
+{
+ m_needsFocusRect = needs ;
+}
+
+bool wxMacControl::NeedsFocusRect() const
+{
+ return m_needsFocusRect ;
+}
+
+void wxMacControl::VisibilityChanged(bool shown)
+{
+}
+
+void wxMacControl::SuperChangedPosition()
+{
+}
+
+void wxMacControl::SetFont( const wxFont & font , const wxColour& foreground , long windowStyle )
+{
+ m_font = font ;
+ ControlFontStyleRec fontStyle;
+ if ( font.MacGetThemeFontID() != kThemeCurrentPortFont )
+ {
+ switch( font.MacGetThemeFontID() )
+ {
+ case kThemeSmallSystemFont : fontStyle.font = kControlFontSmallSystemFont ; break ;
+ case 109 /*mini font */ : fontStyle.font = -5 ; break ;
+ case kThemeSystemFont : fontStyle.font = kControlFontBigSystemFont ; break ;
+ default : fontStyle.font = kControlFontBigSystemFont ; break ;
+ }
+ fontStyle.flags = kControlUseFontMask ;
+ }
+ else
+ {
+ fontStyle.font = font.MacGetFontNum() ;
+ fontStyle.style = font.MacGetFontStyle() ;
+ fontStyle.size = font.MacGetFontSize() ;
+ fontStyle.flags = kControlUseFontMask | kControlUseFaceMask | kControlUseSizeMask ;
+ }
+
+ fontStyle.just = teJustLeft ;
+ fontStyle.flags |= kControlUseJustMask ;
+ if ( ( windowStyle & wxALIGN_MASK ) & wxALIGN_CENTER_HORIZONTAL )
+ fontStyle.just = teJustCenter ;
+ else if ( ( windowStyle & wxALIGN_MASK ) & wxALIGN_RIGHT )
+ fontStyle.just = teJustRight ;
+
+
+ // we only should do this in case of a non-standard color, as otherwise 'disabled' controls
+ // won't get grayed out by the system anymore
+
+ if ( foreground != *wxBLACK )
+ {
+ fontStyle.foreColor = MAC_WXCOLORREF(foreground.GetPixel() ) ;
+ fontStyle.flags |= kControlUseForeColorMask ;
+ }
+
+ ::SetControlFontStyle( m_controlRef , &fontStyle );
+}
+
+void wxMacControl::SetBackground( const wxBrush &WXUNUSED(brush) )
+{
+ // TODO
+ // setting up a color proc is not recommended anymore
+}
+
+void wxMacControl::SetRange( SInt32 minimum , SInt32 maximum )
+{
+ ::SetControl32BitMinimum( m_controlRef , minimum ) ;
+ ::SetControl32BitMaximum( m_controlRef , maximum ) ;
+}
+
+short wxMacControl::HandleKey( SInt16 keyCode, SInt16 charCode, EventModifiers modifiers )
+{
+ return HandleControlKey( m_controlRef , keyCode , charCode , modifiers ) ;
+}
+
+void wxMacControl::SetActionProc( ControlActionUPP actionProc )
+{
+ SetControlAction( m_controlRef , actionProc ) ;
+}
+
+void wxMacControl::SetViewSize( SInt32 viewSize )
+{
+ SetControlViewSize(m_controlRef , viewSize ) ;
+}
+
+SInt32 wxMacControl::GetViewSize() const
+{
+ return GetControlViewSize( m_controlRef ) ;
+}
+
+bool wxMacControl::IsVisible() const
+{
+ return IsControlVisible( m_controlRef ) ;
+}
+
+void wxMacControl::SetVisibility( bool visible , bool redraw )
+{
+ SetControlVisibility( m_controlRef , visible , redraw ) ;
+}
+
+bool wxMacControl::IsEnabled() const
+{
+#if TARGET_API_MAC_OSX
+ return IsControlEnabled( m_controlRef ) ;
+#else
+ return IsControlActive( m_controlRef ) ;