updated aui sample with new toolbar
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@55196 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -85,6 +85,8 @@ class MyFrame : public wxFrame
|
||||
ID_VerticalGradient,
|
||||
ID_HorizontalGradient,
|
||||
ID_Settings,
|
||||
ID_CustomizeToolbar,
|
||||
ID_DropDownToolbarItem,
|
||||
ID_NotebookNoCloseButton,
|
||||
ID_NotebookCloseButton,
|
||||
ID_NotebookCloseButtonAll,
|
||||
@@ -99,6 +101,9 @@ class MyFrame : public wxFrame
|
||||
ID_NotebookArtSimple,
|
||||
ID_NotebookAlignTop,
|
||||
ID_NotebookAlignBottom,
|
||||
|
||||
ID_SampleItem,
|
||||
|
||||
ID_FirstPerspective = ID_CreatePerspective+1000
|
||||
};
|
||||
|
||||
@@ -138,10 +143,12 @@ private:
|
||||
void OnCreateText(wxCommandEvent& evt);
|
||||
void OnCreateSizeReport(wxCommandEvent& evt);
|
||||
void OnChangeContentPane(wxCommandEvent& evt);
|
||||
void OnDropDownToolbarItem(wxAuiToolBarEvent& evt);
|
||||
void OnCreatePerspective(wxCommandEvent& evt);
|
||||
void OnCopyPerspectiveCode(wxCommandEvent& evt);
|
||||
void OnRestorePerspective(wxCommandEvent& evt);
|
||||
void OnSettings(wxCommandEvent& evt);
|
||||
void OnCustomizeToolbar(wxCommandEvent& evt);
|
||||
void OnAllowNotebookDnD(wxAuiNotebookEvent& evt);
|
||||
void OnNotebookPageClose(wxAuiNotebookEvent& evt);
|
||||
void OnExit(wxCommandEvent& evt);
|
||||
@@ -600,6 +607,7 @@ BEGIN_EVENT_TABLE(MyFrame, wxFrame)
|
||||
EVT_MENU(ID_VerticalGradient, MyFrame::OnGradient)
|
||||
EVT_MENU(ID_HorizontalGradient, MyFrame::OnGradient)
|
||||
EVT_MENU(ID_Settings, MyFrame::OnSettings)
|
||||
EVT_MENU(ID_CustomizeToolbar, MyFrame::OnCustomizeToolbar)
|
||||
EVT_MENU(ID_GridContent, MyFrame::OnChangeContentPane)
|
||||
EVT_MENU(ID_TreeContent, MyFrame::OnChangeContentPane)
|
||||
EVT_MENU(ID_TextContent, MyFrame::OnChangeContentPane)
|
||||
@@ -631,6 +639,7 @@ BEGIN_EVENT_TABLE(MyFrame, wxFrame)
|
||||
EVT_UPDATE_UI(ID_HorizontalGradient, MyFrame::OnUpdateUI)
|
||||
EVT_MENU_RANGE(MyFrame::ID_FirstPerspective, MyFrame::ID_FirstPerspective+1000,
|
||||
MyFrame::OnRestorePerspective)
|
||||
EVT_AUITOOLBAR_TOOL_DROPDOWN(ID_DropDownToolbarItem, MyFrame::OnDropDownToolbarItem)
|
||||
EVT_AUI_PANE_CLOSE(MyFrame::OnPaneClose)
|
||||
EVT_AUINOTEBOOK_ALLOW_DND(wxID_ANY, MyFrame::OnAllowNotebookDnD)
|
||||
EVT_AUINOTEBOOK_PAGE_CLOSE(wxID_ANY, MyFrame::OnNotebookPageClose)
|
||||
@@ -741,78 +750,102 @@ MyFrame::MyFrame(wxWindow* parent,
|
||||
// code. For now, just hard code a frame minimum size
|
||||
SetMinSize(wxSize(400,300));
|
||||
|
||||
|
||||
|
||||
// prepare a few custom overflow elements for the toolbars' overflow buttons
|
||||
|
||||
wxAuiToolBarItemArray prepend_items;
|
||||
wxAuiToolBarItemArray append_items;
|
||||
wxAuiToolBarItem item;
|
||||
item.kind = wxITEM_SEPARATOR;
|
||||
append_items.Add(item);
|
||||
item.kind = wxITEM_NORMAL;
|
||||
item.id = ID_CustomizeToolbar;
|
||||
item.label = _("Customize...");
|
||||
append_items.Add(item);
|
||||
|
||||
|
||||
// create some toolbars
|
||||
wxToolBar* tb1 = new wxToolBar(this, wxID_ANY, wxDefaultPosition, wxDefaultSize,
|
||||
wxTB_FLAT | wxTB_NODIVIDER);
|
||||
wxAuiToolBar* tb1 = new wxAuiToolBar(this, wxID_ANY, wxDefaultPosition, wxDefaultSize,
|
||||
wxAUI_TB_DEFAULT_STYLE | wxAUI_TB_OVERFLOW);
|
||||
tb1->SetToolBitmapSize(wxSize(48,48));
|
||||
tb1->AddTool(101, wxT("Test"), wxArtProvider::GetBitmap(wxART_ERROR));
|
||||
tb1->AddTool(ID_SampleItem+1, wxT("Test"), wxArtProvider::GetBitmap(wxART_ERROR));
|
||||
tb1->AddSeparator();
|
||||
tb1->AddTool(102, wxT("Test"), wxArtProvider::GetBitmap(wxART_QUESTION));
|
||||
tb1->AddTool(103, wxT("Test"), wxArtProvider::GetBitmap(wxART_INFORMATION));
|
||||
tb1->AddTool(103, wxT("Test"), wxArtProvider::GetBitmap(wxART_WARNING));
|
||||
tb1->AddTool(103, wxT("Test"), wxArtProvider::GetBitmap(wxART_MISSING_IMAGE));
|
||||
tb1->AddTool(ID_SampleItem+2, wxT("Test"), wxArtProvider::GetBitmap(wxART_QUESTION));
|
||||
tb1->AddTool(ID_SampleItem+3, wxT("Test"), wxArtProvider::GetBitmap(wxART_INFORMATION));
|
||||
tb1->AddTool(ID_SampleItem+4, wxT("Test"), wxArtProvider::GetBitmap(wxART_WARNING));
|
||||
tb1->AddTool(ID_SampleItem+5, wxT("Test"), wxArtProvider::GetBitmap(wxART_MISSING_IMAGE));
|
||||
tb1->SetCustomOverflowItems(prepend_items, append_items);
|
||||
tb1->Realize();
|
||||
|
||||
|
||||
wxToolBar* tb2 = new wxToolBar(this, wxID_ANY, wxDefaultPosition, wxDefaultSize,
|
||||
wxTB_FLAT | wxTB_NODIVIDER);
|
||||
wxAuiToolBar* tb2 = new wxAuiToolBar(this, wxID_ANY, wxDefaultPosition, wxDefaultSize,
|
||||
wxAUI_TB_DEFAULT_STYLE | wxAUI_TB_OVERFLOW);
|
||||
tb2->SetToolBitmapSize(wxSize(16,16));
|
||||
|
||||
wxBitmap tb2_bmp1 = wxArtProvider::GetBitmap(wxART_QUESTION, wxART_OTHER, wxSize(16,16));
|
||||
tb2->AddTool(101, wxT("Test"), tb2_bmp1);
|
||||
tb2->AddTool(101, wxT("Test"), tb2_bmp1);
|
||||
tb2->AddTool(101, wxT("Test"), tb2_bmp1);
|
||||
tb2->AddTool(101, wxT("Test"), tb2_bmp1);
|
||||
tb2->AddTool(ID_SampleItem+6, wxT("Test"), tb2_bmp1);
|
||||
tb2->AddTool(ID_SampleItem+7, wxT("Test"), tb2_bmp1);
|
||||
tb2->AddTool(ID_SampleItem+8, wxT("Test"), tb2_bmp1);
|
||||
tb2->AddTool(ID_SampleItem+9, wxT("Test"), tb2_bmp1);
|
||||
tb2->AddSeparator();
|
||||
tb2->AddTool(101, wxT("Test"), tb2_bmp1);
|
||||
tb2->AddTool(101, wxT("Test"), tb2_bmp1);
|
||||
tb2->AddTool(ID_SampleItem+10, wxT("Test"), tb2_bmp1);
|
||||
tb2->AddTool(ID_SampleItem+11, wxT("Test"), tb2_bmp1);
|
||||
tb2->AddSeparator();
|
||||
tb2->AddTool(101, wxT("Test"), tb2_bmp1);
|
||||
tb2->AddTool(101, wxT("Test"), tb2_bmp1);
|
||||
tb2->AddTool(101, wxT("Test"), tb2_bmp1);
|
||||
tb2->AddTool(101, wxT("Test"), tb2_bmp1);
|
||||
tb2->AddTool(ID_SampleItem+12, wxT("Test"), tb2_bmp1);
|
||||
tb2->AddTool(ID_SampleItem+13, wxT("Test"), tb2_bmp1);
|
||||
tb2->AddTool(ID_SampleItem+14, wxT("Test"), tb2_bmp1);
|
||||
tb2->AddTool(ID_SampleItem+15, wxT("Test"), tb2_bmp1);
|
||||
tb2->SetCustomOverflowItems(prepend_items, append_items);
|
||||
tb2->Realize();
|
||||
|
||||
|
||||
wxToolBar* tb3 = new wxToolBar(this, wxID_ANY, wxDefaultPosition, wxDefaultSize,
|
||||
wxTB_FLAT | wxTB_NODIVIDER);
|
||||
wxAuiToolBar* tb3 = new wxAuiToolBar(this, wxID_ANY, wxDefaultPosition, wxDefaultSize,
|
||||
wxAUI_TB_DEFAULT_STYLE | wxAUI_TB_OVERFLOW);
|
||||
tb3->SetToolBitmapSize(wxSize(16,16));
|
||||
wxBitmap tb3_bmp1 = wxArtProvider::GetBitmap(wxART_FOLDER, wxART_OTHER, wxSize(16,16));
|
||||
tb3->AddTool(101, wxT("Test"), tb3_bmp1);
|
||||
tb3->AddTool(101, wxT("Test"), tb3_bmp1);
|
||||
tb3->AddTool(101, wxT("Test"), tb3_bmp1);
|
||||
tb3->AddTool(101, wxT("Test"), tb3_bmp1);
|
||||
tb3->AddTool(ID_SampleItem+16, wxT("Test2"), tb3_bmp1);
|
||||
tb3->AddTool(ID_SampleItem+17, wxT("Test"), tb3_bmp1);
|
||||
tb3->AddTool(ID_SampleItem+18, wxT("Test"), tb3_bmp1);
|
||||
tb3->AddTool(ID_SampleItem+19, wxT("Test"), tb3_bmp1);
|
||||
tb3->AddSeparator();
|
||||
tb3->AddTool(101, wxT("Test"), tb3_bmp1);
|
||||
tb3->AddTool(101, wxT("Test"), tb3_bmp1);
|
||||
tb3->AddTool(ID_SampleItem+20, wxT("Test"), tb3_bmp1);
|
||||
tb3->AddTool(ID_SampleItem+21, wxT("Test"), tb3_bmp1);
|
||||
tb3->SetCustomOverflowItems(prepend_items, append_items);
|
||||
tb3->Realize();
|
||||
|
||||
|
||||
wxToolBar* tb4 = new wxToolBar(this, wxID_ANY, wxDefaultPosition, wxDefaultSize,
|
||||
wxTB_FLAT | wxTB_NODIVIDER | wxTB_HORZ_TEXT);
|
||||
wxAuiToolBar* tb4 = new wxAuiToolBar(this, wxID_ANY, wxDefaultPosition, wxDefaultSize,
|
||||
wxAUI_TB_DEFAULT_STYLE |
|
||||
wxAUI_TB_OVERFLOW |
|
||||
wxAUI_TB_TEXT |
|
||||
wxAUI_TB_HORZ_TEXT);
|
||||
tb4->SetToolBitmapSize(wxSize(16,16));
|
||||
wxBitmap tb4_bmp1 = wxArtProvider::GetBitmap(wxART_NORMAL_FILE, wxART_OTHER, wxSize(16,16));
|
||||
tb4->AddTool(101, wxT("Item 1"), tb4_bmp1);
|
||||
tb4->AddTool(101, wxT("Item 2"), tb4_bmp1);
|
||||
tb4->AddTool(101, wxT("Item 3"), tb4_bmp1);
|
||||
tb4->AddTool(101, wxT("Item 4"), tb4_bmp1);
|
||||
tb4->AddTool(ID_DropDownToolbarItem, wxT("Item 1"), tb4_bmp1);
|
||||
tb4->AddTool(ID_SampleItem+23, wxT("Item 2"), tb4_bmp1);
|
||||
tb4->AddTool(ID_SampleItem+24, wxT("Item 3"), tb4_bmp1);
|
||||
tb4->AddTool(ID_SampleItem+25, wxT("Item 4"), tb4_bmp1);
|
||||
tb4->AddSeparator();
|
||||
tb4->AddTool(101, wxT("Item 5"), tb4_bmp1);
|
||||
tb4->AddTool(101, wxT("Item 6"), tb4_bmp1);
|
||||
tb4->AddTool(101, wxT("Item 7"), tb4_bmp1);
|
||||
tb4->AddTool(101, wxT("Item 8"), tb4_bmp1);
|
||||
tb4->AddTool(ID_SampleItem+26, wxT("Item 5"), tb4_bmp1);
|
||||
tb4->AddTool(ID_SampleItem+27, wxT("Item 6"), tb4_bmp1);
|
||||
tb4->AddTool(ID_SampleItem+28, wxT("Item 7"), tb4_bmp1);
|
||||
tb4->AddTool(ID_SampleItem+29, wxT("Item 8"), tb4_bmp1);
|
||||
tb4->SetToolDropDown(ID_DropDownToolbarItem, true);
|
||||
tb4->SetCustomOverflowItems(prepend_items, append_items);
|
||||
tb4->Realize();
|
||||
|
||||
// create some toolbars
|
||||
wxToolBar* tb5 = new wxToolBar(this, wxID_ANY, wxDefaultPosition, wxDefaultSize,
|
||||
wxTB_FLAT | wxTB_NODIVIDER | wxTB_VERTICAL);
|
||||
|
||||
wxAuiToolBar* tb5 = new wxAuiToolBar(this, wxID_ANY, wxDefaultPosition, wxDefaultSize,
|
||||
wxAUI_TB_DEFAULT_STYLE | wxAUI_TB_OVERFLOW | wxAUI_TB_VERTICAL);
|
||||
tb5->SetToolBitmapSize(wxSize(48,48));
|
||||
tb5->AddTool(101, wxT("Test"), wxArtProvider::GetBitmap(wxART_ERROR));
|
||||
tb5->AddTool(ID_SampleItem+30, wxT("Test"), wxArtProvider::GetBitmap(wxART_ERROR));
|
||||
tb5->AddSeparator();
|
||||
tb5->AddTool(102, wxT("Test"), wxArtProvider::GetBitmap(wxART_QUESTION));
|
||||
tb5->AddTool(103, wxT("Test"), wxArtProvider::GetBitmap(wxART_INFORMATION));
|
||||
tb5->AddTool(103, wxT("Test"), wxArtProvider::GetBitmap(wxART_WARNING));
|
||||
tb5->AddTool(103, wxT("Test"), wxArtProvider::GetBitmap(wxART_MISSING_IMAGE));
|
||||
tb5->AddTool(ID_SampleItem+31, wxT("Test"), wxArtProvider::GetBitmap(wxART_QUESTION));
|
||||
tb5->AddTool(ID_SampleItem+32, wxT("Test"), wxArtProvider::GetBitmap(wxART_INFORMATION));
|
||||
tb5->AddTool(ID_SampleItem+33, wxT("Test"), wxArtProvider::GetBitmap(wxART_WARNING));
|
||||
tb5->AddTool(ID_SampleItem+34, wxT("Test"), wxArtProvider::GetBitmap(wxART_MISSING_IMAGE));
|
||||
tb5->SetCustomOverflowItems(prepend_items, append_items);
|
||||
tb5->Realize();
|
||||
|
||||
// add a bunch of panes
|
||||
@@ -973,7 +1006,7 @@ void MyFrame::OnSize(wxSizeEvent& event)
|
||||
event.Skip();
|
||||
}
|
||||
|
||||
void MyFrame::OnSettings(wxCommandEvent& WXUNUSED(event))
|
||||
void MyFrame::OnSettings(wxCommandEvent& WXUNUSED(evt))
|
||||
{
|
||||
// show the settings pane, and float it
|
||||
wxAuiPaneInfo& floating_pane = m_mgr.GetPane(wxT("settings")).Float().Show();
|
||||
@@ -984,6 +1017,11 @@ void MyFrame::OnSettings(wxCommandEvent& WXUNUSED(event))
|
||||
m_mgr.Update();
|
||||
}
|
||||
|
||||
void MyFrame::OnCustomizeToolbar(wxCommandEvent& WXUNUSED(evt))
|
||||
{
|
||||
wxMessageBox(_("Customize Toolbar clicked"));
|
||||
}
|
||||
|
||||
void MyFrame::OnGradient(wxCommandEvent& event)
|
||||
{
|
||||
int gradient = 0;
|
||||
@@ -1340,17 +1378,61 @@ void MyFrame::OnCreateSizeReport(wxCommandEvent& WXUNUSED(event))
|
||||
m_mgr.Update();
|
||||
}
|
||||
|
||||
void MyFrame::OnChangeContentPane(wxCommandEvent& event)
|
||||
void MyFrame::OnChangeContentPane(wxCommandEvent& evt)
|
||||
{
|
||||
m_mgr.GetPane(wxT("grid_content")).Show(event.GetId() == ID_GridContent);
|
||||
m_mgr.GetPane(wxT("text_content")).Show(event.GetId() == ID_TextContent);
|
||||
m_mgr.GetPane(wxT("tree_content")).Show(event.GetId() == ID_TreeContent);
|
||||
m_mgr.GetPane(wxT("sizereport_content")).Show(event.GetId() == ID_SizeReportContent);
|
||||
m_mgr.GetPane(wxT("html_content")).Show(event.GetId() == ID_HTMLContent);
|
||||
m_mgr.GetPane(wxT("notebook_content")).Show(event.GetId() == ID_NotebookContent);
|
||||
m_mgr.GetPane(wxT("grid_content")).Show(evt.GetId() == ID_GridContent);
|
||||
m_mgr.GetPane(wxT("text_content")).Show(evt.GetId() == ID_TextContent);
|
||||
m_mgr.GetPane(wxT("tree_content")).Show(evt.GetId() == ID_TreeContent);
|
||||
m_mgr.GetPane(wxT("sizereport_content")).Show(evt.GetId() == ID_SizeReportContent);
|
||||
m_mgr.GetPane(wxT("html_content")).Show(evt.GetId() == ID_HTMLContent);
|
||||
m_mgr.GetPane(wxT("notebook_content")).Show(evt.GetId() == ID_NotebookContent);
|
||||
m_mgr.Update();
|
||||
}
|
||||
|
||||
void MyFrame::OnDropDownToolbarItem(wxAuiToolBarEvent& evt)
|
||||
{
|
||||
if (evt.IsDropDownClicked())
|
||||
{
|
||||
wxAuiToolBar* tb = static_cast<wxAuiToolBar*>(evt.GetEventObject());
|
||||
|
||||
tb->SetToolSticky(evt.GetId(), true);
|
||||
|
||||
// create the popup menu
|
||||
wxMenu menuPopup;
|
||||
|
||||
wxBitmap bmp = wxArtProvider::GetBitmap(wxART_QUESTION, wxART_OTHER, wxSize(16,16));
|
||||
|
||||
wxMenuItem* m1 = new wxMenuItem(&menuPopup, 101, _("Drop Down Item 1"));
|
||||
m1->SetBitmap(bmp);
|
||||
menuPopup.Append(m1);
|
||||
|
||||
wxMenuItem* m2 = new wxMenuItem(&menuPopup, 101, _("Drop Down Item 2"));
|
||||
m2->SetBitmap(bmp);
|
||||
menuPopup.Append(m2);
|
||||
|
||||
wxMenuItem* m3 = new wxMenuItem(&menuPopup, 101, _("Drop Down Item 3"));
|
||||
m3->SetBitmap(bmp);
|
||||
menuPopup.Append(m3);
|
||||
|
||||
wxMenuItem* m4 = new wxMenuItem(&menuPopup, 101, _("Drop Down Item 4"));
|
||||
m4->SetBitmap(bmp);
|
||||
menuPopup.Append(m4);
|
||||
|
||||
// line up our menu with the button
|
||||
wxRect rect = tb->GetToolRect(evt.GetId());
|
||||
wxPoint pt = tb->ClientToScreen(rect.GetBottomLeft());
|
||||
pt = ScreenToClient(pt);
|
||||
|
||||
|
||||
PopupMenu(&menuPopup, pt);
|
||||
|
||||
|
||||
// make sure the button is "un-stuck"
|
||||
tb->SetToolSticky(evt.GetId(), false);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void MyFrame::OnTabAlignment(wxCommandEvent &evt)
|
||||
{
|
||||
size_t i, count;
|
||||
@@ -1545,6 +1627,13 @@ wxString MyFrame::GetIntroText()
|
||||
"<li>Optional transparent window effects (while dragging or docking)</li>"
|
||||
"<li>Splittable notebook control</li>"
|
||||
"</ul>"
|
||||
"<p><b>What's new in 0.9.4?</b></p>"
|
||||
"<p>wxAUI 0.9.4, which is bundled with wxWidgets, adds the following features:"
|
||||
"<ul>"
|
||||
"<li>New wxAuiToolBar class, a toolbar control which integrates more "
|
||||
"cleanly with wxAuiFrameManager.</li>"
|
||||
"<li>Lots of bug fixes</li>"
|
||||
"</ul>"
|
||||
"<p><b>What's new in 0.9.3?</b></p>"
|
||||
"<p>wxAUI 0.9.3, which is now bundled with wxWidgets, adds the following features:"
|
||||
"<ul>"
|
||||
|
Reference in New Issue
Block a user