#include <ToolUtils.h>
#endif
+#if TARGET_API_MAC_OSX
#ifndef __HIVIEW__
#include <HIToolbox/HIView.h>
#endif
+#endif
#if wxUSE_DRAG_AND_DROP
#include "wx/dnd.h"
{ kEventClassControl , kEventControlDraw } ,
// { kEventClassControl , kEventControlInvalidateForSizeChange } , // 10.3 only
// { kEventClassControl , kEventControlBoundsChanged } ,
+// kEventControlEnabledStateChanged , kEventControlVisibilityChanged , kEventControlHiliteChanged
#else
{}
#endif
fontStyle.size = m_font.MacGetFontSize() ;
fontStyle.flags = kControlUseFontMask | kControlUseFaceMask | kControlUseSizeMask ;
}
+
+ fontStyle.just = teJustLeft ;
+ fontStyle.flags |= kControlUseJustMask ;
+ if ( ( GetWindowStyle() & wxALIGN_MASK ) & wxALIGN_CENTER_HORIZONTAL )
+ fontStyle.just = teJustCenter ;
+ else if ( ( GetWindowStyle() & wxALIGN_MASK ) & wxALIGN_RIGHT )
+ fontStyle.just = teJustRight ;
+
+
fontStyle.foreColor = MAC_WXCOLORREF(GetForegroundColour().GetPixel() ) ;
fontStyle.flags |= kControlUseForeColorMask ;
+
::SetControlFontStyle( (ControlRef) m_macControl , &fontStyle );
Refresh() ;
}
wxSize wxWindowMac::DoGetBestSize() const
{
+ /*
Rect bestsize = { 0 , 0 , 0 , 0 } ;
short baselineoffset ;
int bestWidth, bestHeight ;
bestHeight = 13 ;
return wxSize(bestWidth, bestHeight);
+ */
+ return wxWindowBase::DoGetBestSize() ;
}
return m_label ;
}
+bool wxWindowMac::Show(bool show)
+{
+ if ( !wxWindowBase::Show(show) )
+ return FALSE;
+
+ // TODO use visibilityChanged Carbon Event for OSX
+ bool former = MacIsReallyShown() ;
+
+ SetControlVisibility( (ControlRef) m_macControl , show , true ) ;
+ if ( former != MacIsReallyShown() )
+ MacPropagateVisibilityChanged() ;
+ return TRUE;
+}
+
+bool wxWindowMac::Enable(bool enable)
+{
+ wxASSERT( m_macControl != NULL ) ;
+ if ( !wxWindowBase::Enable(enable) )
+ return FALSE;
+
+ bool former = MacIsReallyEnabled() ;
+ if ( enable )
+ EnableControl( (ControlRef) m_macControl ) ;
+ else
+ DisableControl( (ControlRef) m_macControl ) ;
+
+ if ( former != MacIsReallyEnabled() )
+ MacPropagateEnabledStateChanged() ;
+ return TRUE;
+}
+
+//
+// status change propagations (will be not necessary for OSX later )
+//
+
void wxWindowMac::MacPropagateVisibilityChanged()
{
MacVisibilityChanged() ;
}
}
-bool wxWindowMac::Show(bool show)
+void wxWindowMac::MacPropagateEnabledStateChanged( )
{
- if ( !wxWindowBase::Show(show) )
- return FALSE;
+ MacEnabledStateChanged() ;
- // TODO use visibilityChanged Carbon Event for OSX
- bool former = MacIsReallyShown() ;
+ wxWindowListNode *node = GetChildren().GetFirst();
+ while ( node )
+ {
+ wxWindowMac *child = node->GetData();
+ if ( child->IsEnabled() )
+ child->MacPropagateEnabledStateChanged() ;
+ node = node->GetNext();
+ }
+}
+
+void wxWindowMac::MacPropagateHiliteChanged( )
+{
+ MacHiliteChanged() ;
- SetControlVisibility( (ControlRef) m_macControl , show , true ) ;
- if ( former != MacIsReallyShown() )
- MacPropagateVisibilityChanged() ;
- return TRUE;
+ wxWindowListNode *node = GetChildren().GetFirst();
+ while ( node )
+ {
+ wxWindowMac *child = node->GetData();
+ // if ( child->IsEnabled() )
+ child->MacPropagateHiliteChanged() ;
+ node = node->GetNext();
+ }
+}
+
+//
+// status change notifications
+//
+
+void wxWindowMac::MacVisibilityChanged()
+{
+}
+
+void wxWindowMac::MacHiliteChanged()
+{
}
+void wxWindowMac::MacEnabledStateChanged()
+{
+}
+
+//
+// status queries on the inherited window's state
+//
+
bool wxWindowMac::MacIsReallyShown()
{
// only under OSX the visibility of the TLW is taken into account
#endif
}
-void wxWindowMac::MacVisibilityChanged()
-{
-}
-
-void wxWindowMac::MacPropagateEnabledStateChanged( )
-{
- MacEnabledStateChanged() ;
-
- wxWindowListNode *node = GetChildren().GetFirst();
- while ( node )
- {
- wxWindowMac *child = node->GetData();
- if ( child->IsEnabled() )
- child->MacPropagateEnabledStateChanged() ;
- node = node->GetNext();
- }
-}
-
-bool wxWindowMac::Enable(bool enable)
-{
- wxASSERT( m_macControl != NULL ) ;
- if ( !wxWindowBase::Enable(enable) )
- return FALSE;
-
- bool former = MacIsReallyEnabled() ;
- if ( enable )
- UMAActivateControl( (ControlRef) m_macControl ) ;
- else
- UMADeactivateControl( (ControlRef) m_macControl ) ;
-
- if ( former != MacIsReallyEnabled() )
- MacPropagateEnabledStateChanged() ;
- return TRUE;
-}
-
bool wxWindowMac::MacIsReallyEnabled()
{
return IsControlEnabled( (ControlRef) m_macControl ) ;
}
-void wxWindowMac::MacEnabledStateChanged()
+bool wxWindowMac::MacIsReallyHilited()
{
+ return IsControlActive( (ControlRef) m_macControl ) ;
}
+//
+//
+//
+
int wxWindowMac::GetCharHeight() const
{
wxClientDC dc ( (wxWindowMac*)this ) ;
void wxWindowMac::OnEraseBackground(wxEraseEvent& event)
{
- event.Skip() ;
-/*
if ( m_macBackgroundBrush.Ok() == false || m_macBackgroundBrush.GetStyle() == wxTRANSPARENT )
{
event.Skip() ;
}
else
event.GetDC()->Clear() ;
-*/
}
void wxWindowMac::OnNcPaint( wxNcPaintEvent& event )