KiCad PCB EDA Suite
Loading...
Searching...
No Matches
wx_menubar.h
Go to the documentation of this file.
1/*
2 * This program source code file is part of KiCad, a free EDA CAD application.
3 *
4 * Copyright The KiCad Developers, see AUTHORS.TXT for contributors.
5 *
6 * This program is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU General Public License
8 * as published by the Free Software Foundation; either version 2
9 * of the License, or (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program. If not, see <https://www.gnu.org/licenses/>.
18 */
19
20#ifndef WX_MENUBAR_H_
21#define WX_MENUBAR_H_
22
23#include <wx/accel.h>
24#include <wx/menu.h>
25#include <tool/action_menu.h>
26
27
42class WX_MENUBAR : public wxMenuBar
43{
44public:
45 // Just take all constructors
46 using wxMenuBar::wxMenuBar;
47
48 void SetAcceleratorTable( const wxAcceleratorTable& aTable ) override
49 {
50 // Don't use the passed in accelerator table, create a new empty one
51 wxMenuBar::SetAcceleratorTable( wxAcceleratorTable() );
52 }
53
54 wxString GetMenuLabelText( size_t aPos ) const override
55 {
56 if( ACTION_MENU* actionMenu = dynamic_cast<ACTION_MENU*>( GetMenu( aPos ) ) )
57 {
58 wxString title = actionMenu->GetTitle();
59
60 // Clear accelerator key markings
61 title.Replace( wxS( " & " ), wxS( " {amp} " ) );
62 title.Replace( wxS( "&" ), wxEmptyString );
63 title.Replace( wxS( "{amp}" ), wxS( "&" ) );
64
65 return title;
66 }
67
68 return wxMenuBar::GetMenuLabelText( aPos );
69 }
70};
71
72#endif // COMMON_WIDGETS_WX_BUSY_INDICATOR__H
Define the structure of a menu based on ACTIONs.
Definition action_menu.h:43
Wrapper around a wxMenuBar object that prevents the accelerator table from being used.
Definition wx_menubar.h:43
wxString GetMenuLabelText(size_t aPos) const override
Definition wx_menubar.h:54
void SetAcceleratorTable(const wxAcceleratorTable &aTable) override
Definition wx_menubar.h:48