// Author: Robert Roebling, Vadim Zeitlin (universalization)
// Modified by:
// Created: 20.02.02
-// Id: $Id$
// Copyright: (c) 2001 Robert Roebling,
// (c) 2002 SciTech Software, Inc. (www.scitechsoft.com)
// Licence: wxWindows licence
{
wxToolBarToolBase *tool = FindById(id);
- wxCHECK_RET( tool, _T("SetToolShortHelp: no such tool") );
+ wxCHECK_RET( tool, wxT("SetToolShortHelp: no such tool") );
tool->SetShortHelp(help);
}
{
#if wxUSE_IMAGE
// created disabled-state bitmap on demand
- if ( !enable && !tool->GetDisabledBitmap().Ok() )
+ if ( !enable && !tool->GetDisabledBitmap().IsOk() )
{
wxImage image(tool->GetNormalBitmap().ConvertToImage());
wxRect rect;
- wxCHECK_MSG( tool, rect, _T("GetToolRect: NULL tool") );
+ wxCHECK_MSG( tool, rect, wxT("GetToolRect: NULL tool") );
// ensure that we always have the valid tool position
if ( m_needsLayout )
void wxToolBar::DoLayout()
{
- wxASSERT_MSG( m_needsLayout, _T("why are we called?") );
+ wxASSERT_MSG( m_needsLayout, wxT("why are we called?") );
m_needsLayout = false;
// otherwise the toolbar can be shown incorrectly
if ( old_width != width || old_height != height )
{
- // But before we send the size event check it
- // we have a frame that is not being deleted.
- wxFrame *frame = wxDynamicCast(GetParent(), wxFrame);
- if ( frame && !frame->IsBeingDeleted() )
- {
- frame->SendSizeEvent();
- }
+ SendSizeEventToParent();
}
}
wxCoord *start,
wxCoord *end) const
{
- wxCHECK_RET( start && end, _T("NULL pointer in GetRectLimits") );
+ wxCHECK_RET( start && end, wxT("NULL pointer in GetRectLimits") );
if ( IsVertical() )
{
{
label = tool->GetLabel();
bitmap = tool->GetBitmap();
+
+ if ( !bitmap.IsOk() )
+ {
+ // it's better not to draw anything than to assert inside
+ // drawing code as this results in an almost guaranteed crash
+ // as we're likely to be called by a paint event handler and so
+ // the assert is going to be triggered again and again and ...
+ continue;
+ }
}
//else: leave both the label and the bitmap invalid to draw a separator
if ( !tool->IsControl() )
{
- int tbStyle = 0;
- if(HasFlag(wxTB_TEXT))
- {
+ int tbStyle = HasFlag(wxTB_VERTICAL) ? wxTB_VERTICAL : wxTB_HORIZONTAL;
+ if ( HasFlag(wxTB_TEXT) )
tbStyle |= wxTB_TEXT;
- }
- if(HasFlag(wxTB_VERTICAL))
- {
- tbStyle |= wxTB_VERTICAL;
- }
- else
- {
- tbStyle |= wxTB_HORIZONTAL;
- }
- rend->DrawToolBarButton(dc, label, bitmap, rectTool, flags, tool->GetStyle(), tbStyle);
+ rend->DrawToolBarButton(dc, label, bitmap, rectTool, flags,
+ tool->GetStyle(), tbStyle);
}
else // control
{
}
else if ( action == wxACTION_TOOLBAR_PRESS )
{
- wxLogTrace(_T("toolbar"), _T("Button '%s' pressed."), tool->GetShortHelp().c_str());
+ wxLogTrace(wxT("toolbar"), wxT("Button '%s' pressed."), tool->GetShortHelp().c_str());
tool->Invert();
}
else if ( action == wxACTION_TOOLBAR_RELEASE )
{
- wxLogTrace(_T("toolbar"), _T("Button '%s' released."), tool->GetShortHelp().c_str());
+ wxLogTrace(wxT("toolbar"), wxT("Button '%s' released."), tool->GetShortHelp().c_str());
- wxASSERT_MSG( tool->IsInverted(), _T("release unpressed button?") );
+ wxASSERT_MSG( tool->IsInverted(), wxT("release unpressed button?") );
if(tool->IsInverted())
{
}
else if ( action == wxACTION_TOOLBAR_ENTER )
{
- wxCHECK_MSG( tool, false, _T("no tool to enter?") );
+ wxCHECK_MSG( tool, false, wxT("no tool to enter?") );
if ( HasFlag(wxTB_FLAT) && tool->IsEnabled() )
{
}
else if ( action == wxACTION_TOOLBAR_LEAVE )
{
- wxCHECK_MSG( tool, false, _T("no tool to leave?") );
+ wxCHECK_MSG( tool, false, wxT("no tool to leave?") );
if ( HasFlag(wxTB_FLAT) && tool->IsEnabled() )
{