KiCad PCB EDA Suite
events_called_functions.cpp
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) 2011-2014 Jean-Pierre Charras jp.charras at wanadoo.fr
5  * Copyright (C) 1992-2016 KiCad Developers, see AUTHORS.txt for contributors.
6  *
7  * This program is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU General Public License
9  * as published by the Free Software Foundation; either version 2
10  * of the License, or (at your option) any later version.
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with this program; if not, you may find one here:
19  * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
20  * or you may search the http://www.gnu.org website for the version 2 license,
21  * or you may write to the Free Software Foundation, Inc.,
22  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
23  */
24 
30 #include <fctsys.h>
31 #include <pgm_base.h>
32 #include <class_drawpanel.h>
33 #include <gestfich.h>
34 
35 #include <gerbview.h>
36 #include <gerbview_frame.h>
37 #include <kicad_device_context.h>
38 #include <gerbview_id.h>
41 #include <dialog_helpers.h>
45 
46 
47 // Event table:
48 
49 BEGIN_EVENT_TABLE( GERBVIEW_FRAME, EDA_DRAW_FRAME )
50  EVT_CLOSE( GERBVIEW_FRAME::OnCloseWindow )
51  EVT_SIZE( GERBVIEW_FRAME::OnSize )
52 
53  EVT_TOOL( wxID_FILE, GERBVIEW_FRAME::Files_io )
58  EVT_TOOL( ID_GERBVIEW_SET_PAGE_BORDER, GERBVIEW_FRAME::Process_Special_Functions )
59 
60  // Menu Files:
61  EVT_MENU( wxID_FILE, GERBVIEW_FRAME::Files_io )
62  EVT_MENU( ID_NEW_BOARD, GERBVIEW_FRAME::Files_io )
63  EVT_MENU( ID_GERBVIEW_EXPORT_TO_PCBNEW, GERBVIEW_FRAME::ExportDataInPcbnewFormat )
64 
65  EVT_MENU_RANGE( wxID_FILE1, wxID_FILE9, GERBVIEW_FRAME::OnGbrFileHistory )
66 
68  GERBVIEW_FRAME::OnDrlFileHistory )
69 
71  GERBVIEW_FRAME::OnZipFileHistory )
72 
73  EVT_MENU( wxID_EXIT, GERBVIEW_FRAME::OnQuit )
74 
75  // menu Preferences
77  GERBVIEW_FRAME::Process_Config )
78 
80  GERBVIEW_FRAME::OnSelectOptionToolbar )
81  EVT_MENU( wxID_PREFERENCES, GERBVIEW_FRAME::InstallGerberOptionsDialog )
82 
83  // menu Postprocess
84  EVT_MENU( ID_GERBVIEW_SHOW_LIST_DCODES, GERBVIEW_FRAME::Process_Special_Functions )
85  EVT_MENU( ID_GERBVIEW_SHOW_SOURCE, GERBVIEW_FRAME::OnShowGerberSourceFile )
87  EDA_BASE_FRAME::OnSelectPreferredEditor )
88 
89  // menu Miscellaneous
90  EVT_MENU( ID_GERBVIEW_ERASE_CURR_LAYER, GERBVIEW_FRAME::Process_Special_Functions )
91 
92  // Menu Help
93  EVT_MENU( wxID_HELP, EDA_DRAW_FRAME::GetKicadHelp )
94  EVT_MENU( wxID_INDEX, EDA_DRAW_FRAME::GetKicadHelp )
95  EVT_MENU( ID_HELP_GET_INVOLVED, EDA_DRAW_FRAME::GetKicadContribute )
96  EVT_MENU( wxID_ABOUT, EDA_DRAW_FRAME::GetKicadAbout )
97 
98  EVT_TOOL( wxID_UNDO, GERBVIEW_FRAME::Process_Special_Functions )
99  EVT_TOOL( wxID_PRINT, GERBVIEW_FRAME::ToPrinter )
101  GERBVIEW_FRAME::OnSelectActiveLayer )
102 
104 
105  // Vertical toolbar:
106  EVT_TOOL( ID_NO_TOOL_SELECTED, GERBVIEW_FRAME::Process_Special_Functions )
107 
109  GERBVIEW_FRAME::Process_Special_Functions )
110 
111  // Option toolbar
112  //EVT_TOOL( ID_NO_TOOL_SELECTED, GERBVIEW_FRAME::Process_Special_Functions ) // mentioned below
113  EVT_TOOL( ID_ZOOM_SELECTION, GERBVIEW_FRAME::Process_Special_Functions )
114  EVT_TOOL( ID_TB_OPTIONS_SHOW_POLAR_COORD, GERBVIEW_FRAME::OnSelectOptionToolbar )
117  EVT_TOOL( ID_TB_OPTIONS_SHOW_LINES_SKETCH, GERBVIEW_FRAME::OnSelectOptionToolbar )
119  GERBVIEW_FRAME::OnSelectOptionToolbar )
120  EVT_TOOL( ID_TB_OPTIONS_SHOW_DCODES, GERBVIEW_FRAME::OnSelectOptionToolbar )
123  GERBVIEW_FRAME::OnSelectDisplayMode )
124 
125  // Auxiliary horizontal toolbar
126  EVT_CHOICE( ID_GBR_AUX_TOOLBAR_PCB_CMP_CHOICE, GERBVIEW_FRAME::Process_Special_Functions )
127  EVT_CHOICE( ID_GBR_AUX_TOOLBAR_PCB_NET_CHOICE, GERBVIEW_FRAME::Process_Special_Functions )
128  EVT_CHOICE( ID_GBR_AUX_TOOLBAR_PCB_APERATTRIBUTES_CHOICE, GERBVIEW_FRAME::Process_Special_Functions )
129 
130  // Right click context menu
131  EVT_MENU( ID_HIGHLIGHT_CMP_ITEMS, GERBVIEW_FRAME::Process_Special_Functions )
132  EVT_MENU( ID_HIGHLIGHT_NET_ITEMS, GERBVIEW_FRAME::Process_Special_Functions )
133  EVT_MENU( ID_HIGHLIGHT_APER_ATTRIBUTE_ITEMS, GERBVIEW_FRAME::Process_Special_Functions )
134  EVT_MENU( ID_HIGHLIGHT_REMOVE_ALL, GERBVIEW_FRAME::Process_Special_Functions )
135 
136  EVT_UPDATE_UI( ID_NO_TOOL_SELECTED, GERBVIEW_FRAME::OnUpdateSelectTool )
137  EVT_UPDATE_UI( ID_ZOOM_SELECTION, GERBVIEW_FRAME::OnUpdateSelectTool )
138  EVT_UPDATE_UI( ID_TB_OPTIONS_SHOW_POLAR_COORD, GERBVIEW_FRAME::OnUpdateCoordType )
139  EVT_UPDATE_UI( ID_TB_OPTIONS_SHOW_FLASHED_ITEMS_SKETCH,
140  GERBVIEW_FRAME::OnUpdateFlashedItemsDrawMode )
141  EVT_UPDATE_UI( ID_TB_OPTIONS_SHOW_LINES_SKETCH, GERBVIEW_FRAME::OnUpdateLinesDrawMode )
142  EVT_UPDATE_UI( ID_TB_OPTIONS_SHOW_POLYGONS_SKETCH, GERBVIEW_FRAME::OnUpdatePolygonsDrawMode )
143  EVT_UPDATE_UI( ID_TB_OPTIONS_SHOW_DCODES, GERBVIEW_FRAME::OnUpdateShowDCodes )
144  EVT_UPDATE_UI( ID_TB_OPTIONS_SHOW_NEGATIVE_ITEMS, GERBVIEW_FRAME::OnUpdateShowNegativeItems )
145  EVT_UPDATE_UI( ID_TB_OPTIONS_SHOW_LAYERS_MANAGER_VERTICAL_TOOLBAR,
146  GERBVIEW_FRAME::OnUpdateShowLayerManager )
147 
148  EVT_UPDATE_UI( ID_TOOLBARH_GERBER_SELECT_ACTIVE_DCODE, GERBVIEW_FRAME::OnUpdateSelectDCode )
149  EVT_UPDATE_UI( ID_TOOLBARH_GERBVIEW_SELECT_ACTIVE_LAYER,
150  GERBVIEW_FRAME::OnUpdateLayerSelectBox )
151  EVT_UPDATE_UI_RANGE( ID_TB_OPTIONS_SHOW_GBR_MODE_0, ID_TB_OPTIONS_SHOW_GBR_MODE_2,
152  GERBVIEW_FRAME::OnUpdateDrawMode )
153 
154 END_EVENT_TABLE()
155 
156 
157 /* Handles the selection of tools, menu, and popup menu commands.
158  */
159 void GERBVIEW_FRAME::Process_Special_Functions( wxCommandEvent& event )
160 {
161  int id = event.GetId();
162 
163  switch( id )
164  {
166  case ID_POPUP_ZOOM_BLOCK:
167  break;
168 
170  m_canvas->EndMouseCapture();
171 
172  if( GetScreen()->m_BlockLocate.GetCommand() != BLOCK_IDLE )
173  {
174  /* Should not be executed, except bug */
175  GetScreen()->m_BlockLocate.SetCommand( BLOCK_IDLE );
176  GetScreen()->m_BlockLocate.SetState( STATE_NO_BLOCK );
177  GetScreen()->m_BlockLocate.ClearItemsList();
178  }
179 
180  if( GetToolId() == ID_NO_TOOL_SELECTED )
181  SetToolID( ID_NO_TOOL_SELECTED, m_canvas->GetDefaultCursor(), wxEmptyString );
182  else
183  m_canvas->SetCursor( (wxStockCursor) m_canvas->GetCurrentCursor() );
184  break;
185 
186  default:
187  m_canvas->EndMouseCapture();
188  break;
189  }
190 
191  INSTALL_UNBUFFERED_DC( dc, m_canvas );
192  GERBER_DRAW_ITEM* currItem = (GERBER_DRAW_ITEM*) GetScreen()->GetCurItem();
193 
194  switch( id )
195  {
196  case ID_GERBVIEW_SET_PAGE_BORDER:
197  {
198  DIALOG_PAGE_SHOW_PAGE_BORDERS dlg( this );
199 
200  if( dlg.ShowModal() == wxID_OK )
201  m_canvas->Refresh();
202  }
203  break;
204 
205  case ID_GERBVIEW_ERASE_CURR_LAYER:
206  Erase_Current_DrawLayer( true );
207  ClearMsgPanel();
208  break;
209 
210  case ID_NO_TOOL_SELECTED:
211  SetToolID( ID_NO_TOOL_SELECTED, m_canvas->GetDefaultCursor(), wxEmptyString );
212  break;
213 
214  case ID_ZOOM_SELECTION:
215  SetToolID( ID_ZOOM_SELECTION, wxCURSOR_MAGNIFIER, _( "Zoom to selection" ) );
216  break;
217 
219  SetToolID( ID_NO_TOOL_SELECTED, m_canvas->GetDefaultCursor(), wxEmptyString );
220  break;
221 
223  break;
224 
225  case ID_GERBVIEW_SHOW_LIST_DCODES:
226  Liste_D_Codes();
227  break;
228 
230  GetScreen()->m_BlockLocate.SetCommand( BLOCK_MOVE );
231  m_canvas->SetAutoPanRequest( false );
232  HandleBlockPlace( &dc );
233  break;
234 
235  case ID_POPUP_ZOOM_BLOCK:
236  GetScreen()->m_BlockLocate.SetCommand( BLOCK_ZOOM );
237  GetScreen()->m_BlockLocate.SetMessageBlock( this );
238  HandleBlockEnd( &dc );
239  break;
240 
241  case ID_GBR_AUX_TOOLBAR_PCB_CMP_CHOICE:
242  case ID_GBR_AUX_TOOLBAR_PCB_NET_CHOICE:
243  case ID_GBR_AUX_TOOLBAR_PCB_APERATTRIBUTES_CHOICE:
244  m_canvas->Refresh();
245  break;
246 
247  case ID_HIGHLIGHT_CMP_ITEMS:
248  if( m_SelComponentBox->SetStringSelection( currItem->GetNetAttributes().m_Cmpref ) )
249  m_canvas->Refresh();
250  break;
251 
252  case ID_HIGHLIGHT_NET_ITEMS:
253  if( m_SelNetnameBox->SetStringSelection( currItem->GetNetAttributes().m_Netname ) )
254  m_canvas->Refresh();
255  break;
256 
257  case ID_HIGHLIGHT_APER_ATTRIBUTE_ITEMS:
258  {
259  D_CODE* apertDescr = currItem->GetDcodeDescr();
260  if( m_SelAperAttributesBox->SetStringSelection( apertDescr->m_AperFunction ) )
261  m_canvas->Refresh();
262  }
263  break;
264 
265  case ID_HIGHLIGHT_REMOVE_ALL:
266  m_SelComponentBox->SetSelection( 0 );
267  m_SelNetnameBox->SetSelection( 0 );
268  m_SelAperAttributesBox->SetSelection( 0 );
269 
270  if( GetGbrImage( getActiveLayer() ) )
271  GetGbrImage( getActiveLayer() )->m_Selected_Tool = 0;
272 
273  m_canvas->Refresh();
274  break;
275 
276  default:
277  wxFAIL_MSG( wxT( "GERBVIEW_FRAME::Process_Special_Functions error" ) );
278  break;
279  }
280 }
281 
282 
283 void GERBVIEW_FRAME::OnSelectActiveDCode( wxCommandEvent& event )
284 {
285  GERBER_FILE_IMAGE* gerber_image = GetGbrImage( getActiveLayer() );
286 
287  if( gerber_image )
288  {
289  int tool = m_DCodeSelector->GetSelectedDCodeId();
290 
291  if( tool != gerber_image->m_Selected_Tool )
292  {
293  gerber_image->m_Selected_Tool = tool;
294  m_canvas->Refresh();
295  }
296  }
297 }
298 
299 
300 void GERBVIEW_FRAME::OnSelectActiveLayer( wxCommandEvent& event )
301 {
302  int layer = getActiveLayer();
303 
304  setActiveLayer( event.GetSelection() );
305 
306  if( layer != getActiveLayer() )
307  {
309  m_canvas->Refresh();
310  }
311 }
312 
313 
314 void GERBVIEW_FRAME::OnShowGerberSourceFile( wxCommandEvent& event )
315 {
316  int layer = getActiveLayer();
317  GERBER_FILE_IMAGE* gerber_layer = GetGbrImage( layer );
318 
319  if( gerber_layer )
320  {
321  wxString editorname = Pgm().GetEditorName();
322  if( !editorname.IsEmpty() )
323  {
324  wxFileName fn( gerber_layer->m_FileName );
325 
326  // Call the editor only if the Gerber/drill source file is available.
327  // This is not always the case, because it can be a temporary file
328  // if it comes from a zip archive.
329  if( !fn.FileExists() )
330  {
331  wxString msg;
332  msg.Printf( _( "Source file '%s' is not available" ),
333  GetChars( fn.GetFullPath() ) );
334  wxMessageBox( msg );
335  }
336  else
337  ExecuteFile( this, editorname, QuoteFullPath( fn ) );
338  }
339  else
340  wxMessageBox( _( "No editor defined. Please select one" ) );
341  }
342 
343  else
344  {
345  wxString msg;
346  msg.Printf( _( "No file loaded on the active layer %d" ), layer + 1 );
347  wxMessageBox( msg );
348  }
349 }
350 
351 
352 void GERBVIEW_FRAME::OnSelectDisplayMode( wxCommandEvent& event )
353 {
354  int oldMode = GetDisplayMode();
355 
356  switch( event.GetId() )
357  {
359  SetDisplayMode( 0 );
360  break;
361 
363  SetDisplayMode( 1 );
364  break;
365 
367  SetDisplayMode( 2 );
368  break;
369  }
370 
371  if( GetDisplayMode() != oldMode )
372  m_canvas->Refresh();
373 }
374 
375 
376 void GERBVIEW_FRAME::OnQuit( wxCommandEvent& event )
377 {
378  Close( true );
379 }
380 
381 
383 {
384  // call my base class
386 
388 
389  wxAuiPaneInfo& pane_info = m_auimgr.GetPane( m_LayersManager );
390  pane_info.Caption( _( "Visibles" ) );
391  m_auimgr.Update();
392 
394 }
395 
396 
397 void GERBVIEW_FRAME::OnSelectOptionToolbar( wxCommandEvent& event )
398 {
399  int id = event.GetId();
400  bool state;
401 
402  switch( id )
403  {
405  state = ! m_show_layer_manager_tools;
407  break;
408 
409  default:
410  state = m_optionsToolBar->GetToolToggled( id );
411  break;
412  }
413 
414  switch( id )
415  {
418  break;
419 
422  m_canvas->Refresh( true );
423  break;
424 
427  m_canvas->Refresh( true );
428  break;
429 
432  m_canvas->Refresh( true );
433  break;
434 
437  m_canvas->Refresh( true );
438  break;
439 
442  m_canvas->Refresh( true );
443  break;
444 
446 
447  // show/hide auxiliary Vertical layers and visibility manager toolbar
449  m_auimgr.GetPane( wxT( "m_LayersManagerToolBar" ) ).Show( m_show_layer_manager_tools );
450  m_auimgr.Update();
451  GetMenuBar()->SetLabel( ID_MENU_GERBVIEW_SHOW_HIDE_LAYERS_MANAGER_DIALOG,
453  _("Hide &Layers Manager" ) : _("Show &Layers Manager" ));
454  break;
455 
456  default:
457  wxMessageBox( wxT( "GERBVIEW_FRAME::OnSelectOptionToolbar error" ) );
458  break;
459  }
460 }
461 
462 
463 void GERBVIEW_FRAME::OnUpdateSelectTool( wxUpdateUIEvent& aEvent )
464 {
465  if( aEvent.GetEventObject() == m_optionsToolBar )
466  aEvent.Check( GetToolId() == aEvent.GetId() );
467 }
bool m_DisplayPolygonsFill
Option to draw polygons (filled/sketch)
This file is part of the common library TODO brief description.
GERBVIEW_FRAME::OnZipFileHistory GERBVIEW_FRAME::OnSelectOptionToolbar GERBVIEW_FRAME::OnSelectActiveLayer GERBVIEW_FRAME::OnSelectOptionToolbar GERBVIEW_FRAME::OnUpdateFlashedItemsDrawMode GERBVIEW_FRAME::OnUpdateLayerSelectBox EVT_UPDATE_UI_RANGE(ID_TB_OPTIONS_SHOW_GBR_MODE_0, ID_TB_OPTIONS_SHOW_GBR_MODE_2, GERBVIEW_FRAME::OnUpdateDrawMode) void GERBVIEW_FRAME
virtual void Refresh(bool eraseBackground=true, const wxRect *rect=NULL) override
Definition: draw_panel.cpp:326
void OnUpdateSelectTool(wxUpdateUIEvent &aEvent)
int GetDisplayMode()
Function GetDisplayMode.
D_CODE * GetDcodeDescr()
Function GetDcodeDescr returns the GetDcodeDescr of this object, or NULL.
void OnQuit(wxCommandEvent &event)
Function OnQuit called on request of application quit.
GERBER_LAYER_WIDGET * m_LayersManager
Class GERBER_FILE_IMAGE holds the Image data and parameters for one gerber file and layer parameters ...
wxString m_Cmpref
the component reference parent of the data
PGM_BASE & Pgm()
The global Program "get" accessor.
Definition: kicad.cpp:65
wxAuiManager m_auimgr
Definition: wxstruct.h:139
Class EDA_DRAW_FRAME is the base class for create windows for drawing purpose.
Definition: draw_frame.h:53
void OnSelectActiveDCode(wxCommandEvent &event)
Function OnSelectActiveDCode Selects the active DCode for the current active layer.
bool m_DisplayLinesFill
Option to draw line items (filled/sketch)
void OnSelectDisplayMode(wxCommandEvent &event)
Function OnSelectDisplayMode called on a display mode selection Mode selection can be fast display...
void SetLayersManagerTabsText()
Function SetLayersManagerTabsText Update the layer manager tabs labels Useful when changing Language ...
a helper to handle the real device context used in KiCad
wxAuiToolBar * m_optionsToolBar
The options tool bar typcially located on the left edge of the main window.
Definition: draw_frame.h:125
GBR_DISPLAY_OPTIONS m_DisplayOptions
bool m_DisplayFlashedItemsFill
Option to draw flashed items (filled/sketch)
int GetSelectedDCodeId()
Function GetSelectedDCodeId.
void ShowChangedLanguage() override
Function ShowChangedLanguage redraws the menus and what not in current language.
EVT_MENU_RANGE(ID_GERBVIEW_DRILL_FILE1, ID_GERBVIEW_DRILL_FILE9, GERBVIEW_FRAME::OnDrlFileHistory) EVT_MENU_RANGE(ID_GERBVIEW_ZIP_FILE1
ID_PREFERENCES_HOTKEY_END
Helper dialog and control classes.
wxString m_Netname
for items associated to a net: the netname
#define EVT_SELECT_DCODE
bool m_DisplayPolarCood
Option to display coordinates in status bar in X,Y or Polar coords.
EVT_TOOL(ID_FOOTPRINT_WIZARD_SELECT_WIZARD, FOOTPRINT_WIZARD_FRAME::SelectCurrentWizard) EVT_TOOL(ID_FOOTPRINT_WIZARD_RESET_TO_DEFAULT
void OnShowGerberSourceFile(wxCommandEvent &event)
Function OnShowGerberSourceFile Call the preferred editor to show (and edit) the gerber source file l...
void OnSelectOptionToolbar(wxCommandEvent &event)
wxString m_AperFunction
the aperture attribute (created by a TA.AperFunction command) attached to the D_CODE ...
Definition: dcode.h:109
void setActiveLayer(int aLayer, bool doLayerWidgetUpdate=true)
Function setActiveLayer will change the currently active layer to aLayer and also update the GERBER_L...
DCODE_SELECTION_BOX * m_DCodeSelector
EDA_DRAW_PANEL * m_canvas
The area to draw on.
Definition: draw_frame.h:92
static const wxChar * GetChars(const wxString &s)
Function GetChars returns a wxChar* to the actual wxChar* data within a wxString, and is helpful for ...
Definition: macros.h:92
see class PGM_BASE
Class D_CODE holds a gerber DCODE (also called Aperture) definition.
Definition: dcode.h:81
GERBVIEW_FRAME::OnZipFileHistory GERBVIEW_FRAME::OnSelectOptionToolbar EVT_MENU(ID_MENU_GERBVIEW_SELECT_PREFERED_EDITOR, EDA_BASE_FRAME::OnSelectPreferredEditor) EVT_COMBOBOX(ID_TOOLBARH_GERBVIEW_SELECT_ACTIVE_LAYER
Dialog to show/hide frame reference and select paper size for printing.
wxString QuoteFullPath(wxFileName &fn, wxPathFormat format)
Quote return value of wxFileName::GetFullPath().
Definition: gestfich.cpp:417
void SetElementVisibility(GERBVIEW_LAYER_ID aItemIdVisible, bool aNewState)
Function SetElementVisibility changes the visibility of an element category.
#define INSTALL_UNBUFFERED_DC(name, parent)
int GetToolId() const
Definition: draw_frame.h:406
Class EDA_BASE_FRAME is the base frame for deriving all KiCad main window classes.
Definition: wxstruct.h:112
int getActiveLayer()
Function getActiveLayer returns the active layer.
GERBVIEW_FRAME::OnZipFileHistory GERBVIEW_FRAME::OnSelectOptionToolbar GERBVIEW_FRAME::OnSelectActiveLayer GERBVIEW_FRAME::OnSelectOptionToolbar GERBVIEW_FRAME::OnUpdateFlashedItemsDrawMode EVT_UPDATE_UI(ID_TB_OPTIONS_SHOW_LAYERS_MANAGER_VERTICAL_TOOLBAR, GERBVIEW_FRAME::OnUpdateShowLayerManager) EVT_UPDATE_UI(ID_TOOLBARH_GERBVIEW_SELECT_ACTIVE_LAYER
GERBVIEW_FRAME::OnZipFileHistory GERBVIEW_FRAME::OnSelectOptionToolbar GERBVIEW_FRAME::OnSelectActiveLayer GERBVIEW_FRAME::OnSelectOptionToolbar EVT_TOOL_RANGE(ID_TB_OPTIONS_SHOW_GBR_MODE_0, ID_TB_OPTIONS_SHOW_GBR_MODE_2, GERBVIEW_FRAME::OnSelectDisplayMode) EVT_UPDATE_UI(ID_TB_OPTIONS_SHOW_FLASHED_ITEMS_SKETCH
VTBL_ENTRY const wxString & GetEditorName(bool aCanShowFileChooser=true)
Return the preferred editor name.
Definition: pgm_base.cpp:336
LIB_EDIT_FRAME::Process_Config ID_POPUP_GENERAL_END_RANGE
GERBER_FILE_IMAGE * GetGbrImage(int aIdx) const
bool m_show_layer_manager_tools
int ExecuteFile(wxWindow *frame, const wxString &ExecFile, const wxString &param, wxProcess *callback)
Function ExecuteFile calls the executable file ExecFile with the command line parameters param...
Definition: gestfich.cpp:208
bool OnLayerSelected()
Function OnLayerSelected ensure the active layer is visible, and other layers not visible when m_alwa...
virtual void ShowChangedLanguage()
Function ShowChangedLanguage redraws the menus and what not in current language.
Definition: basicframe.cpp:242
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 SetDisplayMode(int aMode)
Function SetDisplayMode.
const GBR_NETLIST_METADATA & GetNetAttributes()