KiCad PCB EDA Suite
display_footprints_frame.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 (C) 2018 Jean-Pierre Charras, [email protected]
5 * Copyright (C) 2007-2022 KiCad Developers, see AUTHORS.txt for contributors.
6 *
7 * This program is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU General Public License
9 * as published by the Free Software Foundation; either version 2
10 * of the License, or (at your option) any later version.
11 *
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License
18 * along with this program; if not, you may find one here:
19 * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
20 * or you may search the http://www.gnu.org website for the version 2 license,
21 * or you may write to the Free Software Foundation, Inc.,
22 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
23 */
24
28#ifndef DISPLAY_FOOTPRINTS_FRAME_H
29#define DISPLAY_FOOTPRINTS_FRAME_H
30
31#include <pcb_base_frame.h>
32#include <pcbnew_settings.h>
33
34class REPORTER;
35
36// The name (for wxWidgets) of the footprint viewer frame
37#define FOOTPRINTVIEWER_FRAME_NAME wxT( "FootprintViewerFrame" )
38
39
44{
45public:
46 DISPLAY_FOOTPRINTS_FRAME( KIWAY* aKiway, wxWindow* aParent );
48
49 void doCloseWindow() override;
50
51 void ReCreateHToolbar() override;
52 void ReCreateVToolbar() override;
53 void ReCreateOptToolbar() override;
54 void UpdateToolbarControlSizes() override;
55
61 void InitDisplay();
62
64 BOARD_ITEM_CONTAINER* GetModel() const override;
65
69 void updateView();
70
71 void LoadSettings( APP_SETTINGS_BASE* aCfg ) override;
72 void SaveSettings( APP_SETTINGS_BASE* aCfg ) override;
73
75
77
79
81 void UpdateMsgPanel() override;
82
83 COLOR_SETTINGS* GetColorSettings( bool aForceRefresh = false ) const override;
84
88 COLOR4D GetGridColor() override;
89
90 FOOTPRINT* GetFootprint( const wxString& aFootprintName, REPORTER& aReporter );
91
95
97
98 DECLARE_EVENT_TABLE()
99
100protected:
101 void setupUIConditions() override;
102
103private:
106};
107
108#endif // DISPLAY_FOOTPRINTS_FRAME_H
APP_SETTINGS_BASE is a settings class that should be derived for each standalone KiCad application.
Definition: app_settings.h:110
Abstract interface for BOARD_ITEMs capable of storing other items inside.
Color settings are a bit different than most of the settings objects in that there can be more than o...
Store all of the related footprint information found in a netlist.
Definition: pcb_netlist.h:85
void SaveCopyInUndoList(EDA_ITEM *, UNDO_REDO) override
Create a new entry in undo list of commands.
DISPLAY_FOOTPRINTS_FRAME(KIWAY *aKiway, wxWindow *aParent)
void SaveSettings(APP_SETTINGS_BASE *aCfg) override
Save common frame parameters to a configuration data file.
void InitDisplay()
Refresh the full display for this frame: Set the title, the status line and redraw the canvas Must be...
void LoadSettings(APP_SETTINGS_BASE *aCfg) override
Load common frame parameters from a configuration file.
COLOR_SETTINGS * GetColorSettings(bool aForceRefresh=false) const override
Helper to retrieve the current color settings.
void setupUIConditions() override
Setup the UI conditions for the various actions and their controls in this frame.
WINDOW_SETTINGS * GetWindowSettings(APP_SETTINGS_BASE *aCfg) override
Return a pointer to the window settings for this frame.
void UpdateMsgPanel() override
Redraw the message panel.
void AppendCopyToUndoList(const PICKED_ITEMS_LIST &, UNDO_REDO) override
As SaveCopyInUndoList, but appends the changes to the last undo item on the stack.
SELECTION & GetCurrentSelection() override
Get the current selection from the canvas area.
void updateView()
Update the gal canvas (view, colors ...).
void SaveCopyInUndoList(const PICKED_ITEMS_LIST &, UNDO_REDO) override
Creates a new entry in undo list of commands.
void UpdateToolbarControlSizes() override
Update the sizes of any controls in the toolbars of the frame.
BOARD_ITEM_CONTAINER * GetModel() const override
MAGNETIC_SETTINGS * GetMagneticItemsSettings() override
Redraw the message panel.
PCB_VIEWERS_SETTINGS_BASE * GetViewerSettingsBase() const override
FOOTPRINT * GetFootprint(const wxString &aFootprintName, REPORTER &aReporter)
A base class for most all the KiCad significant classes used in schematics and boards.
Definition: eda_item.h:85
A color representation with 4 components: red, green, blue, alpha.
Definition: color4d.h:104
A minimalistic software bus for communications between various DLLs/DSOs (DSOs) within the same KiCad...
Definition: kiway.h:273
Base PCB main window class for Pcbnew, Gerbview, and CvPcb footprint viewer.
A holder to handle information on schematic or board items.
A pure virtual class used to derive REPORTER objects from.
Definition: reporter.h:71
Stores the common settings that are saved and loaded for each window / frame.
Definition: app_settings.h:92
UNDO_REDO
Undo Redo considerations: Basically we have 3 cases New item Deleted item Modified item there is also...