KiCad PCB EDA Suite
wxBasePcbFrame.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) 2012 Jean-Pierre Charras, jp.charras at wanadoo.fr
5  * Copyright (C) 2008-2016 Wayne Stambaugh <stambaughw@verizon.net>
6  * Copyright (C) 1992-2016 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 WX_BASE_PCB_FRAME_H_
32 #define WX_BASE_PCB_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 <class_pcb_screen.h>
43 #include <pcbstruct.h>
44 #include <class_draw_panel_gal.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;
61 
67 {
68 public:
71  wxRealPoint 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 
82  wxAuiToolBar* m_auxiliaryToolBar;
83 
84  void updateGridSelectBox();
85  void updateZoomSelectBox();
86  virtual void unitsChangeRefresh() override;
87 
98  MODULE* loadFootprint( const LIB_ID& aFootprintId )
99  throw( IO_ERROR, PARSE_ERROR, boost::interprocess::lock_exception );
100 
101 public:
102  PCB_BASE_FRAME( KIWAY* aKiway, wxWindow* aParent, FRAME_T aFrameType,
103  const wxString& aTitle, const wxPoint& aPos, const wxSize& aSize,
104  long aStyle, const wxString& aFrameName );
105 
106  ~PCB_BASE_FRAME();
107 
112 
121  MODULE* LoadFootprint( const LIB_ID& aFootprintId );
122 
129  EDA_RECT GetBoardBoundingBox( bool aBoardEdgesOnly = false ) const;
130 
131  virtual void SetPageSettings( const PAGE_INFO& aPageSettings ) override;
132  const PAGE_INFO& GetPageSettings() const override;
133  const wxSize GetPageSizeIU() const override;
134 
135  const wxPoint& GetAuxOrigin() const override;
136  void SetAuxOrigin( const wxPoint& aPoint ) override;
137 
138  const wxPoint& GetGridOrigin() const override;
139  void SetGridOrigin( const wxPoint& aPoint ) override;
140 
141  const TITLE_BLOCK& GetTitleBlock() const override;
142  void SetTitleBlock( const TITLE_BLOCK& aTitleBlock ) override;
143 
149  virtual BOARD_DESIGN_SETTINGS& GetDesignSettings() const;
150  virtual void SetDesignSettings( const BOARD_DESIGN_SETTINGS& aSettings );
151 
160  void* GetDisplayOptions() override { return &m_DisplayOptions; }
161 
162  const ZONE_SETTINGS& GetZoneSettings() const;
163  void SetZoneSettings( const ZONE_SETTINGS& aSettings );
164 
170  virtual const PCB_PLOT_PARAMS& GetPlotSettings() const;
171  virtual void SetPlotSettings( const PCB_PLOT_PARAMS& aSettings );
172 
179  virtual void SetBoard( BOARD* aBoard );
180 
181  BOARD* GetBoard() const
182  {
183  wxASSERT( m_Pcb );
184  return m_Pcb;
185  }
186 
187  // General
188  virtual void OnCloseWindow( wxCloseEvent& Event ) = 0;
189  virtual void RedrawActiveWindow( wxDC* DC, bool EraseBg ) override { }
190  virtual void ReCreateHToolbar() override = 0;
191  virtual void ReCreateVToolbar() override = 0;
192  virtual void OnLeftClick( wxDC* DC, const wxPoint& MousePos ) override = 0;
193  virtual void OnLeftDClick( wxDC* DC, const wxPoint& MousePos ) override = 0;
194  virtual bool OnRightClick( const wxPoint& MousePos, wxMenu* PopMenu ) override = 0;
195  virtual void ReCreateMenuBar() override;
196  virtual void SetToolID( int aId, int aCursor, const wxString& aToolMsg ) override;
197  virtual void UpdateStatusBar() override;
198 
199  PCB_SCREEN* GetScreen() const override { return (PCB_SCREEN*) EDA_DRAW_FRAME::GetScreen(); }
200 
205  virtual double BestZoom() override;
206 
213  const wxString GetZoomLevelIndicator() const override;
214 
215  virtual void Show3D_Frame( wxCommandEvent& event );
216 
217  // Read/write functions:
219  int ReadListeSegmentDescr( LINE_READER* aReader,
220  TRACK* PtSegm,
221  int StructType,
222  int NumSegm );
223 
224  int ReadSetup( LINE_READER* aReader );
225  int ReadGeneralDescrPcb( LINE_READER* aReader );
226 
227 
243  BOARD_ITEM* PcbGeneralLocateAndDisplay( int aHotKeyCode = 0 );
244 
245  void ProcessItemSelection( wxCommandEvent& event );
246 
257  void SetCurItem( BOARD_ITEM* aItem, bool aDisplayInfo = true );
258 
260 
262  void UpdateMsgPanel() override;
263 
270 
278  void CursorGoto( const wxPoint& aPos, bool aWarp = true );
279 
287  wxString SelectLibrary( const wxString& aNicknameExisting );
288 
296 
306  virtual void OnModify();
307 
308  // Modules (footprints)
309 
321  MODULE* CreateNewModule( const wxString& aModuleName );
322 
323  void Edit_Module( MODULE* module, wxDC* DC );
324  void Rotate_Module( wxDC* DC, MODULE* module, double angle, bool incremental );
325 
336  void PlaceModule( MODULE* aModule, wxDC* aDC, bool aDoNotRecreateRatsnest = false );
337 
338  // module texts
339  void RotateTextModule( TEXTE_MODULE* Text, wxDC* DC );
340  void DeleteTextModule( TEXTE_MODULE* Text );
341  void PlaceTexteModule( TEXTE_MODULE* Text, wxDC* DC );
342  void StartMoveTexteModule( TEXTE_MODULE* Text, wxDC* DC );
343 
351  void ResetTextSize( BOARD_ITEM* aItem, wxDC* aDC );
352 
363  void ResetModuleTextSizes( const wxString & aFilter, bool aRef,
364  bool aValue, bool aOthers );
365 
366  void InstallPadOptionsFrame( D_PAD* pad );
367  void InstallTextModOptionsFrame( TEXTE_MODULE* TextMod, wxDC* DC );
368 
369  void AddPad( MODULE* Module, bool draw );
370 
379  void DeletePad( D_PAD* aPad, bool aQuery = true );
380 
389  void StartMovePad( D_PAD* aPad, wxDC* aDC, bool aDragConnectedTracks );
390 
391  void RotatePad( D_PAD* Pad, wxDC* DC );
392  void PlacePad( D_PAD* Pad, wxDC* DC );
393  void Export_Pad_Settings( D_PAD* aPad );
394  void Import_Pad_Settings( D_PAD* aPad, bool aDraw );
395 
409  void GlobalChange_PadSettings( D_PAD* aPad,
410  bool aSameFootprints,
411  bool aPadShapeFilter,
412  bool aPadOrientFilter,
413  bool aPadLayerFilter,
414  bool aRedraw,
415  bool aSaveForUndo );
416 
436  wxString SelectFootprint( EDA_DRAW_FRAME* aWindow,
437  const wxString& aLibraryName,
438  const wxString& aMask,
439  const wxString& aKeyWord,
440  FP_LIB_TABLE* aTable );
441 
453  MODULE* LoadModuleFromLibrary( const wxString& aLibrary,
454  FP_LIB_TABLE* aTable,
455  bool aUseFootprintViewer = true,
456  wxDC* aDC = NULL );
457 
465 
466  // ratsnest functions
475  void Compile_Ratsnest( wxDC* aDC, bool aDisplayStatus );
476 
485  void build_ratsnest_module( MODULE* aModule );
486 
492  void TraceModuleRatsNest( wxDC* aDC );
493 
498  void Build_Board_Ratsnest();
499 
507  void DrawGeneralRatsnest( wxDC* aDC, int aNetcode = 0 );
508 
516  void TraceAirWiresToTargets( wxDC* aDC );
517 
530  const wxPoint& aPosition, bool aInit );
531 
541  void TestForActiveLinksInRatsnest( int aNetCode );
542 
554  void TestConnections();
555 
563  void TestNetConnection( wxDC* aDC, int aNetCode );
564 
571 
572  /* Functions relative to Undo/redo commands:
573  */
574 
584  virtual void SaveCopyInUndoList( BOARD_ITEM* aItemToCopy,
585  UNDO_REDO_T aTypeCommand,
586  const wxPoint& aTransformPoint = wxPoint( 0, 0 ) ) = 0;
587 
597  virtual void SaveCopyInUndoList( const PICKED_ITEMS_LIST& aItemsList,
598  UNDO_REDO_T aTypeCommand,
599  const wxPoint& aTransformPoint = wxPoint( 0, 0 ) ) = 0;
600 
601 
609  PCB_LAYER_ID SelectLayer( PCB_LAYER_ID aDefaultLayer,
610  LSET aNotAllowedLayersMask = LSET(),
611  wxPoint aDlgPosition = wxDefaultPosition );
612 
613  /* Display a list of two copper layers to choose a pair of copper layers
614  * the layer pair is used to fast switch between copper layers when placing vias
615  */
616  void SelectCopperLayerPair();
617 
618  virtual void SwitchLayer( wxDC* DC, PCB_LAYER_ID layer );
619 
624  virtual void SetActiveLayer( PCB_LAYER_ID aLayer )
625  {
626  GetScreen()->m_Active_Layer = aLayer;
627  }
628 
633  virtual PCB_LAYER_ID GetActiveLayer() const
634  {
635  return GetScreen()->m_Active_Layer;
636  }
637 
638  void LoadSettings( wxConfigBase* aCfg ) override;
639  void SaveSettings( wxConfigBase* aCfg ) override;
640 
641  bool InvokeDialogGrid();
642 
643  void OnTogglePolarCoords( wxCommandEvent& aEvent );
644  void OnTogglePadDrawMode( wxCommandEvent& aEvent );
645 
646  // User interface update event handlers.
647  void OnUpdateCoordType( wxUpdateUIEvent& aEvent );
648  void OnUpdatePadDrawMode( wxUpdateUIEvent& aEvent );
649  void OnUpdateSelectGrid( wxUpdateUIEvent& aEvent );
650  void OnUpdateSelectZoom( wxUpdateUIEvent& aEvent );
651 
657  void SetFastGrid1();
658 
664  void SetFastGrid2();
665 
670  void SetNextGrid() override;
671 
676  void SetPrevGrid() override;
677 
678  void ClearSelection();
679 
681  virtual void UseGalCanvas( bool aEnable ) override;
682 
686  void SwitchCanvas( wxCommandEvent& aEvent );
687 
691  void OnUpdateSwitchCanvas( wxUpdateUIEvent& aEvent );
692 
698 
704 
706  static const wxChar CANVAS_TYPE_KEY[];
707 
708  DECLARE_EVENT_TABLE()
709 };
710 
711 #endif // WX_BASE_PCB_FRAME_H_
wxString SelectFootprintFromLibBrowser()
Function SelectFootprintFromLibBrowser launches the footprint viewer to select the name of a footprin...
Definition: loadcmp.cpp:139
void TraceAirWiresToTargets(wxDC *aDC)
Function TraceAirWiresToTargets This functions shows airwires to nearest connecting points (pads) fro...
Definition: ratsnest.cpp:915
void SwitchCanvas(wxCommandEvent &aEvent)
switches currently used canvas (default / Cairo / OpenGL).
virtual void SetBoard(BOARD *aBoard)
Function SetBoard sets the m_Pcb member in such as way as to ensure deleting any previous BOARD...
Class LINE_READER is an abstract class from which implementation specific LINE_READERs may be derived...
Definition: richio.h:81
void OnTogglePadDrawMode(wxCommandEvent &aEvent)
virtual void Show3D_Frame(wxCommandEvent &event)
virtual void unitsChangeRefresh() override
Function unitsChangeRefresh is called when when the units setting has changed to allow for any derive...
bool SaveCanvasTypeSetting(EDA_DRAW_PANEL_GAL::GAL_TYPE aCanvasType)
Function SaveCanvasTypeSetting() Stores the canvas type in the application settings.
virtual void SetToolID(int aId, int aCursor, const wxString &aToolMsg) override
Function SetToolID sets the tool command ID to aId and sets the cursor to aCursor.
void TestForActiveLinksInRatsnest(int aNetCode)
Function TestForActiveLinksInRatsnest Explores the full rats nest list (which must exist) to determin...
Definition: ratsnest.cpp:469
void TraceModuleRatsNest(wxDC *aDC)
Function TraceModuleRatsNest display the rats nest of a moving footprint, computed by build_ratsnest_...
Definition: ratsnest.cpp:751
void SetGridOrigin(const wxPoint &aPoint) override
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:786
void OnUpdateCoordType(wxUpdateUIEvent &aEvent)
virtual void ReCreateHToolbar() override=0
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 SetFastGrid2()
Function SetFastGrid2()
const ZONE_SETTINGS & GetZoneSettings() const
void updateGridSelectBox()
const wxPoint & GetGridOrigin() const override
Function GetGridOrigin returns 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 ResetModuleTextSizes(const wxString &aFilter, bool aRef, bool aValue, bool aOthers)
Function ResetModuleTextSizes resets text size and width of all module text fields of given field typ...
void OnUpdatePadDrawMode(wxUpdateUIEvent &aEvent)
MODULE * LoadModuleFromLibrary(const wxString &aLibrary, FP_LIB_TABLE *aTable, bool aUseFootprintViewer=true, wxDC *aDC=NULL)
Function LoadModuleFromLibrary opens a dialog to select a footprint, and loads it into current board...
Definition: loadcmp.cpp:163
BOARD * GetBoard() const
void Rotate_Module(wxDC *DC, MODULE *module, double angle, bool incremental)
Definition: modules.cpp:430
EDA_UNITS_T m_UserGridUnit
void SetTitleBlock(const TITLE_BLOCK &aTitleBlock) override
void RotateTextModule(TEXTE_MODULE *Text, wxDC *DC)
Definition: edtxtmod.cpp:108
void SetNextGrid() override
Virtual function SetNextGrid() changes the grid size settings to the next one available.
Class LIB_ID.
Definition: lib_id.h:56
int ReadSetup(LINE_READER *aReader)
PCB_BASE_FRAME(KIWAY *aKiway, wxWindow *aParent, FRAME_T aFrameType, const wxString &aTitle, const wxPoint &aPos, const wxSize &aSize, long aStyle, const wxString &aFrameName)
Class EDA_DRAW_FRAME is the base class for create windows for drawing purpose.
Definition: draw_frame.h:53
MODULE * CreateNewModule(const wxString &aModuleName)
Function CreateNewModule Creates a new module or footprint, at position 0,0 The new module contains o...
Definition: librairi.cpp:743
Definition of base KiCad text object.
PCB_LAYER_ID m_Active_Layer
Class TITLE_BLOCK holds the information shown in the lower right corner of a plot, printout, or editing view.
Class BOARD_CONNECTED_ITEM is a base class derived from BOARD_ITEM for items that can be connected an...
void OnUpdateSelectZoom(wxUpdateUIEvent &aEvent)
int ReadListeSegmentDescr(LINE_READER *aReader, TRACK *PtSegm, int StructType, int NumSegm)
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
Function GetAuxOrigin returns the origin of the axis used for plotting and various exports...
void PlacePad(D_PAD *Pad, wxDC *DC)
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 CursorGoto(const wxPoint &aPos, bool aWarp=true)
Function CursorGoto positions the cursor at a given coordinate and reframes the drawing if the reques...
void PlaceModule(MODULE *aModule, wxDC *aDC, bool aDoNotRecreateRatsnest=false)
Function PlaceModule places aModule at the current cursor position and updates module coordinates wit...
Definition: modules.cpp:351
wxRealPoint m_UserGridSize
void Export_Pad_Settings(D_PAD *aPad)
GENERAL_COLLECTOR * m_Collector
void SetFastGrid1()
Function SetFastGrid1()
void RotatePad(D_PAD *Pad, wxDC *DC)
UNDO_REDO_T
Undo Redo considerations: Basically we have 3 cases New item Deleted item Modified item there is also...
void TestConnections()
Function TestConnections tests the connections relative to all nets.
Definition: connect.cpp:733
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:302
PCB_LAYER_ID
A quick note on layer IDs:
GENERAL_COLLECTORS_GUIDE GetCollectorsGuide()
Function GetCollectorsGuide.
virtual BASE_SCREEN * GetScreen() const
Function GetScreen returns a pointer to a BASE_SCREEN or one of its derivatives.
Definition: draw_frame.h:309
Class LSET is a set of PCB_LAYER_IDs.
void InstallTextModOptionsFrame(TEXTE_MODULE *TextMod, wxDC *DC)
virtual bool OnRightClick(const wxPoint &MousePos, wxMenu *PopMenu) override=0
void OnTogglePolarCoords(wxCommandEvent &aEvent)
Class PAGE_INFO describes the page size and margins of a paper page on which to eventually print or p...
void build_ratsnest_module(MODULE *aModule)
Function build_ratsnest_module Build a ratsnest relative to one footprint.
Definition: ratsnest.cpp:533
void RecalculateAllTracksNetcode()
Function RecalculateAllTracksNetcode search connections between tracks and pads and propagate pad net...
Definition: connect.cpp:861
Classes and definitions used in Pcbnew.
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:300
void OnUpdateSelectGrid(wxUpdateUIEvent &aEvent)
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).
void BuildAirWiresTargetsList(BOARD_CONNECTED_ITEM *aItemRef, const wxPoint &aPosition, bool aInit)
Function BuildAirWiresTargetsList Build a list of candidates that can be a coonection point when a tr...
Definition: ratsnest.cpp:836
Class KIWAY is a minimalistic software bus for communications between various DLLs/DSOs (DSOs) within...
Definition: kiway.h:257
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...
virtual void ReCreateVToolbar() override=0
void AddPad(MODULE *Module, bool draw)
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. ...
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...
DISPLAY_OPTIONS m_DisplayOptions
virtual double BestZoom() override
Function BestZoom.
void Compile_Ratsnest(wxDC *aDC, bool aDisplayStatus)
Function Compile_Ratsnest Create the entire board ratsnest.
Definition: ratsnest.cpp:165
Class DISPLAY_OPTIONS handles display options like enable/disable some optional drawings.
Definition: pcbstruct.h:62
virtual void SwitchLayer(wxDC *DC, PCB_LAYER_ID layer)
Class ZONE_SETTINGS handles zones parameters.
void PlaceTexteModule(TEXTE_MODULE *Text, wxDC *DC)
Definition: edtxtmod.cpp:227
virtual void OnCloseWindow(wxCloseEvent &Event)=0
void DeleteTextModule(TEXTE_MODULE *Text)
Definition: edtxtmod.cpp:139
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
Function UpdateStatusBar updates the status bar information.
Struct PARSE_ERROR contains a filename or source description, a problem input line, a line number, a byte offset, and an error message which contains the the caller's report and his call site information: CPP source file, function, and line number.
Definition: ki_exception.h:94
MODULE * LoadFootprint(const LIB_ID &aFootprintId)
Function LoadFootprint attempts to load aFootprintId from the footprint library table.
Definition: loadcmp.cpp:316
Class BOARD holds information pertinent to a Pcbnew printed circuit board.
Definition: class_board.h:166
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.
virtual void OnLeftClick(wxDC *DC, const wxPoint &MousePos) override=0
Class GENERAL_COLLECTOR is intended for use when the right click button is pressed, or when the plain "arrow" tool is in effect.
Definition: collectors.h:211
virtual void SetDesignSettings(const BOARD_DESIGN_SETTINGS &aSettings)
static DIRECTION_45::AngleType angle(const VECTOR2I &a, const VECTOR2I &b)
void GlobalChange_PadSettings(D_PAD *aPad, bool aSameFootprints, bool aPadShapeFilter, bool aPadOrientFilter, bool aPadLayerFilter, bool aRedraw, bool aSaveForUndo)
Function GlobalChange_PadSettings Function to change pad caracteristics for the given footprint or al...
Class EDA_RECT handles the component boundary box.
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.
Class EDA_ITEM is a base class for most all the KiCad significant classes, used in schematics and boa...
Definition: base_struct.h:151
void Build_Board_Ratsnest()
Function Build_Board_Ratsnest.
Definition: ratsnest.cpp:231
PCB_SCREEN * GetScreen() const override
Function GetScreen returns 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
Function GetPageSizeIU works off of GetPageSettings() to return the size of the paper page in the int...
void SetZoneSettings(const ZONE_SETTINGS &aSettings)
void SetAuxOrigin(const wxPoint &aPoint) override
Class EDA_3D_VIEWER Create and handle a window for the 3d viewer connected to a Kiway and a pcbboard...
Definition: eda_3d_viewer.h:50
wxString SelectLibrary(const wxString &aNicknameExisting)
Function SelectLibrary puts up a dialog and allows the user to pick a library, for unspecified use...
Definition: librairi.cpp:818
void InstallPadOptionsFrame(D_PAD *pad)
MODULE * GetFootprintFromBoardByReference()
Function GetFootprintFromBoardByReference.
Definition: modules.cpp:60
void StartMoveTexteModule(TEXTE_MODULE *Text, wxDC *DC)
Definition: edtxtmod.cpp:199
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 updateZoomSelectBox()
void SelectCopperLayerPair()
Definition: sel_layer.cpp:285
void UpdateMsgPanel() override
>
Class GENERAL_COLLECTORS_GUIDE is a general implementation of a COLLECTORS_GUIDE. ...
Definition: collectors.h:378
BOARD_ITEM * GetCurItem()
void ClearSelection()
EDA_3D_VIEWER * Get3DViewerFrame()
void ProcessItemSelection(wxCommandEvent &event)
Struct IO_ERROR is a class used to hold an error message and may be used when throwing exceptions con...
Definition: ki_exception.h:47
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:220
MODULE * loadFootprint(const LIB_ID &aFootprintId)
Function loadFootprint attempts to load aFootprintId from the footprint library table.
Definition: loadcmp.cpp:334
void Import_Pad_Settings(D_PAD *aPad, bool aDraw)
virtual PCB_LAYER_ID GetActiveLayer() const
Function GetActiveLayer returns the active layer.
wxAuiToolBar * m_auxiliaryToolBar
Auxiliary tool bar typically shown below the main tool bar at the top of the main window...
int ReadGeneralDescrPcb(LINE_READER *aReader)
class PCB_BASE_FRAME basic PCB main window class for Pcbnew, Gerbview, and CvPcb footprint viewer...
EDA_UNITS_T
Definition: common.h:144
EDA_ITEM * ReadDrawSegmentDescr(LINE_READER *aReader)
EDA_DRAW_PANEL_GAL::GAL_TYPE LoadCanvasTypeSetting() const
Function LoadCanvasTypeSetting() Returns the canvas type stored in the application settings...
wxString SelectFootprint(EDA_DRAW_FRAME *aWindow, const wxString &aLibraryName, const wxString &aMask, const wxString &aKeyWord, FP_LIB_TABLE *aTable)
Function SelectFootprint displays a list of modules found in all libraries or a given library...
Definition: loadcmp.cpp:354
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...
void SetPrevGrid() override
Virtual function SetPrevGrid() changes the grid size settings to the previous one available...