show wxTB_HORZ_LAYOUT in action

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@23939 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2003-09-26 18:19:50 +00:00
parent 03a991bc7a
commit 96dc423640

View File

@@ -103,6 +103,7 @@ public:
void OnToggleToolbar(wxCommandEvent& event); void OnToggleToolbar(wxCommandEvent& event);
void OnToggleAnotherToolbar(wxCommandEvent& event); void OnToggleAnotherToolbar(wxCommandEvent& event);
void OnToggleHorizontalText(wxCommandEvent& WXUNUSED(event));
void OnToggleToolbarSize(wxCommandEvent& event); void OnToggleToolbarSize(wxCommandEvent& event);
void OnToggleToolbarOrient(wxCommandEvent& event); void OnToggleToolbarOrient(wxCommandEvent& event);
@@ -122,6 +123,7 @@ public:
void OnCombo(wxCommandEvent& event); void OnCombo(wxCommandEvent& event);
void OnUpdateCopyAndCut(wxUpdateUIEvent& event); void OnUpdateCopyAndCut(wxUpdateUIEvent& event);
void OnUpdateToggleHorzText(wxUpdateUIEvent& event);
#if USE_GENERIC_TBAR #if USE_GENERIC_TBAR
virtual wxToolBar *OnCreateToolBar(long style, virtual wxToolBar *OnCreateToolBar(long style,
@@ -137,7 +139,8 @@ private:
void LayoutChildren(); void LayoutChildren();
bool m_smallToolbar, bool m_smallToolbar,
m_horzToolbar; m_horzToolbar,
m_horzText;
size_t m_rows; // 1 or 2 only size_t m_rows; // 1 or 2 only
// the number of print buttons we have (they're added/removed dynamically) // the number of print buttons we have (they're added/removed dynamically)
@@ -168,6 +171,7 @@ enum
IDM_TOOLBAR_INSERTPRINT, IDM_TOOLBAR_INSERTPRINT,
IDM_TOOLBAR_TOGGLEHELP, IDM_TOOLBAR_TOGGLEHELP,
IDM_TOOLBAR_TOGGLE_TOOLBAR, IDM_TOOLBAR_TOGGLE_TOOLBAR,
IDM_TOOLBAR_TOGGLE_HORIZONTAL_TEXT,
IDM_TOOLBAR_TOGGLE_ANOTHER_TOOLBAR, IDM_TOOLBAR_TOGGLE_ANOTHER_TOOLBAR,
IDM_TOOLBAR_CHANGE_TOOLTIP, IDM_TOOLBAR_CHANGE_TOOLTIP,
IDM_TOOLBAR_SHOW_TEXT, IDM_TOOLBAR_SHOW_TEXT,
@@ -192,6 +196,7 @@ BEGIN_EVENT_TABLE(MyFrame, wxFrame)
EVT_MENU(IDM_TOOLBAR_TOGGLE_TOOLBAR, MyFrame::OnToggleToolbar) EVT_MENU(IDM_TOOLBAR_TOGGLE_TOOLBAR, MyFrame::OnToggleToolbar)
EVT_MENU(IDM_TOOLBAR_TOGGLE_ANOTHER_TOOLBAR, MyFrame::OnToggleAnotherToolbar) EVT_MENU(IDM_TOOLBAR_TOGGLE_ANOTHER_TOOLBAR, MyFrame::OnToggleAnotherToolbar)
EVT_MENU(IDM_TOOLBAR_TOGGLE_HORIZONTAL_TEXT, MyFrame::OnToggleHorizontalText)
EVT_MENU(IDM_TOOLBAR_TOGGLETOOLBARSIZE, MyFrame::OnToggleToolbarSize) EVT_MENU(IDM_TOOLBAR_TOGGLETOOLBARSIZE, MyFrame::OnToggleToolbarSize)
EVT_MENU(IDM_TOOLBAR_TOGGLETOOLBARORIENT, MyFrame::OnToggleToolbarOrient) EVT_MENU(IDM_TOOLBAR_TOGGLETOOLBARORIENT, MyFrame::OnToggleToolbarOrient)
@@ -214,6 +219,9 @@ BEGIN_EVENT_TABLE(MyFrame, wxFrame)
EVT_UPDATE_UI(wxID_COPY, MyFrame::OnUpdateCopyAndCut) EVT_UPDATE_UI(wxID_COPY, MyFrame::OnUpdateCopyAndCut)
EVT_UPDATE_UI(wxID_CUT, MyFrame::OnUpdateCopyAndCut) EVT_UPDATE_UI(wxID_CUT, MyFrame::OnUpdateCopyAndCut)
EVT_UPDATE_UI(IDM_TOOLBAR_TOGGLE_HORIZONTAL_TEXT,
MyFrame::OnUpdateToggleHorzText)
END_EVENT_TABLE() END_EVENT_TABLE()
// ============================================================================ // ============================================================================
@@ -265,9 +273,11 @@ void MyFrame::RecreateToolbar()
SetToolBar(NULL); SetToolBar(NULL);
style &= ~(wxTB_HORIZONTAL | wxTB_VERTICAL); style &= ~(wxTB_HORIZONTAL | wxTB_VERTICAL | wxTB_HORZ_LAYOUT);
style |= m_horzToolbar ? wxTB_HORIZONTAL : wxTB_VERTICAL; style |= m_horzToolbar ? wxTB_HORIZONTAL : wxTB_VERTICAL;
style |= wxNO_FULL_REPAINT_ON_RESIZE ;
if ( style & wxTB_TEXT && !(style & wxTB_NOICONS) && m_horzText )
style |= wxTB_HORZ_LAYOUT;
toolBar = CreateToolBar(style, ID_TOOLBAR); toolBar = CreateToolBar(style, ID_TOOLBAR);
#endif #endif
@@ -359,6 +369,7 @@ MyFrame::MyFrame(wxFrame* parent,
m_smallToolbar = TRUE; m_smallToolbar = TRUE;
m_horzToolbar = TRUE; m_horzToolbar = TRUE;
m_horzText = FALSE;
m_rows = 1; m_rows = 1;
m_nPrint = 1; m_nPrint = 1;
@@ -380,6 +391,10 @@ MyFrame::MyFrame(wxFrame* parent,
_T("Toggle &another toolbar\tCtrl-A"), _T("Toggle &another toolbar\tCtrl-A"),
_T("Show/hide another test toolbar")); _T("Show/hide another test toolbar"));
tbarMenu->AppendCheckItem(IDM_TOOLBAR_TOGGLE_HORIZONTAL_TEXT,
_T("Toggle hori&zontal text\tCtrl-H"),
_T("Show text under/alongside the icon"));
tbarMenu->AppendCheckItem(IDM_TOOLBAR_TOGGLETOOLBARSIZE, tbarMenu->AppendCheckItem(IDM_TOOLBAR_TOGGLETOOLBARSIZE,
_T("&Toggle toolbar size\tCtrl-S"), _T("&Toggle toolbar size\tCtrl-S"),
_T("Toggle between big/small toolbar")); _T("Toggle between big/small toolbar"));
@@ -487,6 +502,13 @@ void MyFrame::OnToggleToolbar(wxCommandEvent& WXUNUSED(event))
} }
} }
void MyFrame::OnToggleHorizontalText(wxCommandEvent& WXUNUSED(event))
{
m_horzText = !m_horzText;
RecreateToolbar();
}
void MyFrame::OnToggleAnotherToolbar(wxCommandEvent& WXUNUSED(event)) void MyFrame::OnToggleAnotherToolbar(wxCommandEvent& WXUNUSED(event))
{ {
if ( m_tbar ) if ( m_tbar )
@@ -612,8 +634,15 @@ void MyFrame::DoToggleHelp()
void MyFrame::OnUpdateCopyAndCut(wxUpdateUIEvent& event) void MyFrame::OnUpdateCopyAndCut(wxUpdateUIEvent& event)
{ {
if (m_textWindow) event.Enable( m_textWindow->CanCopy() );
event.Enable( m_textWindow->CanCopy() ); }
void MyFrame::OnUpdateToggleHorzText(wxUpdateUIEvent& event)
{
wxToolBar *tbar = GetToolBar();
event.Enable( tbar &&
tbar->HasFlag(wxTB_TEXT) &&
!tbar->HasFlag(wxTB_NOICONS) );
} }
void MyFrame::OnChangeToolTip(wxCommandEvent& WXUNUSED(event)) void MyFrame::OnChangeToolTip(wxCommandEvent& WXUNUSED(event))