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, jaen-pierre.charras@gipsa-lab.inpg.com
5  * Copyright (C) 2007-2018 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 
34 class REPORTER;
35 
36 // The name (for wxWidgets) of the footprint viewer frame
37 #define FOOTPRINTVIEWER_FRAME_NAME wxT( "FootprintViewerFrame" )
38 
39 
45 {
46 public:
47  DISPLAY_FOOTPRINTS_FRAME( KIWAY* aKiway, wxWindow* aParent );
48  ~DISPLAY_FOOTPRINTS_FRAME() override;
49 
50  void OnCloseWindow( wxCloseEvent& Event ) override;
51 
52  void ReCreateHToolbar() override;
53  void ReCreateVToolbar() override;
54  void ReCreateOptToolbar() override;
55 
62  void InitDisplay();
63 
65  BOARD_ITEM_CONTAINER* GetModel() const override;
66 
70  void updateView();
71 
72  void LoadSettings( APP_SETTINGS_BASE* aCfg ) override;
73  void SaveSettings( APP_SETTINGS_BASE* aCfg ) override;
74 
76 
78 
80  void UpdateMsgPanel() override;
81 
82  COLOR_SETTINGS* GetColorSettings() override;
83 
88  COLOR4D GetGridColor() override;
89 
90  MODULE* GetModule( const wxString& CmpName, REPORTER& aReporter );
91 
92  /* SaveCopyInUndoList() virtual
93  * currently: do nothing in CvPcb.
94  * but but be defined because it is a pure virtual in PCB_BASE_FRAME
95  */
96  void SaveCopyInUndoList( BOARD_ITEM* aItemToCopy, UNDO_REDO_T aTypeCommand = UR_UNSPECIFIED,
97  const wxPoint& aTransformPoint = wxPoint( 0, 0 ) ) override
98  {
99  }
100 
101 
111  void SaveCopyInUndoList( const PICKED_ITEMS_LIST& aItemsList, UNDO_REDO_T aTypeCommand,
112  const wxPoint& aTransformPoint = wxPoint( 0, 0 ) ) override
113  {
114  // currently: do nothing in CvPcb.
115  }
116 
117  void SyncToolbars() override;
118 
124  void SetAutoZoom( bool aAutoZoom ) override;
125 
131  bool GetAutoZoom() override;
132 
133  DECLARE_EVENT_TABLE()
134 };
135 
136 #endif // DISPLAY_FOOTPRINTS_FRAME_H
void SetAutoZoom(bool aAutoZoom) override
Set if the canvas should automatically zoom to the footprint on load.
COLOR4D GetGridColor() override
Function GetGridColor() , virtual.
BOARD_ITEM is a base class for any item which can be embedded within the BOARD container class,...
MAGNETIC_SETTINGS * GetMagneticItemsSettings() override
COLOR_SETTINGS * GetColorSettings() override
Helper to retrieve the current color settings.
MODULE * GetModule(const wxString &CmpName, REPORTER &aReporter)
UNDO_REDO_T
Undo Redo considerations: Basically we have 3 cases New item Deleted item Modified item there is also...
REPORTER is a pure virtual class used to derive REPORTER objects from.
Definition: reporter.h:64
DISPLAY_FOOTPRINTS_FRAME(KIWAY *aKiway, wxWindow *aParent)
void updateView()
update the gal canvas (view, colors ...)
DISPLAY_FOOTPRINTS_FRAME is used to display footprints.
void OnCloseWindow(wxCloseEvent &Event) override
Classes used in Pcbnew, CvPcb and GerbView.
BOARD_ITEM_CONTAINER * GetModel() const override
Stores the common settings that are saved and loaded for each window / frame.
Definition: app_settings.h:68
APP_SETTINGS_BASE is a settings class that should be derived for each standalone KiCad application.
Definition: app_settings.h:92
WINDOW_SETTINGS * GetWindowSettings(APP_SETTINGS_BASE *aCfg) override
Returns a pointer to the window settings for this frame.
bool GetAutoZoom() override
Get if the canvas should automatically zoom to the footprint on load.
void SaveCopyInUndoList(const PICKED_ITEMS_LIST &aItemsList, UNDO_REDO_T aTypeCommand, const wxPoint &aTransformPoint=wxPoint(0, 0)) override
Function SaveCopyInUndoList (overloaded).
KIWAY is a minimalistic software bus for communications between various DLLs/DSOs (DSOs) within the s...
Definition: kiway.h:273
void SyncToolbars() override
Update the toolbars (mostly settings/check buttons/checkboxes) with the current controller state.
PICKED_ITEMS_LIST is a holder to handle information on schematic or board items.
void SaveSettings(APP_SETTINGS_BASE *aCfg) override
Saves common frame parameters to a configuration data file.
void InitDisplay()
Function InitDisplay Refresh the full display for this frame: Set the title, the status line and redr...
Color settings are a bit different than most of the settings objects in that there can be more than o...
void LoadSettings(APP_SETTINGS_BASE *aCfg) override
Load common frame parameters from a configuration file.
Abstract interface for BOARD_ITEMs capable of storing other items inside.
PCB_BASE_FRAME basic PCB main window class for Pcbnew, Gerbview, and CvPcb footprint viewer.
void SaveCopyInUndoList(BOARD_ITEM *aItemToCopy, UNDO_REDO_T aTypeCommand=UR_UNSPECIFIED, const wxPoint &aTransformPoint=wxPoint(0, 0)) override
Function SaveCopyInUndoList (virtual pure) Creates a new entry in undo list of commands.
COLOR4D is the color representation with 4 components: red, green, blue, alpha.
Definition: color4d.h:99