From 770cd51482dfed7a6c73dba92b0323647b638b9f Mon Sep 17 00:00:00 2001 From: Julian Smart Date: Wed, 16 Feb 2011 23:25:21 +0000 Subject: [PATCH] Applied #10079: wxAuiToolBar: Allow right-click on any kind of button git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@66926 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/aui/auibar.cpp | 39 ++++++++++++++++++--------------------- 1 file changed, 18 insertions(+), 21 deletions(-) diff --git a/src/aui/auibar.cpp b/src/aui/auibar.cpp index 952312b9e1..bca167eb49 100644 --- a/src/aui/auibar.cpp +++ b/src/aui/auibar.cpp @@ -539,13 +539,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); } @@ -941,9 +941,9 @@ void wxAuiToolBar::AddTool(int tool_id, item.min_size = wxDefaultSize; item.user_data = 0; item.sticky = false; - - if (item.id == wxID_ANY) - item.id = wxNewId(); + + if (item.id == wxID_ANY) + item.id = wxNewId(); if (!item.disabled_bitmap.IsOk()) { @@ -1008,9 +1008,9 @@ void wxAuiToolBar::AddLabel(int tool_id, item.user_data = 0; item.sticky = false; - if (item.id == wxID_ANY) - item.id = wxNewId(); - + if (item.id == wxID_ANY) + item.id = wxNewId(); + m_items.Add(item); } @@ -1482,7 +1482,7 @@ void wxAuiToolBar::ToggleTool(int tool_id, bool state) int i, idx, count; idx = GetToolIndex(tool_id); count = (int)m_items.GetCount(); - + if (idx >= 0 && idx < count) { for (i = idx; i < count; ++i) @@ -1498,7 +1498,7 @@ void wxAuiToolBar::ToggleTool(int tool_id, bool state) m_items[i].state &= ~wxAUI_BUTTON_STATE_CHECKED; } } - + tool->state |= wxAUI_BUTTON_STATE_CHECKED; } else if (tool->kind == wxITEM_CHECK) @@ -2426,11 +2426,11 @@ void wxAuiToolBar::OnLeftUp(wxMouseEvent& evt) toggle = true; ToggleTool(m_action_item->id, toggle); - + // repaint immediately Refresh(false); Update(); - + wxCommandEvent e(wxEVT_COMMAND_MENU_SELECTED, m_action_item->id); e.SetEventObject(this); e.SetInt(toggle); @@ -2498,15 +2498,12 @@ void wxAuiToolBar::OnRightUp(wxMouseEvent& evt) if (m_action_item && hit_item == m_action_item) { - if (hit_item->kind == wxITEM_NORMAL) - { - wxAuiToolBarEvent e(wxEVT_COMMAND_AUITOOLBAR_RIGHT_CLICK, m_action_item->id); - e.SetEventObject(this); - e.SetToolId(m_action_item->id); - e.SetClickPoint(m_action_pos); - ProcessEvent(e); - DoIdleUpdate(); - } + wxAuiToolBarEvent e(wxEVT_COMMAND_AUITOOLBAR_RIGHT_CLICK, m_action_item->id); + e.SetEventObject(this); + e.SetToolId(m_action_item->id); + e.SetClickPoint(m_action_pos); + ProcessEvent(e); + DoIdleUpdate(); } else {