X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/71a1f3245adfe0bddb99e1f16787da9b3ca68af5..15cb637c96e74a502ce0f58c403580da215fe4c3:/src/aui/auibar.cpp diff --git a/src/aui/auibar.cpp b/src/aui/auibar.cpp index 9906eb8997..d356d353a2 100644 --- a/src/aui/auibar.cpp +++ b/src/aui/auibar.cpp @@ -227,6 +227,21 @@ void wxAuiDefaultToolBarArt::SetTextOrientation(int orientation) m_text_orientation = orientation; } +unsigned int wxAuiDefaultToolBarArt::GetFlags() +{ + return m_flags; +} + +wxFont wxAuiDefaultToolBarArt::GetFont() +{ + return m_font; +} + +int wxAuiDefaultToolBarArt::GetTextOrientation() +{ + return m_text_orientation; +} + void wxAuiDefaultToolBarArt::DrawBackground( wxDC& dc, wxWindow* WXUNUSED(wnd), @@ -539,7 +554,13 @@ wxSize wxAuiDefaultToolBarArt::GetLabelSize( // get item's width width = item.GetMinSize().GetWidth(); - + + if (width == -1) + { + // no width specified, measure the text ourselves + width = dc.GetTextExtent(item.GetLabel()).GetX(); + } + return wxSize(width, height); } @@ -713,9 +734,9 @@ void wxAuiDefaultToolBarArt::SetElementSize(int element_id, int size) { switch (element_id) { - case wxAUI_TBART_SEPARATOR_SIZE: m_separator_size = size; - case wxAUI_TBART_GRIPPER_SIZE: m_gripper_size = size; - case wxAUI_TBART_OVERFLOW_SIZE: m_overflow_size = size; + case wxAUI_TBART_SEPARATOR_SIZE: m_separator_size = size; break; + case wxAUI_TBART_GRIPPER_SIZE: m_gripper_size = size; break; + case wxAUI_TBART_OVERFLOW_SIZE: m_overflow_size = size; break; } } @@ -818,7 +839,7 @@ wxAuiToolBar::wxAuiToolBar(wxWindow* parent, m_gripper_sizer_item = NULL; m_overflow_sizer_item = NULL; m_dragging = false; - m_style = style; + m_style = style | wxBORDER_NONE; m_gripper_visible = (m_style & wxAUI_TB_GRIPPER) ? true : false; m_overflow_visible = (m_style & wxAUI_TB_OVERFLOW) ? true : false; m_overflow_state = 0; @@ -865,6 +886,10 @@ void wxAuiToolBar::SetWindowStyleFlag(long style) SetToolTextOrientation(wxAUI_TBTOOL_TEXT_BOTTOM); } +long wxAuiToolBar::GetWindowStyleFlag() const +{ + return m_style; +} void wxAuiToolBar::SetArtProvider(wxAuiToolBarArt* art) { @@ -1344,6 +1369,8 @@ void wxAuiToolBar::SetGripperVisible(bool visible) m_gripper_visible = visible; if (visible) m_style |= wxAUI_TB_GRIPPER; + else + m_style &= ~wxAUI_TB_GRIPPER; Realize(); Refresh(false); } @@ -1359,6 +1386,8 @@ void wxAuiToolBar::SetOverflowVisible(bool visible) m_overflow_visible = visible; if (visible) m_style |= wxAUI_TB_OVERFLOW; + else + m_style &= ~wxAUI_TB_OVERFLOW; Refresh(false); } @@ -1763,7 +1792,7 @@ bool wxAuiToolBar::Realize() sizer_item = sizer->Add(size.x + (m_tool_border_padding*2), size.y + (m_tool_border_padding*2), item.proportion, - wxALIGN_CENTER); + item.alignment); if (i+1 < count) { sizer->AddSpacer(m_tool_packing); @@ -1780,7 +1809,7 @@ bool wxAuiToolBar::Realize() sizer_item = sizer->Add(size.x + (m_tool_border_padding*2), size.y + (m_tool_border_padding*2), 0, - wxALIGN_CENTER); + item.alignment); // add tool packing if (i+1 < count) {