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@gmail.com>
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 modify it
9  * under the terms of the GNU General Public License as published by the
10  * Free Software Foundation, either version 3 of the License, or (at your
11  * option) any later version.
12  *
13  * This program is distributed in the hope that it will be useful, but
14  * WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16  * General Public License for more details.
17  *
18  * You should have received a copy of the GNU General Public License along
19  * with this program. If not, see <http://www.gnu.org/licenses/>.
20  */
21 
26 #ifndef WX_GERBER_STRUCT_H
27 #define WX_GERBER_STRUCT_H
28 
29 
30 #include <config_params.h>
31 #include <draw_frame.h>
33 
34 #include <gerbview.h>
35 #include <convert_to_biu.h>
36 #include <gbr_layout.h>
37 #include <gbr_screen.h>
38 #include <page_info.h>
39 #include <gbr_display_options.h>
40 #include <colors_design_settings.h>
41 
43 
44 #define NO_AVAILABLE_LAYERS UNDEFINED_LAYER
45 
49 class GERBER_DRAW_ITEM;
50 class GERBER_FILE_IMAGE;
52 class REPORTER;
53 
54 
60 #define GERBVIEW_FRAME_NAME wxT( "GerberFrame" )
61 
62 class GERBVIEW_FRAME : public EDA_DRAW_FRAME // PCB_BASE_FRAME
63 {
66  PAGE_INFO m_paper; // used only to show paper limits to screen
67 
68 public:
70 
77  void SetLayout( GBR_LAYOUT* aLayout )
78  {
79  delete m_gerberLayout;
80  m_gerberLayout = aLayout;
81  }
82 
84  {
85  wxASSERT( m_gerberLayout );
86  return m_gerberLayout;
87  }
88 
93  {
94  return m_gerberLayout->GetImagesList();
95  }
96 
97  GERBER_FILE_IMAGE* GetGbrImage( int aIdx ) const;
98 
99  unsigned ImagesMaxCount() const;
100 
101 
108 
109  void SetPageSettings( const PAGE_INFO& aPageSettings ) override;
110  const PAGE_INFO& GetPageSettings() const override;
111  const wxSize GetPageSizeIU() const override;
112 
113  const wxPoint& GetAuxOrigin() const override;
114  void SetAuxOrigin( const wxPoint& aPoint ) override;
115 
116  const wxPoint& GetGridOrigin() const override { return m_grid_origin; }
117  void SetGridOrigin( const wxPoint& aPoint ) override
118  {
119  m_grid_origin = aPoint;
120  }
121 
122  const TITLE_BLOCK& GetTitleBlock() const override;
123  void SetTitleBlock( const TITLE_BLOCK& aTitleBlock ) override;
124 
135  void SetCurItem( GERBER_DRAW_ITEM* aItem, bool aDisplayInfo = true );
136 
152  int SelectPCBLayer( int aDefaultLayer, int aOpperLayerCount, bool aNullLayer = false );
153 
155  virtual void SetGridColor( COLOR4D aColor ) override;
156 
157 protected:
159 
160  // Auxiliary file history used to store zip files history.
161  wxFileHistory m_zipFileHistory;
162 
163  // Auxiliary file history used to store drill files history.
164  wxFileHistory m_drillFileHistory;
165 
166  // Auxiliary file history used to store job files history.
167  wxFileHistory m_jobFileHistory;
168 
170  wxString m_lastFileName;
171 
172 public:
173  wxChoice* m_SelComponentBox; // a choice box to display and highlight component graphic items
174  wxChoice* m_SelNetnameBox; // a choice box to display and highlight netlist graphic items
175  wxChoice* m_SelAperAttributesBox; // a choice box to display aperture attributes and highlight items
176  GBR_LAYER_BOX_SELECTOR* m_SelLayerBox; // The combobox to select the current active graphic layer
177  // (which is drawn on top on the other layers
178  DCODE_SELECTION_BOX* m_DCodeSelector; // a list box to select the dcode Id to highlight.
179  wxTextCtrl* m_TextInfo; // a wxTextCtrl used to display some info about
180  // gerber data (format..)
181 
183 
184 private:
185  // list of PARAM_CFG_xxx to read/write parameters saved in config
187 
188  int m_displayMode; // Gerber images ("layers" in Gerbview) can be drawn:
189  // - in fast mode (write mode) but if there are negative
190  // items only the last image is correctly drawn (no
191  // problem to see only one image or when no negative items)
192  // - in "exact" mode (but slower) in write mode:
193  // last image covers previous images
194  // - in "exact" mode (also slower) in OR mode
195  // (transparency mode)
196  // m_displayMode = 0, 1 or 2
197 
199 
203  void updateDCodeSelectBox();
204  virtual void unitsChangeRefresh() override; // See class EDA_DRAW_FRAME
205 
206  // The Tool Framework initalization
207  void setupTools();
208 
209  // An array string to store warning messages when reading a gerber file.
210  wxArrayString m_Messages;
211 
214 
221  bool loadListOfGerberFiles( const wxString& aPath, const wxArrayString& aFilenameList );
222 
223 public:
224  GERBVIEW_FRAME( KIWAY* aKiway, wxWindow* aParent );
225  ~GERBVIEW_FRAME();
226 
227  void OnCloseWindow( wxCloseEvent& Event );
228 
229  bool OpenProjectFiles( const std::vector<wxString>& aFileSet, int aCtl ) override;
230 
231  // Virtual basic functions:
232  void RedrawActiveWindow( wxDC* DC, bool EraseBg ) override;
233  void ReCreateHToolbar() override;
234  void ReCreateAuxiliaryToolbar() override;
235 
242  void ReCreateVToolbar() override;
243 
247  void ReCreateOptToolbar();
248 
249  void ReCreateMenuBar() override;
250  void OnLeftClick( wxDC* aDC, const wxPoint& aMousePos ) override;
251  void OnLeftDClick( wxDC* aDC, const wxPoint& aMousePos ) override;
252  bool OnRightClick( const wxPoint& aMousePos, wxMenu* aPopMenu ) override;
253  void OnUpdateSelectTool( wxUpdateUIEvent& aEvent );
254  double BestZoom() override;
255  void UpdateStatusBar() override;
256 
263  const wxString GetZoomLevelIndicator() const override;
264 
271  void ReportMessage( const wxString aMessage )
272  {
273  m_Messages.Add( aMessage );
274  }
275 
282  {
283  m_Messages.Clear();
284  }
285 
292  int GetDisplayMode() { return m_displayMode; }
293 
300  void SetDisplayMode( int aMode ) { m_displayMode = aMode; }
301 
309  bool IsElementVisible( GERBVIEW_LAYER_ID aItemIdVisible ) const;
310 
318  void SetElementVisibility( GERBVIEW_LAYER_ID aItemIdVisible, bool aNewState );
319 
325  void SetGridVisibility( bool aVisible ) override;
326 
333  long GetVisibleLayers() const;
334 
341  void SetVisibleLayers( long aLayerMask );
342 
349  bool IsLayerVisible( int aLayer ) const;
350 
356 
357  void SetVisibleElementColor( GERBVIEW_LAYER_ID aItemIdVisible, COLOR4D aColor );
358 
363  COLOR4D GetLayerColor( int aLayer ) const;
364 
369  void SetLayerColor( int aLayer, COLOR4D aColor );
370 
378 
385  {
386  return m_DisplayOptions.m_DisplayLinesFill;
387  }
388 
395  {
396  return m_DisplayOptions.m_DisplayPolygonsFill;
397  }
398 
405  {
406  return m_DisplayOptions.m_DisplayFlashedItemsFill;
407  }
408 
414  void ReFillLayerWidget();
415 
421  void SetActiveLayer( int aLayer, bool doLayerWidgetUpdate = true );
422 
427  int GetActiveLayer();
428 
436  int getNextAvailableLayer( int aLayer = 0 ) const;
437 
438  bool hasAvailableLayers() const
439  {
441  }
442 
451  void syncLayerWidget();
452 
461  void syncLayerBox( bool aRebuildLayerBox = false );
462 
472  void UpdateTitleAndInfo();
473 
484 
485  void LoadSettings( wxConfigBase* aCfg ) override;
486 
487  void SaveSettings( wxConfigBase* aCfg ) override;
488 
489  void OnToggleCoordType( wxCommandEvent& aEvent );
490  void OnToggleFlashItemDrawMode( wxCommandEvent& aEvent );
491  void OnToggleLineDrawMode( wxCommandEvent& aEvent );
492  void OnTogglePolygonDrawMode( wxCommandEvent& aEvent );
493  void OnToggleShowLayerManager( wxCommandEvent& aEvent );
494 
495  void ShowChangedLanguage() override;
496 
497  void Process_Special_Functions( wxCommandEvent& event );
498  void OnSelectOptionToolbar( wxCommandEvent& event );
499 
501  void OnSelectHighlightChoice( wxCommandEvent& event );
502 
508  void OnSelectActiveDCode( wxCommandEvent& event );
509 
516  void OnSelectActiveLayer( wxCommandEvent& event );
517 
523  void OnShowGerberSourceFile( wxCommandEvent& event );
524 
531  void OnSelectDisplayMode( wxCommandEvent& event );
532 
537  void OnQuit( wxCommandEvent& event );
538 
540  EDA_HOTKEY* GetHotKeyDescription( int aCommand ) const override;
541 
551  bool OnHotKey( wxDC* aDC, int aHotkeyCode, const wxPoint& aPosition, EDA_ITEM* aItem = NULL ) override;
552 
553  GERBER_DRAW_ITEM* Locate( const wxPoint& aPosition, int typeloc );
554 
555  void Process_Config( wxCommandEvent& event );
556  void InstallGerberOptionsDialog( wxCommandEvent& event );
557 
558  void OnUpdateDrawMode( wxUpdateUIEvent& aEvent );
559  void OnUpdateCoordType( wxUpdateUIEvent& aEvent );
560  void OnUpdateFlashedItemsDrawMode( wxUpdateUIEvent& aEvent );
561  void OnUpdateLineDrawMode( wxUpdateUIEvent& aEvent );
562  void OnUpdatePolygonDrawMode( wxUpdateUIEvent& aEvent );
563  void OnUpdateShowDCodes( wxUpdateUIEvent& aEvent );
564  void OnUpdateShowNegativeItems( wxUpdateUIEvent& aEvent );
565  void OnUpdateShowLayerManager( wxUpdateUIEvent& aEvent );
566  void OnUpdateSelectDCode( wxUpdateUIEvent& aEvent );
567  void OnUpdateLayerSelectBox( wxUpdateUIEvent& aEvent );
568  void OnUpdateDiffMode( wxUpdateUIEvent& aEvent );
569  void OnUpdateHighContrastMode( wxUpdateUIEvent& aEvent );
570 
576  virtual int BlockCommand( EDA_KEY key ) override;
577 
582  virtual void HandleBlockPlace( wxDC* DC ) override;
583 
595  virtual bool HandleBlockEnd( wxDC* DC ) override;
596 
603  void Block_Move();
604 
609  void ToPrinter( wxCommandEvent& event );
610 
611  void Files_io( wxCommandEvent& event );
612 
618  void OnGbrFileHistory( wxCommandEvent& event );
619 
625  void OnDrlFileHistory( wxCommandEvent& event );
626 
632  void OnZipFileHistory( wxCommandEvent& event );
633 
638  void OnJobFileHistory( wxCommandEvent& event );
639 
646  bool unarchiveFiles( const wxString& aFullFileName, REPORTER* aReporter = nullptr );
647 
656  bool LoadGerberFiles( const wxString& aFileName );
657  bool Read_GERBER_File( const wxString& GERBER_FullFileName );
658 
667  bool LoadExcellonFiles( const wxString& aFileName );
668  bool Read_EXCELLON_File( const wxString& aFullFileName );
669 
678  bool LoadZipArchiveFile( const wxString& aFileName );
679 
680 
688  bool LoadGerberJobFile( const wxString& aFileName );
689 
690 
691  bool GeneralControl( wxDC* aDC, const wxPoint& aPosition, EDA_KEY aHotKey = 0 ) override;
692 
696  void Liste_D_Codes();
697 
698  // PCB handling
699  bool Clear_DrawLayers( bool query );
700  void Erase_Current_DrawLayer( bool query );
701 
703 
708  void UpdateDisplayOptions( const GBR_DISPLAY_OPTIONS& aOptions );
709 
710  // Conversion function
711  void ExportDataInPcbnewFormat( wxCommandEvent& event );
712 
713  /* SaveCopyInUndoList() virtual
714  * currently: do nothing in GerbView.
715  */
717  UNDO_REDO_T aTypeCommand = UR_UNSPECIFIED,
718  const wxPoint& aTransformPoint = wxPoint( 0, 0 ) ) { }
719 
729  void SaveCopyInUndoList( const PICKED_ITEMS_LIST& aItemsList,
730  UNDO_REDO_T aTypeCommand,
731  const wxPoint& aTransformPoint = wxPoint( 0, 0 ) )
732  {
733  // currently: do nothing in GerbView.
734  }
735 
743  virtual void PrintPage( wxDC* aDC, LSET aPrintMasklayer, bool aPrintMirrorMode,
744  void* aData = NULL ) override;
745 
747  virtual void UseGalCanvas( bool aEnable ) override;
748 
752  void OnSwitchCanvas( wxCommandEvent& aEvent );
753 
757  void OnUpdateSwitchCanvas( wxUpdateUIEvent& aEvent );
758 
759  int GetIconScale() override;
760  void SetIconScale( int aScale ) override;
761 
762  DECLARE_EVENT_TABLE()
763 };
764 
765 #endif /* WX_GERBER_STRUCT_H */
void OnUpdateHighContrastMode(wxUpdateUIEvent &aEvent)
void OnUpdateLineDrawMode(wxUpdateUIEvent &aEvent)
Class GBR_DISPLAY_OPTIONS is a helper class to handle display options (filling modes and afew other o...
Class GBR_LAYOUT holds list of GERBER_DRAW_ITEM currently loaded.
Definition: gbr_layout.h:53
void SetTitleBlock(const TITLE_BLOCK &aTitleBlock) override
void OnSelectHighlightChoice(wxCommandEvent &event)
Handles the changing of the highlighted component/net/attribute.
Class CLASS_GBR_LAYOUT to handle info to draw/print loaded Gerber images and page frame reference...
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 SortLayersByX2Attributes()
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 SetIconScale(int aScale) override
Function SetIconScale.
void OnUpdateSelectDCode(wxUpdateUIEvent &aEvent)
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...
COLOR4D GetNegativeItemsColor()
Function GetNegativeItemsColor.
Handle colors used to draw all items or layers.
virtual int BlockCommand(EDA_KEY key) override
Function BlockCommand returns the block command (BLOCK_MOVE, BLOCK_COPY...) corresponding to the aKey...
void OnToggleShowLayerManager(wxCommandEvent &aEvent)
void SetVisibleElementColor(GERBVIEW_LAYER_ID aItemIdVisible, COLOR4D aColor)
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
UNDO_REDO_T
Undo Redo considerations: Basically we have 3 cases New item Deleted item Modified item there is also...
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:40
Class GERBER_FILE_IMAGE holds the Image data and parameters for one gerber file and layer parameters ...
void SetActiveLayer(int aLayer, bool doLayerWidgetUpdate=true)
Function SetActiveLayer will change the currently active layer to aLayer and also update the GERBER_L...
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))
void OnToggleFlashItemDrawMode(wxCommandEvent &aEvent)
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:63
GERBER_FILE_IMAGE_LIST is a helper class to handle a list of GERBER_FILE_IMAGE files which are loaded...
int GetActiveLayer()
Function SetActiveLayer returns the active layer.
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.
Definition: title_block.h:39
void OnSelectActiveDCode(wxCommandEvent &event)
Function OnSelectActiveDCode Selects the active DCode for the current active layer.
GERBVIEW_LAYER_ID
GerbView draw layers.
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
bool LoadGerberJobFile(const wxString &aFileName)
Load a Gerber job file, and load gerber files found in job files.
void SetGridOrigin(const wxPoint &aPoint) override
void updateComponentListSelectBox()
void ClearMessageList()
Function ClearMessageList Clear the message list Call it before reading a Gerber file.
void OnUpdatePolygonDrawMode(wxUpdateUIEvent &aEvent)
COLORS_DESIGN_SETTINGS g_ColorsSettings
virtual void HandleBlockPlace(wxDC *DC) override
Function HandleBlockPlace handles the block place command.
void UpdateDisplayOptions(const GBR_DISPLAY_OPTIONS &aOptions)
Updates the display options and refreshes the view as needed.
Class LSET is a set of PCB_LAYER_IDs.
COLOR4D GetVisibleElementColor(GERBVIEW_LAYER_ID aItemIdVisible)
Function GetVisibleElementColor returns the color of a gerber visible element.
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.
void OnToggleCoordType(wxCommandEvent &aEvent)
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 PAGE_INFO describes the page size and margins of a paper page on which to eventually print or p...
Definition: page_info.h:49
bool LoadZipArchiveFile(const wxString &aFileName)
function LoadZipArchiveFileLoadZipArchiveFile Load a zipped archive file.
COLORS_DESIGN_SETTINGS * m_colorsSettings
GBR_DISPLAY_OPTIONS m_DisplayOptions
void applyDisplaySettingsToGAL()
Updates the GAL with display settings changes.
bool m_DisplayFlashedItemsFill
Option to draw flashed items (filled/sketch)
void ShowChangedLanguage() override
Function ShowChangedLanguage redraws the menus and what not in current language.
void OnUpdateDiffMode(wxUpdateUIEvent &aEvent)
double BestZoom() override
Return the zoom level which displays the full page on screen.
GBR_LAYOUT * m_gerberLayout
wxFileHistory m_jobFileHistory
Class KIWAY is a minimalistic software bus for communications between various DLLs/DSOs (DSOs) within...
Definition: kiway.h:258
uint32_t EDA_KEY
Definition: common.h:52
const wxPoint & GetGridOrigin() const override
Function GetGridOrigin returns the absolute coordinates of the origin of the snap grid...
GBR_LAYOUT * GetGerberLayout() const
virtual void UseGalCanvas(bool aEnable) override
>
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)
void OnTogglePolygonDrawMode(wxCommandEvent &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 Process_Special_Functions(wxCommandEvent &event)
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 definition...
wxTextCtrl * m_TextInfo
DCODE_SELECTION_BOX * m_DCodeSelector
void ExportDataInPcbnewFormat(wxCommandEvent &event)
wxFileHistory m_zipFileHistory
const PAGE_INFO & GetPageSettings() const override
COLOR4D GetLayerColor(int aLayer) const
Function GetLayerColor gets a layer color for any valid layer.
bool DisplayFlashedItemsSolidMode()
Function DisplayFlashedItemsSolidMode.
void OnJobFileHistory(wxCommandEvent &event)
deletes the current data and load a gerber job file selected from the history list.
void updateAperAttributesSelectBox()
void OnToggleLineDrawMode(wxCommandEvent &aEvent)
wxChoice * m_SelAperAttributesBox
class EDA_HOTKEY is a class to handle hot key commands.
Definition: hotkeys_basic.h:59
Board layer functions and definitions.
void OnUpdateSwitchCanvas(wxUpdateUIEvent &aEvent)
Update UI called when switches currently used canvas (default / Cairo / OpenGL).
PARAM_CFG_ARRAY & GetConfigurationSettings(void)
Function GetConfigurationSettings Populates the GerbView applications settings list.
void OnSwitchCanvas(wxCommandEvent &aEvent)
switches currently used canvas (default / Cairo / OpenGL).
void SetElementVisibility(GERBVIEW_LAYER_ID aItemIdVisible, bool aNewState)
Function SetElementVisibility changes the visibility of an element category.
void OnUpdateDrawMode(wxUpdateUIEvent &aEvent)
GERBER_FILE_IMAGE_LIST * GetImagesList() const
Definition: gbr_layout.cpp:50
void SaveCopyInUndoList(const PICKED_ITEMS_LIST &aItemsList, UNDO_REDO_T aTypeCommand, const wxPoint &aTransformPoint=wxPoint(0, 0))
Function SaveCopyInUndoList (overloaded).
int GetIconScale() override
Function GetIconScale.
bool IsElementVisible(GERBVIEW_LAYER_ID aItemIdVisible) const
Function IsElementVisible tests whether a given element category is visible.
Class EDA_RECT handles the component boundary box.
Definition: eda_rect.h:44
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:162
void SetLayerColor(int aLayer, COLOR4D aColor)
Function SetLayerColor changes a layer color for any valid layer.
virtual void SetGridColor(COLOR4D aColor) override
>
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 Pcbnew.
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.
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...
void Liste_D_Codes()
Set Size Items (Lines, Flashes) from DCodes List.
bool loadListOfGerberFiles(const wxString &aPath, const wxArrayString &aFilenameList)
Loads a list of Gerber files and updates the view based on them.
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 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.
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)