X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/eecf97a5ee1df46b19ca85a00229cd81d185bd6f..ba86da30cf1a2a8429f3af465cbb6c9f52b307fb:/src/aui/auibar.cpp diff --git a/src/aui/auibar.cpp b/src/aui/auibar.cpp index 009f435fc2..552b76aebb 100644 --- a/src/aui/auibar.cpp +++ b/src/aui/auibar.cpp @@ -5,7 +5,7 @@ // Author: Benjamin I. Williams // Modified by: // Created: 2005-05-17 -// RCS-ID: $Id: dockart.cpp 48848 2007-09-21 10:19:53Z SC $ +// RCS-ID: $Id$ // Copyright: (C) Copyright 2005-2006, Kirix Corporation, All Rights Reserved // Licence: wxWindows Library Licence, Version 3.1 /////////////////////////////////////////////////////////////////////////////// @@ -38,17 +38,19 @@ #ifdef __WXMAC__ #include "wx/osx/private.h" +// for themeing support +#include #endif #include "wx/arrimpl.cpp" WX_DEFINE_OBJARRAY(wxAuiToolBarItemArray) -DEFINE_EVENT_TYPE(wxEVT_COMMAND_AUITOOLBAR_TOOL_DROPDOWN) -DEFINE_EVENT_TYPE(wxEVT_COMMAND_AUITOOLBAR_OVERFLOW_CLICK) -DEFINE_EVENT_TYPE(wxEVT_COMMAND_AUITOOLBAR_RIGHT_CLICK) -DEFINE_EVENT_TYPE(wxEVT_COMMAND_AUITOOLBAR_MIDDLE_CLICK) -DEFINE_EVENT_TYPE(wxEVT_COMMAND_AUITOOLBAR_BEGIN_DRAG) +wxDEFINE_EVENT( wxEVT_COMMAND_AUITOOLBAR_TOOL_DROPDOWN, wxAuiToolBarEvent ); +wxDEFINE_EVENT( wxEVT_COMMAND_AUITOOLBAR_OVERFLOW_CLICK, wxAuiToolBarEvent ); +wxDEFINE_EVENT( wxEVT_COMMAND_AUITOOLBAR_RIGHT_CLICK, wxAuiToolBarEvent ); +wxDEFINE_EVENT( wxEVT_COMMAND_AUITOOLBAR_MIDDLE_CLICK, wxAuiToolBarEvent ); +wxDEFINE_EVENT( wxEVT_COMMAND_AUITOOLBAR_BEGIN_DRAG, wxAuiToolBarEvent ); IMPLEMENT_CLASS(wxAuiToolBar, wxControl) @@ -259,7 +261,7 @@ void wxAuiDefaultToolBarArt::DrawLabel( int text_x, text_y; text_x = rect.x + 1; text_y = rect.y + (rect.height-text_height)/2; - dc.DrawText(item.label, text_x, text_y); + dc.DrawText(item.GetLabel(), text_x, text_y); dc.DestroyClippingRegion(); } @@ -280,7 +282,7 @@ void wxAuiDefaultToolBarArt::DrawButton( dc.GetTextExtent(wxT("ABCDHgj"), &tx, &text_height); text_width = 0; - dc.GetTextExtent(item.label, &text_width, &ty); + dc.GetTextExtent(item.GetLabel(), &text_width, &ty); } int bmp_x = 0, bmp_y = 0; @@ -290,51 +292,51 @@ void wxAuiDefaultToolBarArt::DrawButton( { bmp_x = rect.x + (rect.width/2) - - (item.bitmap.GetWidth()/2); + (item.GetBitmap().GetWidth()/2); bmp_y = rect.y + ((rect.height-text_height)/2) - - (item.bitmap.GetHeight()/2); + (item.GetBitmap().GetHeight()/2); text_x = rect.x + (rect.width/2) - (text_width/2) + 1; text_y = rect.y + rect.height - text_height - 1; } - else if (m_text_orientation == wxAUI_TBTOOL_TEXT_RIGHT) + else if (m_text_orientation == wxAUI_TBTOOL_TEXT_RIGHT) { bmp_x = rect.x + 3; bmp_y = rect.y + (rect.height/2) - - (item.bitmap.GetHeight()/2); + (item.GetBitmap().GetHeight()/2); - text_x = bmp_x + 3 + item.bitmap.GetWidth(); + text_x = bmp_x + 3 + item.GetBitmap().GetWidth(); text_y = rect.y + (rect.height/2) - (text_height/2); } - if (!(item.state & wxAUI_BUTTON_STATE_DISABLED)) + if (!(item.GetState() & wxAUI_BUTTON_STATE_DISABLED)) { - if (item.state & wxAUI_BUTTON_STATE_PRESSED) + if (item.GetState() & wxAUI_BUTTON_STATE_PRESSED) { dc.SetPen(wxPen(m_highlight_colour)); dc.SetBrush(wxBrush(wxAuiStepColour(m_highlight_colour, 150))); dc.DrawRectangle(rect); } - else if ((item.state & wxAUI_BUTTON_STATE_HOVER) || item.sticky == true) + else if ((item.GetState() & wxAUI_BUTTON_STATE_HOVER) || item.IsSticky()) { dc.SetPen(wxPen(m_highlight_colour)); dc.SetBrush(wxBrush(wxAuiStepColour(m_highlight_colour, 170))); // draw an even lighter background for checked item hovers (since // the hover background is the same color as the check background) - if (item.state & wxAUI_BUTTON_STATE_CHECKED) + if (item.GetState() & wxAUI_BUTTON_STATE_CHECKED) dc.SetBrush(wxBrush(wxAuiStepColour(m_highlight_colour, 180))); dc.DrawRectangle(rect); } - else if (item.state & wxAUI_BUTTON_STATE_CHECKED) + else if (item.GetState() & wxAUI_BUTTON_STATE_CHECKED) { // it's important to put this code in an else statment after the // hover, otherwise hovers won't draw properly for checked items @@ -345,10 +347,10 @@ void wxAuiDefaultToolBarArt::DrawButton( } wxBitmap bmp; - if (item.state & wxAUI_BUTTON_STATE_DISABLED) - bmp = item.disabled_bitmap; - else - bmp = item.bitmap; + if (item.GetState() & wxAUI_BUTTON_STATE_DISABLED) + bmp = item.GetDisabledBitmap(); + else + bmp = item.GetBitmap(); if (!bmp.IsOk()) return; @@ -357,12 +359,12 @@ void wxAuiDefaultToolBarArt::DrawButton( // set the item's text color based on if it is disabled dc.SetTextForeground(*wxBLACK); - if (item.state & wxAUI_BUTTON_STATE_DISABLED) + if (item.GetState() & wxAUI_BUTTON_STATE_DISABLED) dc.SetTextForeground(DISABLED_TEXT_COLOR); - if ((m_flags & wxAUI_TB_TEXT) && item.label.Length() > 0) + if ( (m_flags & wxAUI_TB_TEXT) && !item.GetLabel().empty() ) { - dc.DrawText(item.label, text_x, text_y); + dc.DrawText(item.GetLabel(), text_x, text_y); } } @@ -396,7 +398,7 @@ void wxAuiDefaultToolBarArt::DrawDropDownButton( text_width = 0; } - dc.GetTextExtent(item.label, &text_width, &ty); + dc.GetTextExtent(item.GetLabel(), &text_width, &ty); } @@ -413,38 +415,38 @@ void wxAuiDefaultToolBarArt::DrawDropDownButton( { bmp_x = button_rect.x + (button_rect.width/2) - - (item.bitmap.GetWidth()/2); + (item.GetBitmap().GetWidth()/2); bmp_y = button_rect.y + ((button_rect.height-text_height)/2) - - (item.bitmap.GetHeight()/2); + (item.GetBitmap().GetHeight()/2); text_x = rect.x + (rect.width/2) - (text_width/2) + 1; text_y = rect.y + rect.height - text_height - 1; } - else if (m_text_orientation == wxAUI_TBTOOL_TEXT_RIGHT) + else if (m_text_orientation == wxAUI_TBTOOL_TEXT_RIGHT) { bmp_x = rect.x + 3; bmp_y = rect.y + (rect.height/2) - - (item.bitmap.GetHeight()/2); + (item.GetBitmap().GetHeight()/2); - text_x = bmp_x + 3 + item.bitmap.GetWidth(); + text_x = bmp_x + 3 + item.GetBitmap().GetWidth(); text_y = rect.y + (rect.height/2) - (text_height/2); } - if (item.state & wxAUI_BUTTON_STATE_PRESSED) + if (item.GetState() & wxAUI_BUTTON_STATE_PRESSED) { dc.SetPen(wxPen(m_highlight_colour)); dc.SetBrush(wxBrush(wxAuiStepColour(m_highlight_colour, 140))); dc.DrawRectangle(button_rect); dc.DrawRectangle(dropdown_rect); } - else if (item.state & wxAUI_BUTTON_STATE_HOVER || - item.sticky == true) + else if (item.GetState() & wxAUI_BUTTON_STATE_HOVER || + item.IsSticky()) { dc.SetPen(wxPen(m_highlight_colour)); dc.SetBrush(wxBrush(wxAuiStepColour(m_highlight_colour, 170))); @@ -454,14 +456,14 @@ void wxAuiDefaultToolBarArt::DrawDropDownButton( wxBitmap bmp; wxBitmap dropbmp; - if (item.state & wxAUI_BUTTON_STATE_DISABLED) + if (item.GetState() & wxAUI_BUTTON_STATE_DISABLED) { - bmp = item.disabled_bitmap; + bmp = item.GetDisabledBitmap(); dropbmp = m_disabled_button_dropdown_bmp; } - else + else { - bmp = item.bitmap; + bmp = item.GetBitmap(); dropbmp = m_button_dropdown_bmp; } @@ -473,12 +475,12 @@ void wxAuiDefaultToolBarArt::DrawDropDownButton( // set the item's text color based on if it is disabled dc.SetTextForeground(*wxBLACK); - if (item.state & wxAUI_BUTTON_STATE_DISABLED) + if (item.GetState() & wxAUI_BUTTON_STATE_DISABLED) dc.SetTextForeground(DISABLED_TEXT_COLOR); - if ((m_flags & wxAUI_TB_TEXT) && item.label.Length() > 0) + if ( (m_flags & wxAUI_TB_TEXT) && !item.GetLabel().empty() ) { - dc.DrawText(item.label, text_x, text_y); + dc.DrawText(item.GetLabel(), text_x, text_y); } } @@ -506,7 +508,7 @@ void wxAuiDefaultToolBarArt::DrawControlLabel( text_width = 0; } - dc.GetTextExtent(item.label, &text_width, &ty); + dc.GetTextExtent(item.GetLabel(), &text_width, &ty); // don't draw the label if it is wider than the item width if (text_width > rect.width) @@ -518,9 +520,9 @@ void wxAuiDefaultToolBarArt::DrawControlLabel( text_x = rect.x + (rect.width/2) - (text_width/2) + 1; text_y = rect.y + rect.height - text_height - 1; - if ((m_flags & wxAUI_TB_TEXT) && item.label.Length() > 0) + if ( (m_flags & wxAUI_TB_TEXT) && !item.GetLabel().empty() ) { - dc.DrawText(item.label, text_x, text_y); + dc.DrawText(item.GetLabel(), text_x, text_y); } } @@ -536,7 +538,7 @@ wxSize wxAuiDefaultToolBarArt::GetLabelSize( dc.GetTextExtent(wxT("ABCDHgj"), &width, &height); // get item's width - width = item.min_size.GetWidth(); + width = item.GetMinSize().GetWidth(); return wxSize(width, height); } @@ -546,11 +548,11 @@ wxSize wxAuiDefaultToolBarArt::GetToolSize( wxWindow* WXUNUSED(wnd), const wxAuiToolBarItem& item) { - if (!item.bitmap.IsOk() && !(m_flags & wxAUI_TB_TEXT)) + if (!item.GetBitmap().IsOk() && !(m_flags & wxAUI_TB_TEXT)) return wxSize(16,16); - int width = item.bitmap.GetWidth(); - int height = item.bitmap.GetHeight(); + int width = item.GetBitmap().GetWidth(); + int height = item.GetBitmap().GetHeight(); if (m_flags & wxAUI_TB_TEXT) { @@ -562,20 +564,21 @@ wxSize wxAuiDefaultToolBarArt::GetToolSize( dc.GetTextExtent(wxT("ABCDHgj"), &tx, &ty); height += ty; - if (item.label.Length() > 0) + if ( !item.GetLabel().empty() ) { - dc.GetTextExtent(item.label, &tx, &ty); + dc.GetTextExtent(item.GetLabel(), &tx, &ty); width = wxMax(width, tx+6); } } - else if (m_text_orientation == wxAUI_TBTOOL_TEXT_RIGHT && item.label.Length() > 0) + else if ( m_text_orientation == wxAUI_TBTOOL_TEXT_RIGHT && + !item.GetLabel().empty() ) { width += 3; // space between left border and bitmap width += 3; // space between bitmap and text - if (item.label.Length() > 0) + if ( !item.GetLabel().empty() ) { - dc.GetTextExtent(item.label, &tx, &ty); + dc.GetTextExtent(item.GetLabel(), &tx, &ty); width += tx; height = wxMax(height, ty); } @@ -583,7 +586,7 @@ wxSize wxAuiDefaultToolBarArt::GetToolSize( } // if the tool has a dropdown button, add it to the width - if (item.dropdown == true) + if (item.HasDropDown()) width += (BUTTON_DROPDOWN_WIDTH+4); return wxSize(width, height); @@ -608,7 +611,7 @@ void wxAuiDefaultToolBarArt::DrawSeparator( rect.y += (rect.height/2) - (new_height/2); rect.height = new_height; } - else + else { rect.y += (rect.height/2); rect.height = 1; @@ -638,7 +641,7 @@ void wxAuiDefaultToolBarArt::DrawGripper(wxDC& dc, if (x > rect.GetWidth()-5) break; } - else + else { x = rect.x + 3; y = rect.y + (i*4) + 5; @@ -728,26 +731,22 @@ int wxAuiDefaultToolBarArt::ShowDropDown(wxWindow* wnd, { wxAuiToolBarItem& item = items.Item(i); - if (item.kind == wxITEM_NORMAL) + if (item.GetKind() == wxITEM_NORMAL) { - wxString text = item.short_help; + wxString text = item.GetShortHelp(); if (text.empty()) - text = item.label; + text = item.GetLabel(); if (text.empty()) text = wxT(" "); - #ifdef __WXMAC__ - wxMenuItem* m = new wxMenuItem(&menuPopup, item.id, text, item.short_help); - #else - wxMenuItem* m = new wxMenuItem(&menuPopup, item.id, text, item.short_help, false); - #endif + wxMenuItem* m = new wxMenuItem(&menuPopup, item.GetId(), text, item.GetShortHelp()); - m->SetBitmap(item.bitmap); + m->SetBitmap(item.GetBitmap()); menuPopup.Append(m); items_added++; } - else if (item.kind == wxITEM_SEPARATOR) + else if (item.GetKind() == wxITEM_SEPARATOR) { if (items_added > 0) menuPopup.AppendSeparator(); @@ -827,7 +826,7 @@ wxAuiToolBar::wxAuiToolBar(wxWindow* parent, SetFont(*wxNORMAL_FONT); m_art->SetFlags((unsigned int)m_style); SetExtraStyle(wxWS_EX_PROCESS_IDLE); - if (style & wxAUI_TB_HORZ_TEXT) + if (style & wxAUI_TB_HORZ_LAYOUT) SetToolTextOrientation(wxAUI_TBTOOL_TEXT_RIGHT); } @@ -851,18 +850,18 @@ void wxAuiToolBar::SetWindowStyleFlag(long style) if (m_style & wxAUI_TB_GRIPPER) m_gripper_visible = true; - else + else m_gripper_visible = false; if (m_style & wxAUI_TB_OVERFLOW) m_overflow_visible = true; - else + else m_overflow_visible = false; - if (style & wxAUI_TB_HORZ_TEXT) + if (style & wxAUI_TB_HORZ_LAYOUT) SetToolTextOrientation(wxAUI_TBTOOL_TEXT_RIGHT); - else + else SetToolTextOrientation(wxAUI_TBTOOL_TEXT_BOTTOM); } @@ -888,13 +887,13 @@ wxAuiToolBarArt* wxAuiToolBar::GetArtProvider() const -void wxAuiToolBar::AddTool(int tool_id, +wxAuiToolBarItem* wxAuiToolBar::AddTool(int tool_id, const wxString& label, const wxBitmap& bitmap, const wxString& short_help_string, wxItemKind kind) { - AddTool(tool_id, + return AddTool(tool_id, label, bitmap, wxNullBitmap, @@ -905,13 +904,13 @@ void wxAuiToolBar::AddTool(int tool_id, } -void wxAuiToolBar::AddTool(int tool_id, +wxAuiToolBarItem* wxAuiToolBar::AddTool(int tool_id, const wxString& label, const wxBitmap& bitmap, const wxBitmap& disabled_bitmap, wxItemKind kind, - const wxString& WXUNUSED(short_help_string), - const wxString& WXUNUSED(long_help_string), + const wxString& short_help_string, + const wxString& long_help_string, wxObject* WXUNUSED(client_data)) { wxAuiToolBarItem item; @@ -919,9 +918,11 @@ void wxAuiToolBar::AddTool(int tool_id, item.label = label; item.bitmap = bitmap; item.disabled_bitmap = disabled_bitmap; + item.short_help = short_help_string; + item.long_help = long_help_string; item.active = true; item.dropdown = false; - item.space_pixels = 0; + item.spacer_pixels = 0; item.id = tool_id; item.state = 0; item.proportion = 0; @@ -942,11 +943,11 @@ void wxAuiToolBar::AddTool(int tool_id, item.disabled_bitmap = MakeDisabledBitmap(item.bitmap); } } - m_items.Add(item); + return &m_items.Last(); } -void wxAuiToolBar::AddControl(wxControl* control, +wxAuiToolBarItem* wxAuiToolBar::AddControl(wxControl* control, const wxString& label) { wxAuiToolBarItem item; @@ -956,7 +957,7 @@ void wxAuiToolBar::AddControl(wxControl* control, item.disabled_bitmap = wxNullBitmap; item.active = true; item.dropdown = false; - item.space_pixels = 0; + item.spacer_pixels = 0; item.id = control->GetId(); item.state = 0; item.proportion = 0; @@ -967,9 +968,10 @@ void wxAuiToolBar::AddControl(wxControl* control, item.sticky = false; m_items.Add(item); + return &m_items.Last(); } -void wxAuiToolBar::AddLabel(int tool_id, +wxAuiToolBarItem* wxAuiToolBar::AddLabel(int tool_id, const wxString& label, const int width) { @@ -984,7 +986,7 @@ void wxAuiToolBar::AddLabel(int tool_id, item.disabled_bitmap = wxNullBitmap; item.active = true; item.dropdown = false; - item.space_pixels = 0; + item.spacer_pixels = 0; item.id = tool_id; item.state = 0; item.proportion = 0; @@ -995,9 +997,10 @@ void wxAuiToolBar::AddLabel(int tool_id, item.sticky = false; m_items.Add(item); + return &m_items.Last(); } -void wxAuiToolBar::AddSeparator() +wxAuiToolBarItem* wxAuiToolBar::AddSeparator() { wxAuiToolBarItem item; item.window = NULL; @@ -1016,9 +1019,10 @@ void wxAuiToolBar::AddSeparator() item.sticky = false; m_items.Add(item); + return &m_items.Last(); } -void wxAuiToolBar::AddSpacer(int pixels) +wxAuiToolBarItem* wxAuiToolBar::AddSpacer(int pixels) { wxAuiToolBarItem item; item.window = NULL; @@ -1027,7 +1031,7 @@ void wxAuiToolBar::AddSpacer(int pixels) item.disabled_bitmap = wxNullBitmap; item.active = true; item.dropdown = false; - item.space_pixels = pixels; + item.spacer_pixels = pixels; item.id = -1; item.state = 0; item.proportion = 0; @@ -1038,9 +1042,10 @@ void wxAuiToolBar::AddSpacer(int pixels) item.sticky = false; m_items.Add(item); + return &m_items.Last(); } -void wxAuiToolBar::AddStretchSpacer(int proportion) +wxAuiToolBarItem* wxAuiToolBar::AddStretchSpacer(int proportion) { wxAuiToolBarItem item; item.window = NULL; @@ -1049,7 +1054,7 @@ void wxAuiToolBar::AddStretchSpacer(int proportion) item.disabled_bitmap = wxNullBitmap; item.active = true; item.dropdown = false; - item.space_pixels = 0; + item.spacer_pixels = 0; item.id = -1; item.state = 0; item.proportion = proportion; @@ -1060,6 +1065,7 @@ void wxAuiToolBar::AddStretchSpacer(int proportion) item.sticky = false; m_items.Add(item); + return &m_items.Last(); } void wxAuiToolBar::Clear() @@ -1216,7 +1222,7 @@ int wxAuiToolBar::GetToolSeparation() const { if (m_art) return m_art->GetElementSize(wxAUI_TBART_SEPARATOR_SIZE); - else + else return 5; } @@ -1436,7 +1442,7 @@ void wxAuiToolBar::RefreshOverflowState() { if (::wxGetMouseState().LeftDown()) overflow_state = wxAUI_BUTTON_STATE_PRESSED; - else + else overflow_state = wxAUI_BUTTON_STATE_HOVER; } @@ -1461,7 +1467,7 @@ void wxAuiToolBar::ToggleTool(int tool_id, bool state) if (state == true) tool->state |= wxAUI_BUTTON_STATE_CHECKED; - else + else tool->state &= ~wxAUI_BUTTON_STATE_CHECKED; } } @@ -1489,7 +1495,7 @@ void wxAuiToolBar::EnableTool(int tool_id, bool state) { if (state == true) tool->state &= ~wxAUI_BUTTON_STATE_DISABLED; - else + else tool->state |= wxAUI_BUTTON_STATE_DISABLED; } } @@ -1633,7 +1639,7 @@ bool wxAuiToolBar::GetToolFitsByIndex(int tool_idx) const if (rect.y+rect.height < cli_h) return true; } - else + else { // take the dropdown size into account if (m_overflow_visible) @@ -1696,10 +1702,10 @@ bool wxAuiToolBar::Realize() { if (horizontal) m_gripper_sizer_item = sizer->Add(gripper_size, 1, 0, wxEXPAND); - else + else m_gripper_sizer_item = sizer->Add(1, gripper_size, 0, wxEXPAND); } - else + else { m_gripper_sizer_item = NULL; } @@ -1709,7 +1715,7 @@ bool wxAuiToolBar::Realize() { if (horizontal) sizer->Add(m_left_padding, 1); - else + else sizer->Add(1, m_left_padding); } @@ -1757,7 +1763,7 @@ bool wxAuiToolBar::Realize() { if (horizontal) sizer_item = sizer->Add(separator_size, 1, 0, wxEXPAND); - else + else sizer_item = sizer->Add(1, separator_size, 0, wxEXPAND); // add tool packing @@ -1772,8 +1778,8 @@ bool wxAuiToolBar::Realize() case wxITEM_SPACER: if (item.proportion > 0) sizer_item = sizer->AddStretchSpacer(item.proportion); - else - sizer_item = sizer->Add(item.space_pixels, 1); + else + sizer_item = sizer->Add(item.spacer_pixels, 1); break; case wxITEM_CONTROL: @@ -1785,9 +1791,11 @@ bool wxAuiToolBar::Realize() vert_sizer->AddStretchSpacer(1); ctrl_sizer_item = vert_sizer->Add(item.window, 0, wxEXPAND); vert_sizer->AddStretchSpacer(1); - if ((m_style & wxAUI_TB_TEXT) && item.label.Length() > 0) + if ( (m_style & wxAUI_TB_TEXT) && + m_tool_text_orientation == wxAUI_TBTOOL_TEXT_BOTTOM && + !item.GetLabel().empty() ) { - wxSize s = GetLabelSize(item.label); + wxSize s = GetLabelSize(item.GetLabel()); vert_sizer->Add(1, s.y); } @@ -1826,7 +1834,7 @@ bool wxAuiToolBar::Realize() { if (horizontal) sizer->Add(m_right_padding, 1); - else + else sizer->Add(1, m_right_padding); } @@ -1840,10 +1848,10 @@ bool wxAuiToolBar::Realize() { if (horizontal) m_overflow_sizer_item = sizer->Add(overflow_size, 1, 0, wxEXPAND); - else + else m_overflow_sizer_item = sizer->Add(1, overflow_size, 0, wxEXPAND); } - else + else { m_overflow_sizer_item = NULL; } @@ -1858,7 +1866,7 @@ bool wxAuiToolBar::Realize() { if (horizontal) outside_sizer->Add(1, m_top_padding); - else + else outside_sizer->Add(m_top_padding, 1); } @@ -1870,7 +1878,7 @@ bool wxAuiToolBar::Realize() { if (horizontal) outside_sizer->Add(1, m_bottom_padding); - else + else outside_sizer->Add(m_bottom_padding, 1); } @@ -1908,12 +1916,12 @@ bool wxAuiToolBar::Realize() { SetClientSize(new_size); } - else + else { m_sizer->SetDimension(0, 0, cur_size.x, cur_size.y); } } - else + else { wxSize cur_size = GetClientSize(); m_sizer->SetDimension(0, 0, cur_size.x, cur_size.y); @@ -1941,7 +1949,7 @@ wxRect wxAuiToolBar::GetOverflowRect() const overflow_rect.width = cli_rect.width; overflow_rect.height = overflow_size; } - else + else { overflow_rect.x = cli_rect.width - overflow_size; overflow_rect.y = 0; @@ -1995,7 +2003,7 @@ void wxAuiToolBar::DoIdleUpdate() bool is_enabled; if (item.window) is_enabled = item.window->IsEnabled(); - else + else is_enabled = (item.state & wxAUI_BUTTON_STATE_DISABLED) ? false : true; bool new_enabled = evt.GetEnabled(); @@ -2005,11 +2013,11 @@ void wxAuiToolBar::DoIdleUpdate() { item.window->Enable(new_enabled); } - else + else { if (new_enabled) item.state &= ~wxAUI_BUTTON_STATE_DISABLED; - else + else item.state |= wxAUI_BUTTON_STATE_DISABLED; } need_refresh = true; @@ -2029,7 +2037,7 @@ void wxAuiToolBar::DoIdleUpdate() { if (new_checked) item.state |= wxAUI_BUTTON_STATE_CHECKED; - else + else item.state &= ~wxAUI_BUTTON_STATE_CHECKED; need_refresh = true; @@ -2054,7 +2062,7 @@ void wxAuiToolBar::OnSize(wxSizeEvent& WXUNUSED(evt)) if (x > y) SetOrientation(wxHORIZONTAL); - else + else SetOrientation(wxVERTICAL); if (((x >= y) && m_absolute_min_size.x > x) || @@ -2072,7 +2080,7 @@ void wxAuiToolBar::OnSize(wxSizeEvent& WXUNUSED(evt)) } } } - else + else { // show all flexible items size_t i, count; @@ -2139,7 +2147,7 @@ void wxAuiToolBar::OnPaint(wxPaintEvent& WXUNUSED(evt)) wxRect gripper_rect = m_gripper_sizer_item->GetRect(); if (horizontal) gripper_rect.width = gripper_size; - else + else gripper_rect.height = gripper_size; m_art->DrawGripper(dc, this, gripper_rect); } @@ -2148,7 +2156,7 @@ void wxAuiToolBar::OnPaint(wxPaintEvent& WXUNUSED(evt)) int last_extent; if (horizontal) last_extent = cli_rect.width; - else + else last_extent = cli_rect.height; if (m_overflow_visible) last_extent -= dropdown_size; @@ -2176,25 +2184,25 @@ void wxAuiToolBar::OnPaint(wxPaintEvent& WXUNUSED(evt)) // draw a separator m_art->DrawSeparator(dc, this, item_rect); } - else if (item.kind == wxITEM_LABEL) + else if (item.kind == wxITEM_LABEL) { // draw a text label only m_art->DrawLabel(dc, this, item, item_rect); } - else if (item.kind == wxITEM_NORMAL) + else if (item.kind == wxITEM_NORMAL) { // draw a regular button or dropdown button if (!item.dropdown) m_art->DrawButton(dc, this, item, item_rect); - else + else m_art->DrawDropDownButton(dc, this, item, item_rect); } - else if (item.kind == wxITEM_CHECK) + else if (item.kind == wxITEM_CHECK) { // draw a toggle button m_art->DrawButton(dc, this, item, item_rect); } - else if (item.kind == wxITEM_CONTROL) + else if (item.kind == wxITEM_CONTROL) { // draw the control's label m_art->DrawControlLabel(dc, this, item, item_rect); @@ -2252,13 +2260,13 @@ void wxAuiToolBar::OnLeftDown(wxMouseEvent& evt) e.SetEventObject(this); e.SetToolId(-1); e.SetClickPoint(wxPoint(evt.GetX(), evt.GetY())); - bool processed = ProcessEvent(e); + bool processed = GetEventHandler()->ProcessEvent(e); if (processed) { DoIdleUpdate(); } - else + else { size_t i, count; wxAuiToolBarItemArray overflow_items; @@ -2289,7 +2297,7 @@ void wxAuiToolBar::OnLeftDown(wxMouseEvent& evt) { wxCommandEvent e(wxEVT_COMMAND_MENU_SELECTED, res); e.SetEventObject(this); - GetParent()->ProcessEvent(e); + GetParent()->GetEventHandler()->ProcessEvent(e); } } @@ -2330,7 +2338,7 @@ void wxAuiToolBar::OnLeftDown(wxMouseEvent& evt) e.SetClickPoint(evt.GetPosition()); e.SetItemRect(rect); - ProcessEvent(e); + GetEventHandler()->ProcessEvent(e); DoIdleUpdate(); } } @@ -2354,14 +2362,14 @@ void wxAuiToolBar::OnLeftUp(wxMouseEvent& evt) m_action_item = NULL; return; } - else + else { wxAuiToolBarItem* hit_item; hit_item = FindToolByPosition(evt.GetX(), evt.GetY()); if (m_action_item && hit_item == m_action_item) { - SetToolTip(NULL); + UnsetToolTip(); if (hit_item->kind == wxITEM_CHECK) { @@ -2369,21 +2377,21 @@ void wxAuiToolBar::OnLeftUp(wxMouseEvent& evt) if (m_action_item->state & wxAUI_BUTTON_STATE_CHECKED) toggle = false; - else + else toggle = true; ToggleTool(m_action_item->id, toggle); wxCommandEvent e(wxEVT_COMMAND_MENU_SELECTED, m_action_item->id); e.SetEventObject(this); - ProcessEvent(e); + GetEventHandler()->ProcessEvent(e); DoIdleUpdate(); } - else + else { wxCommandEvent e(wxEVT_COMMAND_MENU_SELECTED, m_action_item->id); e.SetEventObject(this); - ProcessEvent(e); + GetEventHandler()->ProcessEvent(e); DoIdleUpdate(); } } @@ -2446,18 +2454,18 @@ void wxAuiToolBar::OnRightUp(wxMouseEvent& evt) e.SetEventObject(this); e.SetToolId(m_action_item->id); e.SetClickPoint(m_action_pos); - ProcessEvent(e); + GetEventHandler()->ProcessEvent(e); DoIdleUpdate(); } } - else + else { // right-clicked on the invalid area of the toolbar wxAuiToolBarEvent e(wxEVT_COMMAND_AUITOOLBAR_RIGHT_CLICK, -1); e.SetEventObject(this); e.SetToolId(-1); e.SetClickPoint(m_action_pos); - ProcessEvent(e); + GetEventHandler()->ProcessEvent(e); DoIdleUpdate(); } @@ -2517,7 +2525,7 @@ void wxAuiToolBar::OnMiddleUp(wxMouseEvent& evt) e.SetEventObject(this); e.SetToolId(m_action_item->id); e.SetClickPoint(m_action_pos); - ProcessEvent(e); + GetEventHandler()->ProcessEvent(e); DoIdleUpdate(); } } @@ -2535,14 +2543,14 @@ void wxAuiToolBar::OnMotion(wxMouseEvent& evt) m_action_pos != wxPoint(-1,-1) && abs(evt.m_x - m_action_pos.x) + abs(evt.m_y - m_action_pos.y) > 5) { - SetToolTip(NULL); + UnsetToolTip(); m_dragging = true; wxAuiToolBarEvent e(wxEVT_COMMAND_AUITOOLBAR_BEGIN_DRAG, GetId()); e.SetEventObject(this); e.SetToolId(m_action_item->id); - ProcessEvent(e); + GetEventHandler()->ProcessEvent(e); DoIdleUpdate(); return; } @@ -2552,10 +2560,10 @@ void wxAuiToolBar::OnMotion(wxMouseEvent& evt) { if (!(hit_item->state & wxAUI_BUTTON_STATE_DISABLED)) SetHoverItem(hit_item); - else + else SetHoverItem(NULL); } - else + else { // no hit item, remove any hit item SetHoverItem(hit_item); @@ -2570,15 +2578,15 @@ void wxAuiToolBar::OnMotion(wxMouseEvent& evt) { m_tip_item = packing_hit_item; - if (packing_hit_item->short_help.Length() > 0) + if ( !packing_hit_item->short_help.empty() ) SetToolTip(packing_hit_item->short_help); - else - SetToolTip(NULL); + else + UnsetToolTip(); } } - else + else { - SetToolTip(NULL); + UnsetToolTip(); m_tip_item = NULL; } @@ -2588,7 +2596,7 @@ void wxAuiToolBar::OnMotion(wxMouseEvent& evt) { if (m_action_item == hit_item) SetPressedItem(m_action_item); - else + else SetPressedItem(NULL); }