KiCad PCB EDA Suite
gerbview_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) 2016 Jean-Pierre Charras, jp.charras at wanadoo.fr
5  * Copyright (C) 2013 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 
30 #ifndef WX_GERBER_STRUCT_H
31 #define WX_GERBER_STRUCT_H
32 
33 
34 #include <config_params.h>
35 #include <draw_frame.h>
36 
37 #include <gerbview.h>
38 #include <class_gbr_layout.h>
39 #include <class_gbr_screen.h>
40 #include <class_page_info.h>
42 
43 #define NO_AVAILABLE_LAYERS UNDEFINED_LAYER
44 
48 class GERBER_DRAW_ITEM;
49 class GERBER_FILE_IMAGE;
51 class REPORTER;
52 
53 
59 #define GERBVIEW_FRAME_NAME wxT( "GerberFrame" )
60 
61 class GERBVIEW_FRAME : public EDA_DRAW_FRAME // PCB_BASE_FRAME
62 {
65  PAGE_INFO m_paper; // used only to show paper limits to screen
66 
67 public:
69 
76  void SetLayout( GBR_LAYOUT* aLayout )
77  {
78  delete m_gerberLayout;
79  m_gerberLayout = aLayout;
80  }
81 
83  {
84  wxASSERT( m_gerberLayout );
85  return m_gerberLayout;
86  }
87 
92  {
93  return m_gerberLayout->GetImagesList();
94  }
95 
96  GERBER_FILE_IMAGE* GetGbrImage( int aIdx ) const;
97 
98  unsigned ImagesMaxCount() const;
99 
100 
107 
108  void SetPageSettings( const PAGE_INFO& aPageSettings ) override;
109  const PAGE_INFO& GetPageSettings() const override;
110  const wxSize GetPageSizeIU() const override;
111 
112  const wxPoint& GetAuxOrigin() const override;
113  void SetAuxOrigin( const wxPoint& aPoint ) override;
114 
115  const wxPoint& GetGridOrigin() const override { return m_grid_origin; }
116  void SetGridOrigin( const wxPoint& aPoint ) override
117  {
118  m_grid_origin = aPoint;
119  }
120 
121  const TITLE_BLOCK& GetTitleBlock() const override;
122  void SetTitleBlock( const TITLE_BLOCK& aTitleBlock ) override;
123 
134  void SetCurItem( GERBER_DRAW_ITEM* aItem, bool aDisplayInfo = true );
135 
151  int SelectPCBLayer( int aDefaultLayer, int aOpperLayerCount, bool aNullLayer = false );
152 
153 protected:
155 
156  // Auxiliary file history used to store zip files history.
157  wxFileHistory m_zipFileHistory;
158 
159  // Auxiliary file history used to store drill files history.
160  wxFileHistory m_drillFileHistory;
161 
163  wxString m_lastFileName;
164 
165 public:
166  wxChoice* m_SelComponentBox; // a choice box to display and highlight component graphic items
167  wxChoice* m_SelNetnameBox; // a choice box to display and highlight netlist graphic items
168  wxChoice* m_SelAperAttributesBox; // a choice box to display aperture attributes and highlight items
169  GBR_LAYER_BOX_SELECTOR* m_SelLayerBox; // The combobox to select the current active graphic layer
170  // (which is drawn on top on the other layers
171  DCODE_SELECTION_BOX* m_DCodeSelector; // a list box to select the dcode Id to highlight.
172  wxTextCtrl* m_TextInfo; // a wxTextCtrl used to display some info about
173  // gerber data (format..)
174 
175 private:
178  wxAuiToolBar* m_auxiliaryToolBar;
179 
180  // list of PARAM_CFG_xxx to read/write parameters saved in config
183 
184  int m_displayMode; // Gerber images ("layers" in Gerbview) can be drawn:
185  // - in fast mode (write mode) but if there are negative
186  // items only the last image is correctly drawn (no
187  // problem to see only one image or when no negative items)
188  // - in "exact" mode (but slower) in write mode:
189  // last image covers previous images
190  // - in "exact" mode (also slower) in OR mode
191  // (transparency mode)
192  // m_displayMode = 0, 1 or 2
193 
195 
199  void updateDCodeSelectBox();
200  virtual void unitsChangeRefresh() override; // See class EDA_DRAW_FRAME
201 
202  // An array string to store warning messages when reading a gerber file.
203  wxArrayString m_Messages;
204 
205 public:
206  GERBVIEW_FRAME( KIWAY* aKiway, wxWindow* aParent );
207  ~GERBVIEW_FRAME();
208 
209  void OnCloseWindow( wxCloseEvent& Event );
210 
211  bool OpenProjectFiles( const std::vector<wxString>& aFileSet, int aCtl ) override;
212 
213  // Virtual basic functions:
214  void RedrawActiveWindow( wxDC* DC, bool EraseBg ) override;
215  void ReCreateHToolbar() override;
216  void ReCreateAuxiliaryToolbar() override;
217 
224  void ReCreateVToolbar() override;
225 
229  void ReCreateOptToolbar();
230 
231  void ReCreateMenuBar() override;
232  void OnLeftClick( wxDC* aDC, const wxPoint& aMousePos ) override;
233  void OnLeftDClick( wxDC* aDC, const wxPoint& aMousePos ) override;
234  bool OnRightClick( const wxPoint& aMousePos, wxMenu* aPopMenu ) override;
235  void OnUpdateSelectTool( wxUpdateUIEvent& aEvent );
236  double BestZoom() override;
237  void UpdateStatusBar() override;
238 
245  const wxString GetZoomLevelIndicator() const override;
246 
253  void ReportMessage( const wxString aMessage )
254  {
255  m_Messages.Add( aMessage );
256  }
257 
264  {
265  m_Messages.Clear();
266  }
267 
274  int GetDisplayMode() { return m_displayMode; }
275 
282  void SetDisplayMode( int aMode ) { m_displayMode = aMode; }
283 
291  bool IsElementVisible( GERBER_VISIBLE_ID aItemIdVisible ) const;
292 
300  void SetElementVisibility( GERBER_VISIBLE_ID aItemIdVisible, bool aNewState );
301 
307  void SetGridVisibility( bool aVisible ) override;
308 
315  long GetVisibleLayers() const;
316 
323  void SetVisibleLayers( long aLayerMask );
324 
331  bool IsLayerVisible( int aLayer ) const;
332 
337  COLOR4D GetVisibleElementColor( GERBER_VISIBLE_ID aItemIdVisible ) const;
338 
339  void SetVisibleElementColor( GERBER_VISIBLE_ID aItemIdVisible, COLOR4D aColor );
340 
345  COLOR4D GetLayerColor( int aLayer ) const;
346 
351  void SetLayerColor( int aLayer, COLOR4D aColor );
352 
360 
367  {
368  return m_DisplayOptions.m_DisplayLinesFill;
369  }
370 
377  {
378  return m_DisplayOptions.m_DisplayPolygonsFill;
379  }
380 
387  {
388  return m_DisplayOptions.m_DisplayFlashedItemsFill;
389  }
390 
396  void ReFillLayerWidget();
397 
403  void setActiveLayer( int aLayer, bool doLayerWidgetUpdate = true );
404 
409  int getActiveLayer();
410 
418  int getNextAvailableLayer( int aLayer = 0 ) const;
419 
420  bool hasAvailableLayers() const
421  {
423  }
424 
433  void syncLayerWidget();
434 
443  void syncLayerBox( bool aRebuildLayerBox = false );
444 
454  void UpdateTitleAndInfo();
455 
466 
467  void LoadSettings( wxConfigBase* aCfg ) override;
468 
469  void SaveSettings( wxConfigBase* aCfg ) override;
470 
471  void ShowChangedLanguage() override;
472 
473  void Process_Special_Functions( wxCommandEvent& event );
474  void OnSelectOptionToolbar( wxCommandEvent& event );
475 
481  void OnSelectActiveDCode( wxCommandEvent& event );
482 
489  void OnSelectActiveLayer( wxCommandEvent& event );
490 
496  void OnShowGerberSourceFile( wxCommandEvent& event );
497 
504  void OnSelectDisplayMode( wxCommandEvent& event );
505 
510  void OnQuit( wxCommandEvent& event );
511 
513  EDA_HOTKEY* GetHotKeyDescription( int aCommand ) const override;
514 
524  bool OnHotKey( wxDC* aDC, int aHotkeyCode, const wxPoint& aPosition, EDA_ITEM* aItem = NULL ) override;
525 
526  GERBER_DRAW_ITEM* Locate( const wxPoint& aPosition, int typeloc );
527 
528  void Process_Config( wxCommandEvent& event );
529  void InstallGerberOptionsDialog( wxCommandEvent& event );
530 
531  void OnUpdateDrawMode( wxUpdateUIEvent& aEvent );
532  void OnUpdateCoordType( wxUpdateUIEvent& aEvent );
533  void OnUpdateFlashedItemsDrawMode( wxUpdateUIEvent& aEvent );
534  void OnUpdateLinesDrawMode( wxUpdateUIEvent& aEvent );
535  void OnUpdatePolygonsDrawMode( wxUpdateUIEvent& aEvent );
536  void OnUpdateShowDCodes( wxUpdateUIEvent& aEvent );
537  void OnUpdateShowNegativeItems( wxUpdateUIEvent& aEvent );
538  void OnUpdateShowLayerManager( wxUpdateUIEvent& aEvent );
539  void OnUpdateSelectDCode( wxUpdateUIEvent& aEvent );
540  void OnUpdateLayerSelectBox( wxUpdateUIEvent& aEvent );
541 
547  virtual int BlockCommand( EDA_KEY key ) override;
548 
553  virtual void HandleBlockPlace( wxDC* DC ) override;
554 
566  virtual bool HandleBlockEnd( wxDC* DC ) override;
567 
574  void Block_Move();
575 
580  void ToPrinter( wxCommandEvent& event );
581 
582  void Files_io( wxCommandEvent& event );
583 
589  void OnGbrFileHistory( wxCommandEvent& event );
590 
596  void OnDrlFileHistory( wxCommandEvent& event );
597 
603  void OnZipFileHistory( wxCommandEvent& event );
604 
611  bool unarchiveFiles( const wxString& aFullFileName,
612  REPORTER* aReporter = nullptr );
613 
622  bool LoadGerberFiles( const wxString& aFileName );
623  bool Read_GERBER_File( const wxString& GERBER_FullFileName );
624 
633  bool LoadExcellonFiles( const wxString& aFileName );
634  bool Read_EXCELLON_File( const wxString& aFullFileName );
635 
644  bool LoadZipArchiveFile( const wxString& aFileName );
645 
646  bool GeneralControl( wxDC* aDC, const wxPoint& aPosition, EDA_KEY aHotKey = 0 ) override;
647 
651  void Liste_D_Codes();
652 
653  // PCB handling
654  bool Clear_DrawLayers( bool query );
655  void Erase_Current_DrawLayer( bool query );
656 
657  // Conversion function
658  void ExportDataInPcbnewFormat( wxCommandEvent& event );
659 
660  /* SaveCopyInUndoList() virtual
661  * currently: do nothing in GerbView.
662  */
664  UNDO_REDO_T aTypeCommand = UR_UNSPECIFIED,
665  const wxPoint& aTransformPoint = wxPoint( 0, 0 ) ) { }
666 
676  void SaveCopyInUndoList( const PICKED_ITEMS_LIST& aItemsList,
677  UNDO_REDO_T aTypeCommand,
678  const wxPoint& aTransformPoint = wxPoint( 0, 0 ) )
679  {
680  // currently: do nothing in GerbView.
681  }
682 
690  virtual void PrintPage( wxDC* aDC, LSET aPrintMasklayer, bool aPrintMirrorMode,
691  void* aData = NULL ) override;
692 
693  DECLARE_EVENT_TABLE()
694 };
695 
696 #endif /* WX_GERBER_STRUCT_H */
Class GBR_LAYOUT holds list of GERBER_DRAW_ITEM currently loaded.
GERBER_FILE_IMAGE_LIST * GetImagesList()
void SetTitleBlock(const TITLE_BLOCK &aTitleBlock) override
A list of parameters type.
bool m_DisplayPolygonsFill
Option to draw polygons (filled/sketch)
wxString m_lastFileName
The last filename chosen to be proposed to the user.
void OnLeftDClick(wxDC *aDC, const wxPoint &aMousePos) override
bool Clear_DrawLayers(bool query)
const wxSize GetPageSizeIU() const override
Function GetPageSizeIU works off of GetPageSettings() to return the size of the paper page in the int...
void OnUpdateSelectDCode(wxUpdateUIEvent &aEvent)
void SetElementVisibility(GERBER_VISIBLE_ID aItemIdVisible, bool aNewState)
Function SetElementVisibility changes the visibility of an element category.
void Block_Move()
Function Block_Move moves all tracks and segments within the selected block.
void Files_io(wxCommandEvent &event)
void UpdateStatusBar() override
Function UpdateStatusBar updates the status bar information.
void OnUpdateSelectTool(wxUpdateUIEvent &aEvent)
EDA_RECT GetGerberLayoutBoundingBox()
Function GetGerberLayoutBoundingBox calculates the bounding box containing all gerber items...
virtual int BlockCommand(EDA_KEY key) override
Function BlockCommand returns the block command (BLOCK_MOVE, BLOCK_COPY...) corresponding to the aKey...
void syncLayerBox(bool aRebuildLayerBox=false)
Function syncLayerBox updates the currently "selected" layer within m_SelLayerBox The currently activ...
int GetDisplayMode()
Function GetDisplayMode.
void SetAuxOrigin(const wxPoint &aPoint) override
void SetCurItem(GERBER_DRAW_ITEM *aItem, bool aDisplayInfo=true)
Function SetCurItem sets the currently selected item and displays it in the MsgPanel.
bool DisplayPolygonsSolidMode()
Function DisplayPolygonsSolidMode.
const wxPoint & GetAuxOrigin() const override
Function GetAuxOrigin returns the origin of the axis used for plotting and various exports...
void OnQuit(wxCommandEvent &event)
Function OnQuit called on request of application quit.
void SetPageSettings(const PAGE_INFO &aPageSettings) override
const TITLE_BLOCK & GetTitleBlock() const override
GERBER_LAYER_WIDGET * m_LayersManager
void OnUpdateFlashedItemsDrawMode(wxUpdateUIEvent &aEvent)
bool OpenProjectFiles(const std::vector< wxString > &aFileSet, int aCtl) override
bool Read_GERBER_File(const wxString &GERBER_FullFileName)
Definition: readgerb.cpp:39
Class GERBER_FILE_IMAGE holds the Image data and parameters for one gerber file and layer parameters ...
void OnGbrFileHistory(wxCommandEvent &event)
Function OnGbrFileHistory deletes the current data and loads a Gerber file selected from history list...
GBR_LAYER_BOX_SELECTOR * m_SelLayerBox
void SaveCopyInUndoList(GERBER_DRAW_ITEM *aItemToCopy, UNDO_REDO_T aTypeCommand=UR_UNSPECIFIED, const wxPoint &aTransformPoint=wxPoint(0, 0))
The common library.
void OnUpdateLayerSelectBox(wxUpdateUIEvent &aEvent)
void updateNetnameListSelectBox()
wxFileHistory m_drillFileHistory
void Process_Config(wxCommandEvent &event)
Class REPORTER is a pure virtual class used to derive REPORTER objects from.
Definition: reporter.h:61
void Erase_Current_DrawLayer(bool query)
Class EDA_DRAW_FRAME is the base class for create windows for drawing purpose.
Definition: draw_frame.h:53
GERBER_FILE_IMAGE_LIST is a helper class to handle a list of GERBER_FILE_IMAGE files which are loaded...
void SetVisibleLayers(long aLayerMask)
Function SetVisibleLayers is a proxy function that calls the correspondent function in m_BoardSetting...
Class TITLE_BLOCK holds the information shown in the lower right corner of a plot, printout, or editing view.
void OnSelectActiveDCode(wxCommandEvent &event)
Function OnSelectActiveDCode Selects the active DCode for the current active layer.
wxChoice * m_SelNetnameBox
void SaveSettings(wxConfigBase *aCfg) override
Function SaveSettings saves common frame parameters to a configuration data file. ...
int getNextAvailableLayer(int aLayer=0) const
Function getNextAvailableLayer finds the next empty layer starting at aLayer and returns it to the ca...
bool m_DisplayLinesFill
Option to draw line items (filled/sketch)
void SetGridVisibility(bool aVisible) override
Function SetGridVisibility(), virtual from EDA_DRAW_FRAME It may be overloaded by derived classes...
GERBVIEW_FRAME(KIWAY *aKiway, wxWindow *aParent)
long GetVisibleLayers() const
Function GetVisibleLayers is a proxy function that calls the correspondent function in m_BoardSetting...
void OnSelectDisplayMode(wxCommandEvent &event)
Function OnSelectDisplayMode called on a display mode selection Mode selection can be fast display...
void ReCreateHToolbar() override
bool OnRightClick(const wxPoint &aMousePos, wxMenu *aPopMenu) override
void SetGridOrigin(const wxPoint &aPoint) override
void updateComponentListSelectBox()
void ClearMessageList()
Function ClearMessageList Clear the message list Call it before reading a Gerber file.
UNDO_REDO_T
Undo Redo considerations: Basically we have 3 cases New item Deleted item Modified item there is also...
virtual void HandleBlockPlace(wxDC *DC) override
Function HandleBlockPlace handles the block place command.
Class LSET is a set of LAYER_IDs.
bool unarchiveFiles(const wxString &aFullFileName, REPORTER *aReporter=nullptr)
Extracts gerber and drill files from the zip archive, and load them.
unsigned ImagesMaxCount() const
The max number of file images.
PAGE_INFO m_paper
void ReCreateAuxiliaryToolbar() override
virtual void unitsChangeRefresh() override
Function unitsChangeRefresh is called when when the units setting has changed to allow for any derive...
void ReCreateVToolbar() override
Function ReCreateVToolbar creates or updates the right vertical toolbar.
PARAM_CFG_ARRAY m_configSettings
#define NO_AVAILABLE_LAYERS
bool LoadGerberFiles(const wxString &aFileName)
function LoadGerberFiles Load a photoplot (Gerber) file or many files.
Class GBR_DISPLAY_OPTIONS is a helper class to handle display options (filling modes and afew other o...
Class PAGE_INFO describes the page size and margins of a paper page on which to eventually print or p...
bool LoadZipArchiveFile(const wxString &aFileName)
function LoadZipArchiveFileLoadZipArchiveFile Load a zipped archive file.
COLORS_DESIGN_SETTINGS * m_colorsSettings
GBR_DISPLAY_OPTIONS m_DisplayOptions
bool m_DisplayFlashedItemsFill
Option to draw flashed items (filled/sketch)
void OnUpdatePolygonsDrawMode(wxUpdateUIEvent &aEvent)
void ShowChangedLanguage() override
Function ShowChangedLanguage redraws the menus and what not in current language.
double BestZoom() override
Return the zoom level which displays the full page on screen.
GBR_LAYOUT * m_gerberLayout
Class KIWAY is a minimalistic software bus for communications between various DLLs/DSOs (DSOs) within...
Definition: kiway.h:257
uint32_t EDA_KEY
Definition: common.h:53
const wxPoint & GetGridOrigin() const override
Function GetGridOrigin returns the absolute coordinates of the origin of the snap grid...
GBR_LAYOUT * GetGerberLayout() const
Class GERBER_LAYER_WIDGET is here to implement the abtract functions of LAYER_WIDGET so they may be t...
GERBER_FILE_IMAGE_LIST * GetImagesList() const
Accessors to GERBER_FILE_IMAGE_LIST and GERBER_FILE_IMAGE data.
void OnLeftClick(wxDC *aDC, const wxPoint &aMousePos) override
EDA_HOTKEY * GetHotKeyDescription(int aCommand) const override
>
void OnUpdateShowNegativeItems(wxUpdateUIEvent &aEvent)
Class PICKED_ITEMS_LIST is a holder to handle information on schematic or board items.
void RedrawActiveWindow(wxDC *DC, bool EraseBg) override
void LoadSettings(wxConfigBase *aCfg) override
Function LoadSettings loads common frame parameters from a configuration file.
void OnCloseWindow(wxCloseEvent &Event)
bool IsLayerVisible(int aLayer) const
Function IsLayerVisible tests whether a given layer is visible.
void OnShowGerberSourceFile(wxCommandEvent &event)
Function OnShowGerberSourceFile Call the preferred editor to show (and edit) the gerber source file l...
bool GeneralControl(wxDC *aDC, const wxPoint &aPosition, EDA_KEY aHotKey=0) override
Function GeneralControl performs application specific control using aDC at aPosition in logical units...
GERBER_DRAW_ITEM * Locate(const wxPoint &aPosition, int typeloc)
Definition: locate.cpp:43
void ReportMessage(const wxString aMessage)
Function ReportMessage Add a message (a string) in message list for instance when reading a Gerber fi...
void ReCreateOptToolbar()
Create or update the left vertical toolbar (option toolbar.
wxArrayString m_Messages
void OnSelectOptionToolbar(wxCommandEvent &event)
void setActiveLayer(int aLayer, bool doLayerWidgetUpdate=true)
Function setActiveLayer will change the currently active layer to aLayer and also update the GERBER_L...
void OnUpdateShowDCodes(wxUpdateUIEvent &aEvent)
bool DisplayLinesSolidMode()
Function DisplayLinesSolidMode.
virtual bool HandleBlockEnd(wxDC *DC) override
Function HandleBlockEnd( ) handles the end of a block command, It is called at the end of the definit...
wxTextCtrl * m_TextInfo
DCODE_SELECTION_BOX * m_DCodeSelector
void ExportDataInPcbnewFormat(wxCommandEvent &event)
wxAuiToolBar * m_auxiliaryToolBar
Auxiliary tool bar typically shown below the main tool bar at the top of the main window...
COLOR4D GetNegativeItemsColor() const
Function GetNegativeItemsColor.
wxFileHistory m_zipFileHistory
const PAGE_INFO & GetPageSettings() const override
void SetVisibleElementColor(GERBER_VISIBLE_ID aItemIdVisible, COLOR4D aColor)
COLOR4D GetLayerColor(int aLayer) const
Function GetLayerColor gets a layer color for any valid layer.
bool DisplayFlashedItemsSolidMode()
Function DisplayFlashedItemsSolidMode.
void updateAperAttributesSelectBox()
wxChoice * m_SelAperAttributesBox
class EDA_HOTKEY is a class to handle hot key commands.
Definition: hotkeys_basic.h:57
PARAM_CFG_ARRAY & GetConfigurationSettings(void)
Function GetConfigurationSettings Populates the GerbView applications settings list.
void OnUpdateDrawMode(wxUpdateUIEvent &aEvent)
void SaveCopyInUndoList(const PICKED_ITEMS_LIST &aItemsList, UNDO_REDO_T aTypeCommand, const wxPoint &aTransformPoint=wxPoint(0, 0))
Function SaveCopyInUndoList (overloaded).
Class EDA_RECT handles the component boundary box.
int getActiveLayer()
Function getActiveLayer returns the active layer.
void OnUpdateCoordType(wxUpdateUIEvent &aEvent)
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 SetLayerColor(int aLayer, COLOR4D aColor)
Function SetLayerColor changes a layer color for any valid layer.
wxPoint m_grid_origin
void syncLayerWidget()
Function syncLayerWidget updates the currently "selected" layer within the GERBER_LAYER_WIDGET.
Class COLORS_DESIGN_SETTINGS is a list of color settings for designs in Eeschema, Pcbnew and GerbView...
wxChoice * m_SelComponentBox
void OnDrlFileHistory(wxCommandEvent &event)
Function OnDrlFileHistory deletes the current data and load a drill file in Excellon format selected ...
bool hasAvailableLayers() const
void ToPrinter(wxCommandEvent &event)
Function ToPrinter Open a dialog frame to print layers.
void InstallGerberOptionsDialog(wxCommandEvent &event)
bool LoadExcellonFiles(const wxString &aFileName)
function LoadExcellonFiles Load a drill (EXCELLON) file or many files.
void OnZipFileHistory(wxCommandEvent &event)
Function OnZipFileHistory deletes the current data and load a zip archive file selected from the hist...
GERBER_FILE_IMAGE * GetGbrImage(int aIdx) const
bool m_show_layer_manager_tools
void ReCreateMenuBar() override
Function ReCreateMenuBar Creates recreates the menu bar.
COLOR4D GetVisibleElementColor(GERBER_VISIBLE_ID aItemIdVisible) const
Function GetVisibleElementColor returns the color of a gerber visible element.
virtual void PrintPage(wxDC *aDC, LSET aPrintMasklayer, bool aPrintMirrorMode, void *aData=NULL) override
Virtual function PrintPage used to print a page.
void SetLayout(GBR_LAYOUT *aLayout)
Function SetLayout sets the m_gerberLayout member in such as way as to ensure deleting any previous G...
Class CLASS_GBR_LAYOUT to handle info to draw/print loaded Gerber images and page frame reference...
GERBER_VISIBLE_ID
Enum GERBER_VISIBLE_ID is a set of visible GERBVIEW elements.
Definition: gerbview.h:51
void Liste_D_Codes()
Set Size Items (Lines, Flashes) from DCodes List.
bool IsElementVisible(GERBER_VISIBLE_ID aItemIdVisible) const
Function IsElementVisible tests whether a given element category is visible.
bool OnHotKey(wxDC *aDC, int aHotkeyCode, const wxPoint &aPosition, EDA_ITEM *aItem=NULL) override
Function OnHotKey.
void ReFillLayerWidget()
Function ReFillLayerWidget changes out all the layers in m_Layers and may be called upon loading new ...
void Process_Special_Functions(wxCommandEvent &event)
void OnSelectActiveLayer(wxCommandEvent &event)
Function OnSelectActiveLayer Selects the active layer:
void UpdateTitleAndInfo()
Function UpdateTitleAndInfo displays the short filename (if exists) of the selected layer on the capt...
void SetDisplayMode(int aMode)
Function SetDisplayMode.
void OnUpdateLinesDrawMode(wxUpdateUIEvent &aEvent)
int SelectPCBLayer(int aDefaultLayer, int aOpperLayerCount, bool aNullLayer=false)
Install the dialog box for layer selection.
void OnUpdateShowLayerManager(wxUpdateUIEvent &aEvent)
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
bool Read_EXCELLON_File(const wxString &aFullFileName)