wxToolBar::~wxToolBar()
{
+ size_t index = 0 ;
+ for ( index = 0 ; index < m_macToolHandles.Count() ; ++index )
+ {
+ // Delete the control as we get ghosts otherwise
+ ::DisposeControl( (ControlHandle) m_macToolHandles[index] );
+ }
+
// we must refresh the frame size when the toolbar is deleted but the frame
// is not - otherwise toolbar leaves a hole in the place it used to occupy
}
bool wxToolBar::Realize()
{
- if (m_tools.Number() == 0)
+ if (m_tools.GetCount() == 0)
return FALSE;
Point localOrigin ;
controlstyle.flags = kControlUseFontMask ;
controlstyle.font = kControlFontSmallSystemFont ;
- wxNode *node = m_tools.First();
+ wxToolBarToolsList::Node *node = m_tools.GetFirst();
int noButtons = 0;
int x = 0 ;
int y = 0 ;
while (node)
{
- wxToolBarTool *tool = (wxToolBarTool *)node->Data();
- wxBitmapRefData * bmap = (wxBitmapRefData*) ( tool->GetNormalBitmap().GetRefData()) ;
+ wxToolBarTool *tool = (wxToolBarTool *)node->GetData();
if( !tool->IsSeparator() )
{
}
if ( tool->CanBeToggled() && tool->IsToggled() )
{
- ::SetControlValue( m_macToolHandle , 1 ) ;
+ ::SetControl32BitValue( m_macToolHandle , 1 ) ;
}
else
{
- ::SetControlValue( m_macToolHandle , 0 ) ;
+ ::SetControl32BitValue( m_macToolHandle , 0 ) ;
}
/*
::SetControlFontStyle( m_macToolHandle , &controlstyle ) ;
if (toolbarrect.top + y + m_yMargin + kwxMacToolBarTopMargin - m_y - localOrigin.v > maxHeight) {
maxHeight = toolbarrect.top + y + m_yMargin + kwxMacToolBarTopMargin - m_y - localOrigin.v ;
}
- node = node->Next();
+ node = node->GetNext();
}
if ( GetWindowStyleFlag() & wxTB_HORIZONTAL )
void wxToolBar::MacHandleControlClick( WXWidget control , wxInt16 controlpart )
{
- int index = 0 ;
+ size_t index = 0 ;
for ( index = 0 ; index < m_macToolHandles.Count() ; ++index )
{
if ( m_macToolHandles[index] == (void*) control )
{
- wxToolBarTool *tool = (wxToolBarTool *)m_tools.Nth( index )->Data();
+ wxToolBarTool *tool = (wxToolBarTool *)m_tools.Item( index )->GetData();
if ( tool->CanBeToggled() )
{
- tool->Toggle( GetControlValue( (ControlHandle) control ) ) ;
+ tool->Toggle( GetControl32BitValue( (ControlHandle) control ) ) ;
}
OnLeftClick( tool->GetId() , tool -> IsToggled() ) ;
break ;
void wxToolBar::MacSuperChangedPosition()
{
- if (m_tools.Number() > 0)
+ if (m_tools.GetCount() > 0)
{
Point localOrigin ;
controlstyle.flags = kControlUseFontMask ;
controlstyle.font = kControlFontSmallSystemFont ;
- wxNode *node = m_tools.First();
+ wxToolBarToolsList::Node *node = m_tools.GetFirst();
int noButtons = 0;
int x = 0 ;
wxSize toolSize = GetToolSize() ;
WindowRef rootwindow = (WindowRef) MacGetRootWindow() ;
while (node)
{
- wxToolBarTool *tool = (wxToolBarTool *)node->Data();
- wxBitmapRefData * bmap = (wxBitmapRefData*) ( tool->GetNormalBitmap().GetRefData()) ;
+ wxToolBarTool *tool = (wxToolBarTool *)node->GetData();
if( !tool->IsSeparator() )
{
if (toolbarrect.top + m_yMargin + kwxMacToolBarTopMargin - m_y - localOrigin.v > maxHeight)
maxHeight = toolbarrect.top + kwxMacToolBarTopMargin + m_yMargin - m_y - localOrigin.v ;
- node = node->Next();
+ node = node->GetNext();
}
}
MacClientToRootWindow( &x , &y ) ;
Point pt = { y ,x } ;
- int index = 0 ;
+ size_t index = 0 ;
for ( index = 0 ; index < m_macToolHandles.Count() ; ++index )
{
if ( m_macToolHandles[index] )
GetControlBounds((ControlHandle) m_macToolHandles[index], &bounds ) ;
if ( PtInRect( pt , &bounds ) )
{
- return (wxToolBarTool*) (m_tools.Nth( index )->Data() ) ;
+ return (wxToolBarTool*) (m_tools.Item( index )->GetData() ) ;
}
}
}
return ;
ControlHandle control = (ControlHandle) m_macToolHandles[ tool->m_index ] ;
- ::SetControlValue( control , toggle ) ;
+ ::SetControl32BitValue( control , toggle ) ;
}
bool wxToolBar::DoInsertTool(size_t WXUNUSED(pos),
return TRUE;
}
-void wxToolBar::DoSetToggle(wxToolBarToolBase *t, bool toggle)
+void wxToolBar::DoSetToggle(wxToolBarToolBase *WXUNUSED(tool), bool WXUNUSED(toggle))
{
- wxToolBarTool *tool = (wxToolBarTool *)t;
- // TODO: set toggle state
+ wxFAIL_MSG( _T("not implemented") );
}
-bool wxToolBar::DoDeleteTool(size_t pos, wxToolBarToolBase *tool)
+bool wxToolBar::DoDeleteTool(size_t WXUNUSED(pos), wxToolBarToolBase *WXUNUSED(tool))
{
- return TRUE ;
+ wxFAIL_MSG( _T("not implemented") );
+ return TRUE ;
}
void wxToolBar::OnPaint(wxPaintEvent& event)
dc.YLOG2DEVMAC(m_height) , dc.XLOG2DEVMAC(m_width) } ;
UMADrawThemePlacard( &toolbarrect , IsEnabled() ? kThemeStateActive : kThemeStateInactive) ;
{
- int index = 0 ;
+ size_t index = 0 ;
for ( index = 0 ; index < m_macToolHandles.Count() ; ++index )
{
if ( m_macToolHandles[index] )