// define this to use XPMs everywhere (by default, BMPs are used under Win)
// BMPs use less space, but aren't compiled into the executable on other platforms
-#ifdef __WXMSW__
+#ifdef __WINDOWS__
#define USE_XPM_BITMAPS 0
#else
#define USE_XPM_BITMAPS 1
#endif
-#if USE_XPM_BITMAPS && defined(__WXMSW__) && !wxUSE_XPM_IN_MSW
- #error You need to enable XPM support to use XPM bitmaps with toolbar!
-#endif // USE_XPM_BITMAPS
-
// If this is 1, the sample will test an extra toolbar identical to the
// main one, but not managed by the frame. This can test subtle differences
// in the way toolbars are handled, especially on Mac where there is one
// resources
// ----------------------------------------------------------------------------
-#if !defined(__WXMSW__) && !defined(__WXPM__)
+#ifndef wxHAS_IMAGES_IN_RESOURCES
#include "../sample.xpm"
#endif
// the changes
toolBar->Realize();
- toolBar->SetRows(!(toolBar->IsVertical()) ? m_rows : 10 / m_rows);
+ toolBar->SetRows(toolBar->IsVertical() ? toolBar->GetToolsCount() / m_rows
+ : m_rows);
}
// ----------------------------------------------------------------------------
// m_rows may be only 1 or 2
m_rows = 3 - m_rows;
- GetToolBar()->SetRows(!(GetToolBar()->IsVertical()) ? m_rows : 10 / m_rows);
+ wxToolBar* const toolBar = GetToolBar();
+ toolBar->SetRows(toolBar->IsVertical() ? toolBar->GetToolsCount() / m_rows
+ : m_rows);
//RecreateToolbar(); -- this is unneeded
}
void MyFrame::OnToolbarStyle(wxCommandEvent& event)
{
long style = GetToolBar()->GetWindowStyle();
- style &= ~(wxTB_NOICONS | wxTB_TEXT);
+ style &= ~(wxTB_NOICONS | wxTB_HORZ_TEXT);
switch ( event.GetId() )
{
case IDM_TOOLBAR_SHOW_TEXT:
- style |= wxTB_NOICONS | wxTB_TEXT;
+ style |= wxTB_NOICONS | (m_horzText ? wxTB_HORZ_TEXT : wxTB_TEXT);
break;
case IDM_TOOLBAR_SHOW_ICONS:
break;
case IDM_TOOLBAR_SHOW_BOTH:
- style |= wxTB_TEXT;
+ style |= (m_horzText ? wxTB_HORZ_TEXT : wxTB_TEXT);
}
GetToolBar()->SetWindowStyle(style);