KiCad PCB EDA Suite
dialog_hotkey_list.cpp
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 (C) 2018-2021 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, you may find one here:
18 * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
19 * or you may search the http://www.gnu.org website for the version 2 license,
20 * or you may write to the Free Software Foundation, Inc.,
21 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
22 */
23
25#include <kiface_base.h>
27#include <widgets/ui_common.h>
28
29#include <wx/sizer.h>
30#include <wx/button.h>
31
33 DIALOG_SHIM( aParent, wxID_ANY, _( "Hotkey List" ) )
34{
35 const int margin = KIUI::GetStdMargin();
36 wxBoxSizer* main_sizer = new wxBoxSizer( wxVERTICAL );
37 KIFACE* kiface = nullptr;
38
39 m_hk_list = new PANEL_HOTKEYS_EDITOR( aParent, this, true );
40
42
44 kiface->GetActions( m_hk_list->ActionsList() );
45
47 kiface->GetActions( m_hk_list->ActionsList() );
48
50 kiface->GetActions( m_hk_list->ActionsList() );
51
53 kiface->GetActions( m_hk_list->ActionsList() );
54
55 // Update all of the action hotkeys. The process of loading the actions through
56 // the KiFACE will only get us the default hotkeys
58
59 main_sizer->Add( m_hk_list, 1, wxTOP | wxLEFT | wxRIGHT | wxEXPAND, margin );
60
61 wxStdDialogButtonSizer* sdb_sizer = new wxStdDialogButtonSizer;
62 sdb_sizer->AddButton( new wxButton( this, wxID_OK ) );
63 sdb_sizer->Realize();
64
65 main_sizer->Add( sdb_sizer, 0, wxEXPAND | wxALL, margin );
66
67 SetSizer( main_sizer );
68 main_sizer->SetMinSize( 600, 400 );
69
71}
72
73
75{
77}
DIALOG_LIST_HOTKEYS(EDA_BASE_FRAME *aParent)
Construct a hotkey list dialog on the given frame.
PANEL_HOTKEYS_EDITOR * m_hk_list
bool TransferDataToWindow() override
Called on dialog initialisation - inits the dialog's own widgets.
Dialog helper object to sit in the inheritance tree between wxDialog and any class written by wxFormB...
Definition: dialog_shim.h:83
void finishDialogSettings()
In all dialogs, we must call the same functions to fix minimal dlg size, the default position and per...
The base frame for deriving all KiCad main window classes.
KIWAY & Kiway() const
Return a reference to the KIWAY that this object has an opportunity to participate in.
Definition: kiway_holder.h:53
virtual KIFACE * KiFACE(FACE_T aFaceId, bool doLoad=true)
Return the KIFACE* given a FACE_T.
Definition: kiway.cpp:198
@ FACE_SCH
eeschema DSO
Definition: kiway.h:280
@ FACE_PL_EDITOR
Definition: kiway.h:284
@ FACE_PCB
pcbnew DSO
Definition: kiway.h:281
@ FACE_GERBVIEW
Definition: kiway.h:283
virtual void GetActions(std::vector< TOOL_ACTION * > &aActions) const
Append all registered actions to the given list.
Definition: kiway.cpp:497
std::vector< TOOL_ACTION * > & ActionsList()
bool TransferDataToWindow() override
return & kiface
Definition: cvpcb.cpp:112
Hotkey list dialog (as opposed to editor)
#define _(s)
void ReadHotKeyConfigIntoActions(const wxString &aFileName, std::vector< TOOL_ACTION * > &aActions)
Reads a hotkey config file into a list of actions.
int GetStdMargin()
Get the standard margin around a widget in the KiCad UI.
Definition: ui_common.cpp:41
Implement a participant in the KIWAY alchemy.
Definition: kiway.h:151
Functions to provide common constants and other functions to assist in making a consistent UI.