X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/5276b0a53cef4815230e39b54d2ecda14f72cbd1..e78209f6a83aa446ba4ae6947029f6f90d2ef61e:/samples/toolbar/toolbar.cpp diff --git a/samples/toolbar/toolbar.cpp b/samples/toolbar/toolbar.cpp index 106e9622b8..f996ac59f0 100644 --- a/samples/toolbar/toolbar.cpp +++ b/samples/toolbar/toolbar.cpp @@ -37,16 +37,12 @@ // 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 @@ -60,7 +56,7 @@ // resources // ---------------------------------------------------------------------------- -#if !defined(__WXMSW__) && !defined(__WXPM__) +#ifndef wxHAS_IMAGES_IN_RESOURCES #include "../sample.xpm" #endif @@ -315,8 +311,6 @@ bool MyApp::OnInit() wxInitAllImageHandlers(); - SetTopWindow(frame); - return true; } @@ -496,7 +490,7 @@ void MyFrame::PopulateToolbar(wxToolBarBase* toolBar) { // create a tool with a custom bitmap for testing wxImage img(m_pathBmp); - if ( img.Ok() ) + if ( img.IsOk() ) { if ( img.GetWidth() > w && img.GetHeight() > h ) img = img.GetSubImage(wxRect(0, 0, w, h)); @@ -510,7 +504,8 @@ void MyFrame::PopulateToolbar(wxToolBarBase* toolBar) // the changes toolBar->Realize(); - toolBar->SetRows(!(toolBar->IsVertical()) ? m_rows : 10 / m_rows); + toolBar->SetRows(toolBar->IsVertical() ? toolBar->GetToolsCount() / m_rows + : m_rows); } // ---------------------------------------------------------------------------- @@ -642,7 +637,7 @@ MyFrame::MyFrame(wxFrame* parent, m_extraToolBar = new wxToolBar(m_panel, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTB_TEXT|wxTB_FLAT|wxTB_TOP); PopulateToolbar(m_extraToolBar); #endif - + m_textWindow = new wxTextCtrl(m_panel, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_MULTILINE); wxBoxSizer* sizer = new wxBoxSizer(wxVERTICAL); @@ -764,7 +759,9 @@ void MyFrame::OnToggleToolbarRows(wxCommandEvent& WXUNUSED(event)) // 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 } @@ -927,12 +924,12 @@ void MyFrame::OnChangeToolTip(wxCommandEvent& WXUNUSED(event)) 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: @@ -940,7 +937,7 @@ void MyFrame::OnToolbarStyle(wxCommandEvent& event) break; case IDM_TOOLBAR_SHOW_BOTH: - style |= wxTB_TEXT; + style |= (m_horzText ? wxTB_HORZ_TEXT : wxTB_TEXT); } GetToolBar()->SetWindowStyle(style);