KiCad PCB EDA Suite
pcb_base_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, jp.charras at wanadoo.fr
5  * Copyright (C) 2008-2016 Wayne Stambaugh <stambaughw@verizon.net>
6  * Copyright (C) 1992-2018 KiCad Developers, see AUTHORS.txt for contributors.
7  *
8  * This program is free software; you can redistribute it and/or
9  * modify it under the terms of the GNU General Public License
10  * as published by the Free Software Foundation; either version 2
11  * of the License, or (at your option) any later version.
12  *
13  * This program is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16  * GNU General Public License for more details.
17  *
18  * You should have received a copy of the GNU General Public License
19  * along with this program; if not, you may find one here:
20  * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
21  * or you may search the http://www.gnu.org website for the version 2 license,
22  * or you may write to the Free Software Foundation, Inc.,
23  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
24  */
25 
31 #ifndef PCB_BASE_FRAME_H
32 #define PCB_BASE_FRAME_H
33 
34 
35 #include <vector>
36 #include <boost/interprocess/exceptions.hpp>
37 
38 #include <draw_frame.h>
39 #include <base_struct.h>
40 #include <eda_text.h> // EDA_DRAW_MODE_T
41 #include <richio.h>
42 #include <pcb_screen.h>
43 #include <pcb_display_options.h>
44 #include <pcb_general_settings.h>
45 
46 /* Forward declarations of classes. */
47 class BOARD;
49 class MODULE;
50 class TRACK;
51 class D_PAD;
52 class TEXTE_MODULE;
53 class EDA_3D_VIEWER;
54 class GENERAL_COLLECTOR;
57 class ZONE_SETTINGS;
58 class PCB_PLOT_PARAMS;
59 class FP_LIB_TABLE;
60 class LIB_ID;
62 
68 {
69 public:
71  wxPoint m_UserGridSize;
72 
73  int m_FastGrid1; // 1st fast grid setting (index in EDA_DRAW_FRAME::m_gridSelectBox)
74  int m_FastGrid2; // 2nd fast grid setting (index in EDA_DRAW_FRAME::m_gridSelectBox)
75 
76 protected:
79 
81 
82  void updateZoomSelectBox();
83  virtual void unitsChangeRefresh() override;
84 
95  MODULE* loadFootprint( const LIB_ID& aFootprintId );
96 
97 public:
98  PCB_BASE_FRAME( KIWAY* aKiway, wxWindow* aParent, FRAME_T aFrameType,
99  const wxString& aTitle, const wxPoint& aPos, const wxSize& aSize,
100  long aStyle, const wxString& aFrameName );
101 
102  ~PCB_BASE_FRAME();
103 
108 
116  bool Update3DView( const wxString* aTitle = nullptr );
117 
126  MODULE* LoadFootprint( const LIB_ID& aFootprintId );
127 
134  EDA_RECT GetBoardBoundingBox( bool aBoardEdgesOnly = false ) const;
135 
136  virtual void SetPageSettings( const PAGE_INFO& aPageSettings ) override;
137  const PAGE_INFO& GetPageSettings() const override;
138  const wxSize GetPageSizeIU() const override;
139 
140  const wxPoint& GetAuxOrigin() const override;
141  void SetAuxOrigin( const wxPoint& aPoint ) override;
142 
143  const wxPoint& GetGridOrigin() const override;
144  void SetGridOrigin( const wxPoint& aPoint ) override;
145 
146  const TITLE_BLOCK& GetTitleBlock() const override;
147  void SetTitleBlock( const TITLE_BLOCK& aTitleBlock ) override;
148 
154  virtual BOARD_DESIGN_SETTINGS& GetDesignSettings() const;
155  virtual void SetDesignSettings( const BOARD_DESIGN_SETTINGS& aSettings );
156 
157  void SetDrawBgColor( COLOR4D aColor ) override;
158 
167  void* GetDisplayOptions() override { return &m_DisplayOptions; }
168 
169  const ZONE_SETTINGS& GetZoneSettings() const;
170  void SetZoneSettings( const ZONE_SETTINGS& aSettings );
171 
177  virtual const PCB_PLOT_PARAMS& GetPlotSettings() const;
178  virtual void SetPlotSettings( const PCB_PLOT_PARAMS& aSettings );
179 
186  virtual void SetBoard( BOARD* aBoard );
187 
188  BOARD* GetBoard() const
189  {
190  wxASSERT( m_Pcb );
191  return m_Pcb;
192  }
193 
194  // General
195  virtual void OnCloseWindow( wxCloseEvent& Event ) = 0;
196  virtual void RedrawActiveWindow( wxDC* DC, bool EraseBg ) override { }
197  virtual void ReCreateOptToolbar() { }
198  virtual void OnLeftClick( wxDC* DC, const wxPoint& MousePos ) override = 0;
199  virtual void OnLeftDClick( wxDC* DC, const wxPoint& MousePos ) override = 0;
200  virtual bool OnRightClick( const wxPoint& MousePos, wxMenu* PopMenu ) override = 0;
201  virtual void ShowChangedLanguage() override;
202  virtual void ReCreateMenuBar() override;
203  virtual void SetToolID( int aId, int aCursor, const wxString& aToolMsg ) override;
204  virtual void UpdateStatusBar() override;
205 
206  PCB_SCREEN* GetScreen() const override { return (PCB_SCREEN*) EDA_DRAW_FRAME::GetScreen(); }
207 
208  void UpdateGridSelectBox();
209 
214  virtual double BestZoom() override;
215 
222  const wxString GetZoomLevelIndicator() const override;
223 
229  virtual void Show3D_Frame( wxCommandEvent& event );
230 
239  virtual bool CreateAndShow3D_Frame( bool aForceRecreateIfNotOwner );
240 
256  BOARD_ITEM* PcbGeneralLocateAndDisplay( int aHotKeyCode = 0 );
257 
258  void ProcessItemSelection( wxCommandEvent& event );
259 
270  void SetCurItem( BOARD_ITEM* aItem, bool aDisplayInfo = true );
271 
273 
275  void UpdateMsgPanel() override;
276 
283 
291  wxString SelectLibrary( const wxString& aNicknameExisting );
292 
300 
310  virtual void OnModify();
311 
312  // Modules (footprints)
313 
325  MODULE* CreateNewModule( const wxString& aModuleName );
326 
327  void Edit_Module( MODULE* module, wxDC* DC );
328  void Rotate_Module( wxDC* DC, MODULE* module, double angle, bool incremental );
329 
340  void PlaceModule( MODULE* aModule, wxDC* aDC, bool aRecreateRatsnest = true );
341 
342  // module texts
343  void RotateTextModule( TEXTE_MODULE* Text, wxDC* DC );
344  void DeleteTextModule( TEXTE_MODULE* Text );
345  void PlaceTexteModule( TEXTE_MODULE* Text, wxDC* DC );
346  void StartMoveTexteModule( TEXTE_MODULE* Text, wxDC* DC );
347 
355  void ResetTextSize( BOARD_ITEM* aItem, wxDC* aDC );
356 
357  void InstallPadOptionsFrame( D_PAD* pad );
358 
359  void AddPad( MODULE* Module, bool draw );
360 
369  void DeletePad( D_PAD* aPad, bool aQuery = true );
370 
379  void StartMovePad( D_PAD* aPad, wxDC* aDC, bool aDragConnectedTracks );
380 
381  void PlacePad( D_PAD* Pad, wxDC* DC );
382  void Export_Pad_Settings( D_PAD* aPad );
383  void Import_Pad_Settings( D_PAD* aPad, bool aDraw );
384 
396  void DoPushPadProperties( D_PAD* aPad,
397  bool aSameFootprints,
398  bool aPadShapeFilter,
399  bool aPadOrientFilter,
400  bool aPadLayerFilter,
401  bool aSaveForUndo );
402 
409  MODULE* SelectFootprintFromLibTree( bool aUseFootprintViewer = true );
410 
416  virtual void AddModuleToBoard( MODULE* module );
417 
425 
426  // ratsnest functions
435  void Compile_Ratsnest( wxDC* aDC, bool aDisplayStatus );
436 
446  void build_ratsnest_module( MODULE *aModule, wxPoint aMoveVector );
447 
453  void TraceModuleRatsNest( wxDC* aDC );
454 
462  void DrawGeneralRatsnest( wxDC* aDC, int aNetcode = 0 );
463 
471  void TraceAirWiresToTargets( wxDC* aDC );
472 
484  const wxPoint& aPosition,
485  int aNet );
486 
494  void TestNetConnection( wxDC* aDC, int aNetCode );
495 
496  /* Functions relative to Undo/redo commands:
497  */
498 
508  virtual void SaveCopyInUndoList( BOARD_ITEM* aItemToCopy,
509  UNDO_REDO_T aTypeCommand,
510  const wxPoint& aTransformPoint = wxPoint( 0, 0 ) ) = 0;
511 
521  virtual void SaveCopyInUndoList( const PICKED_ITEMS_LIST& aItemsList,
522  UNDO_REDO_T aTypeCommand,
523  const wxPoint& aTransformPoint = wxPoint( 0, 0 ) ) = 0;
524 
525 
533  PCB_LAYER_ID SelectLayer( PCB_LAYER_ID aDefaultLayer,
534  LSET aNotAllowedLayersMask = LSET(),
535  wxPoint aDlgPosition = wxDefaultPosition );
536 
537  /* Display a list of two copper layers to choose a pair of copper layers
538  * the layer pair is used to fast switch between copper layers when placing vias
539  */
540  void SelectCopperLayerPair();
541 
542  virtual void SwitchLayer( wxDC* DC, PCB_LAYER_ID layer );
543 
548  virtual void SetActiveLayer( PCB_LAYER_ID aLayer )
549  {
550  GetScreen()->m_Active_Layer = aLayer;
551  }
552 
557  virtual PCB_LAYER_ID GetActiveLayer() const
558  {
559  return GetScreen()->m_Active_Layer;
560  }
561 
562  void LoadSettings( wxConfigBase* aCfg ) override;
563  void SaveSettings( wxConfigBase* aCfg ) override;
564 
565  void CommonSettingsChanged() override;
566 
567  void OnTogglePolarCoords( wxCommandEvent& aEvent );
568  void OnTogglePadDrawMode( wxCommandEvent& aEvent );
569  void OnToggleGraphicDrawMode( wxCommandEvent& aEvent );
570  void OnToggleEdgeDrawMode( wxCommandEvent& aEvent );
571  void OnToggleTextDrawMode( wxCommandEvent& aEvent );
572 
573  virtual void OnSwitchCanvas( wxCommandEvent& aEvent );
574 
575  // User interface update event handlers.
576  void OnUpdateCoordType( wxUpdateUIEvent& aEvent );
577  void OnUpdatePadDrawMode( wxUpdateUIEvent& aEvent );
578  void OnUpdateGraphicDrawMode( wxUpdateUIEvent& aEvent );
579  void OnUpdateEdgeDrawMode( wxUpdateUIEvent& aEvent );
580  void OnUpdateTextDrawMode( wxUpdateUIEvent& aEvent );
581  void OnUpdateSelectZoom( wxUpdateUIEvent& aEvent );
582 
583  virtual void OnUpdateLayerAlpha( wxUpdateUIEvent& aEvent ) {}
584 
590  void SetFastGrid1();
591 
597  void SetFastGrid2();
598 
603  void SetNextGrid() override;
604 
609  void SetPrevGrid() override;
610 
612  virtual void UseGalCanvas( bool aEnable ) override;
613 
617  void OnUpdateSwitchCanvas( wxUpdateUIEvent& aEvent );
618 
620  {
621  return m_configSettings;
622  }
623 
625  static const wxChar CANVAS_TYPE_KEY[];
626 
627  static const wxChar AUTO_ZOOM_KEY[];
628  static const wxChar ZOOM_KEY[];
629 
630  DECLARE_EVENT_TABLE()
631 };
632 
633 #endif // PCB_BASE_FRAME_H
wxString SelectFootprintFromLibBrowser()
Function SelectFootprintFromLibBrowser launches the footprint viewer to select the name of a footprin...
void TraceAirWiresToTargets(wxDC *aDC)
Function TraceAirWiresToTargets This functions shows airwires to nearest connecting points (pads) fro...
Definition: ratsnest.cpp:205
virtual void SetBoard(BOARD *aBoard)
Function SetBoard sets the m_Pcb member in such as way as to ensure deleting any previous BOARD...
MODULE * SelectFootprintFromLibTree(bool aUseFootprintViewer=true)
Function SelectFootprintFromLibTree opens a dialog to select a footprint.
virtual void ShowChangedLanguage() override
Function ShowChangedLanguage redraws the menus and what not in current language.
void OnTogglePadDrawMode(wxCommandEvent &aEvent)
virtual void Show3D_Frame(wxCommandEvent &event)
Shows the 3D view frame.
virtual void unitsChangeRefresh() override
Called when when the units setting has changed to allow for any derived classes to handle refreshing ...
virtual void SetToolID(int aId, int aCursor, const wxString &aToolMsg) override
Set the tool command ID to aId and sets the cursor to aCursor.
void TraceModuleRatsNest(wxDC *aDC)
Function TraceModuleRatsNest display the rats nest of a moving footprint, computed by build_ratsnest_...
Definition: ratsnest.cpp:139
void OnToggleTextDrawMode(wxCommandEvent &aEvent)
void SetGridOrigin(const wxPoint &aPoint) override
virtual void AddModuleToBoard(MODULE *module)
Adds the given module to the board.
Class BOARD_ITEM is a base class for any item which can be embedded within the BOARD container class...
void TestNetConnection(wxDC *aDC, int aNetCode)
Function TestNetConnection tests the connections relative to aNetCode.
Definition: connect.cpp:40
void OnUpdateCoordType(wxUpdateUIEvent &aEvent)
FRAME_T
Enum FRAME_T is the set of EDA_BASE_FRAME derivatives, typically stored in EDA_BASE_FRAME::m_Ident.
Definition: frame_type.h:34
void OnToggleEdgeDrawMode(wxCommandEvent &aEvent)
UNDO_REDO_T
Undo Redo considerations: Basically we have 3 cases New item Deleted item Modified item there is also...
void SetFastGrid2()
Function SetFastGrid2()
const ZONE_SETTINGS & GetZoneSettings() const
void build_ratsnest_module(MODULE *aModule, wxPoint aMoveVector)
Function build_ratsnest_module Build a ratsnest relative to one footprint.
Definition: ratsnest.cpp:193
const wxPoint & GetGridOrigin() const override
Return the absolute coordinates of the origin of the snap grid.
void SetCurItem(BOARD_ITEM *aItem, bool aDisplayInfo=true)
Function SetCurItem sets the currently selected item and displays it in the MsgPanel.
void OnToggleGraphicDrawMode(wxCommandEvent &aEvent)
void OnUpdatePadDrawMode(wxUpdateUIEvent &aEvent)
virtual void ReCreateOptToolbar()
BOARD * GetBoard() const
void Rotate_Module(wxDC *DC, MODULE *module, double angle, bool incremental)
void SetTitleBlock(const TITLE_BLOCK &aTitleBlock) override
void OnUpdateEdgeDrawMode(wxUpdateUIEvent &aEvent)
void SetDrawBgColor(COLOR4D aColor) override
void RotateTextModule(TEXTE_MODULE *Text, wxDC *DC)
Definition: edtxtmod.cpp:98
void BuildAirWiresTargetsList(BOARD_CONNECTED_ITEM *aItemRef, const wxPoint &aPosition, int aNet)
Function BuildAirWiresTargetsList Build a list of candidates that can be a coonection point when a tr...
Definition: ratsnest.cpp:182
void SetNextGrid() override
Virtual function SetNextGrid() changes the grid size settings to the next one available.
A logical library item identifier and consists of various portions much like a URI.
Definition: lib_id.h:51
PCB_BASE_FRAME(KIWAY *aKiway, wxWindow *aParent, FRAME_T aFrameType, const wxString &aTitle, const wxPoint &aPos, const wxSize &aSize, long aStyle, const wxString &aFrameName)
The base class for create windows for drawing purpose.
Definition: draw_frame.h:78
MODULE * CreateNewModule(const wxString &aModuleName)
Function CreateNewModule Creates a new module or footprint, at position 0,0 The new module contains o...
Definition of base KiCad text object.
PCB_LAYER_ID m_Active_Layer
Definition: pcb_screen.h:44
Class TITLE_BLOCK holds the information shown in the lower right corner of a plot, printout, or editing view.
Definition: title_block.h:40
Class BOARD_CONNECTED_ITEM is a base class derived from BOARD_ITEM for items that can be connected an...
void OnUpdateSelectZoom(wxUpdateUIEvent &aEvent)
virtual void OnSwitchCanvas(wxCommandEvent &aEvent)
virtual const PCB_PLOT_PARAMS & GetPlotSettings() const
Function GetPlotSettings returns the PCB_PLOT_PARAMS for the BOARD owned by this frame.
const wxPoint & GetAuxOrigin() const override
Return the origin of the axis used for plotting and various exports.
void PlacePad(D_PAD *Pad, wxDC *DC)
static const wxChar AUTO_ZOOM_KEY[]
void * GetDisplayOptions() override
Function GetDisplayOptions returns the display options current in use Display options are relative to...
void StartMovePad(D_PAD *aPad, wxDC *aDC, bool aDragConnectedTracks)
Function StartMovePad Initialize a drag or move pad command.
void DeletePad(D_PAD *aPad, bool aQuery=true)
Function DeletePad Delete the pad aPad.
virtual void UseGalCanvas(bool aEnable) override
>
void Export_Pad_Settings(D_PAD *aPad)
GENERAL_COLLECTOR * m_Collector
void SetFastGrid1()
Function SetFastGrid1()
void OnUpdateTextDrawMode(wxUpdateUIEvent &aEvent)
void ResetTextSize(BOARD_ITEM *aItem, wxDC *aDC)
Function ResetTextSize resets given field text size and width to current settings in Preferences->Dim...
Definition: edtxtmod.cpp:289
Class PCB_DISPLAY_OPTIONS handles display options like enable/disable some optional drawings...
PCB_LAYER_ID
A quick note on layer IDs:
GENERAL_COLLECTORS_GUIDE GetCollectorsGuide()
Function GetCollectorsGuide.
void CommonSettingsChanged() override
Function CommonSettingsChanged Notification event that some of the common (suite-wide) settings have ...
virtual BASE_SCREEN * GetScreen() const
Return a pointer to a BASE_SCREEN or one of its derivatives.
Definition: draw_frame.h:394
Class LSET is a set of PCB_LAYER_IDs.
virtual bool OnRightClick(const wxPoint &MousePos, wxMenu *PopMenu) override=0
void PlaceModule(MODULE *aModule, wxDC *aDC, bool aRecreateRatsnest=true)
Function PlaceModule places aModule at the current cursor position and updates module coordinates wit...
void OnTogglePolarCoords(wxCommandEvent &aEvent)
PCB_GENERAL_SETTINGS & Settings()
Class PAGE_INFO describes the page size and margins of a paper page on which to eventually print or p...
Definition: page_info.h:54
void DrawGeneralRatsnest(wxDC *aDC, int aNetcode=0)
function Displays the general ratsnest Only ratsnest with the status bit CH_VISIBLE is set are displa...
Definition: ratsnest.cpp:88
virtual void OnLeftDClick(wxDC *DC, const wxPoint &MousePos) override=0
void OnUpdateSwitchCanvas(wxUpdateUIEvent &aEvent)
Update UI called when switches currently used canvas (default / Cairo / OpenGL).
virtual void OnUpdateLayerAlpha(wxUpdateUIEvent &aEvent)
Class KIWAY is a minimalistic software bus for communications between various DLLs/DSOs (DSOs) within...
Definition: kiway.h:258
virtual void SetPlotSettings(const PCB_PLOT_PARAMS &aSettings)
virtual BOARD_DESIGN_SETTINGS & GetDesignSettings() const
Function GetDesignSettings returns the BOARD_DESIGN_SETTINGS for the BOARD owned by this frame...
void AddPad(MODULE *Module, bool draw)
PCB_GENERAL_SETTINGS m_configSettings
virtual void SetActiveLayer(PCB_LAYER_ID aLayer)
Function SetActiveLayer will change the currently active layer to aLayer.
Class PICKED_ITEMS_LIST is a holder to handle information on schematic or board items.
void SaveSettings(wxConfigBase *aCfg) override
Function SaveSettings saves common frame parameters to a configuration data file. ...
wxPoint m_UserGridSize
virtual void ReCreateMenuBar() override
Function ReCreateMenuBar Creates recreates the menu bar.
Class PCB_PLOT_PARAMS handles plot parameters and options when plotting/printing a board...
virtual bool CreateAndShow3D_Frame(bool aForceRecreateIfNotOwner)
Shows the 3D view frame.
virtual double BestZoom() override
Function BestZoom.
PCB_DISPLAY_OPTIONS m_DisplayOptions
void Compile_Ratsnest(wxDC *aDC, bool aDisplayStatus)
Function Compile_Ratsnest Create the entire board ratsnest.
Definition: ratsnest.cpp:53
virtual void SwitchLayer(wxDC *DC, PCB_LAYER_ID layer)
Class ZONE_SETTINGS handles zones parameters.
Definition: zone_settings.h:48
void PlaceTexteModule(TEXTE_MODULE *Text, wxDC *DC)
Definition: edtxtmod.cpp:213
virtual void OnCloseWindow(wxCloseEvent &Event)=0
void DeleteTextModule(TEXTE_MODULE *Text)
Definition: edtxtmod.cpp:126
void OnUpdateGraphicDrawMode(wxUpdateUIEvent &aEvent)
const TITLE_BLOCK & GetTitleBlock() const override
EDA_RECT GetBoardBoundingBox(bool aBoardEdgesOnly=false) const
Function GetBoardBoundingBox calculates the bounding box containing all board items (or board edge se...
virtual void OnModify()
Function OnModify Virtual Must be called after a change in order to set the "modify" flag of the curr...
virtual void UpdateStatusBar() override
Update the status bar information.
MODULE * LoadFootprint(const LIB_ID &aFootprintId)
Function LoadFootprint attempts to load aFootprintId from the footprint library table.
Class BOARD holds information pertinent to a Pcbnew printed circuit board.
Definition: class_board.h:171
static const wxChar CANVAS_TYPE_KEY[]
Key in KifaceSettings to store the canvas type.
void LoadSettings(wxConfigBase *aCfg) override
Function LoadSettings loads common frame parameters from a configuration file.
void DoPushPadProperties(D_PAD *aPad, bool aSameFootprints, bool aPadShapeFilter, bool aPadOrientFilter, bool aPadLayerFilter, bool aSaveForUndo)
Function DoPushPadProperties Function to change pad settings for the given footprint or all identical...
virtual void OnLeftClick(wxDC *DC, const wxPoint &MousePos) override=0
Used when the right click button is pressed, or when the select tool is in effect.
Definition: collectors.h:245
virtual void SetDesignSettings(const BOARD_DESIGN_SETTINGS &aSettings)
static DIRECTION_45::AngleType angle(const VECTOR2I &a, const VECTOR2I &b)
Class EDA_RECT handles the component boundary box.
Definition: eda_rect.h:44
const PAGE_INFO & GetPageSettings() const override
virtual void SaveCopyInUndoList(BOARD_ITEM *aItemToCopy, UNDO_REDO_T aTypeCommand, const wxPoint &aTransformPoint=wxPoint(0, 0))=0
Function SaveCopyInUndoList (virtual pure) Creates a new entry in undo list of commands.
PCB_SCREEN * GetScreen() const override
Return a pointer to a BASE_SCREEN or one of its derivatives.
virtual void RedrawActiveWindow(wxDC *DC, bool EraseBg) override
virtual void SetPageSettings(const PAGE_INFO &aPageSettings) override
const wxSize GetPageSizeIU() const override
Works off of GetPageSettings() to return the size of the paper page in the internal units of this par...
void SetZoneSettings(const ZONE_SETTINGS &aSettings)
void SetAuxOrigin(const wxPoint &aPoint) override
Create and handle a window for the 3d viewer connected to a Kiway and a pcbboard. ...
Definition: eda_3d_viewer.h:49
wxString SelectLibrary(const wxString &aNicknameExisting)
Function SelectLibrary puts up a dialog and allows the user to pick a library, for unspecified use...
void InstallPadOptionsFrame(D_PAD *pad)
MODULE * GetFootprintFromBoardByReference()
Function GetFootprintFromBoardByReference.
void StartMoveTexteModule(TEXTE_MODULE *Text, wxDC *DC)
Definition: edtxtmod.cpp:187
void Edit_Module(MODULE *module, wxDC *DC)
Basic classes for most KiCad items.
BOARD_ITEM * PcbGeneralLocateAndDisplay(int aHotKeyCode=0)
Function PcbGeneralLocateAndDisplay searches for an item under the mouse cursor.
void SelectCopperLayerPair()
Definition: sel_layer.cpp:260
void UpdateMsgPanel() override
>
A general implementation of a COLLECTORS_GUIDE.
Definition: collectors.h:391
BOARD_ITEM * GetCurItem()
EDA_3D_VIEWER * Get3DViewerFrame()
void ProcessItemSelection(wxCommandEvent &event)
Definition of PCB_DISPLAY_OPTIONS class.
PCB_LAYER_ID SelectLayer(PCB_LAYER_ID aDefaultLayer, LSET aNotAllowedLayersMask=LSET(), wxPoint aDlgPosition=wxDefaultPosition)
Install the dialog box for layer selection.
Definition: sel_layer.cpp:205
MODULE * loadFootprint(const LIB_ID &aFootprintId)
Function loadFootprint attempts to load aFootprintId from the footprint library table.
void Import_Pad_Settings(D_PAD *aPad, bool aDraw)
virtual PCB_LAYER_ID GetActiveLayer() const
Function GetActiveLayer returns the active layer.
class PCB_BASE_FRAME basic PCB main window class for Pcbnew, Gerbview, and CvPcb footprint viewer...
static const wxChar ZOOM_KEY[]
bool Update3DView(const wxString *aTitle=nullptr)
Update the 3D view, if the viewer is opened by this frame.
Class BOARD_DESIGN_SETTINGS contains design settings for a BOARD object.
const wxString GetZoomLevelIndicator() const override
Function GetZoomLevelIndicator returns a human readable value which can be displayed as zoom level in...
Class COLOR4D is the color representation with 4 components: red, green, blue, alpha.
Definition: color4d.h:39
void SetPrevGrid() override
Virtual function SetPrevGrid() changes the grid size settings to the previous one available...