// Licence: The wxWindows licence
/////////////////////////////////////////////////////////////////////////////
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
#pragma implementation "toolbar.h"
#endif
-#include "wx/wx.h"
+#include "wx/wxprec.h"
#if wxUSE_TOOLBAR
+#include "wx/wx.h"
#include "wx/toolbar.h"
#include "wx/notebook.h"
#include "wx/tabctrl.h"
wxToolBarTool* tbartool = (wxToolBarTool*)data ;
if ( tbartool->CanBeToggled() )
{
- tbartool->Toggle( GetControl32BitValue( (ControlRef) tbartool->GetControlHandle() ) ) ;
+ ((wxToolBar*)tbartool->GetToolBar())->ToggleTool(tbartool->GetId(), GetControl32BitValue((ControlRef)tbartool->GetControlHandle()));
}
((wxToolBar*)tbartool->GetToolBar())->OnLeftClick( tbartool->GetId() , tbartool -> IsToggled() ) ;
-
result = noErr;
}
break ;
GetControlBounds( m_controlHandle , &contrlRect ) ;
int former_mac_x = contrlRect.left ;
int former_mac_y = contrlRect.top ;
- wxSize sz = GetToolBar()->GetToolSize() ;
+ GetToolBar()->GetToolSize() ;
if ( mac_x != former_mac_x || mac_y != former_mac_y )
{
node = node->GetNext();
}
+ bool lastWasRadio = FALSE;
node = m_tools.GetFirst();
while (node)
{
wxToolBarTool *tool = (wxToolBarTool *)node->GetData();
wxSize cursize = tool->GetSize() ;
+ bool isRadio = FALSE;
+
+ if ( tool->IsButton() && tool->GetKind() == wxITEM_RADIO )
+ {
+ if ( !lastWasRadio )
+ {
+ if (tool->Toggle(true))
+ {
+ DoToggleTool(tool, true);
+ }
+ }
+ isRadio = TRUE;
+ }
+ else
+ {
+ isRadio = FALSE;
+ }
+ lastWasRadio = isRadio;
+
// for the moment we just do a single row/column alignement
if ( x + cursize.x > maxWidth )
maxWidth = x + cursize.x ;
// if not set yet, only one row
SetRows(1);
}
+ m_minWidth = maxWidth;
maxWidth = tw ;
maxHeight += m_yMargin + kwxMacToolBarTopMargin;
- m_maxHeight = maxHeight ;
+ m_minHeight = m_maxHeight = maxHeight ;
}
else
{
// if not set yet, have one column
SetRows(GetToolsCount());
}
+ m_minHeight = maxHeight;
maxHeight = th ;
maxWidth += m_xMargin + kwxMacToolBarLeftMargin;
- m_maxWidth = maxWidth ;
+ m_minWidth = m_maxWidth = maxWidth ;
}
SetSize( maxWidth, maxHeight );
void wxToolBar::DoEnableTool(wxToolBarToolBase *t, bool enable)
{
- if (!IsShown())
- return ;
-
((wxToolBarTool*)t)->DoEnable( enable ) ;
}
void wxToolBar::DoToggleTool(wxToolBarToolBase *t, bool toggle)
{
- if (!IsShown())
- return ;
-
wxToolBarTool *tool = (wxToolBarTool *)t;
if ( tool->IsButton() )
{