GerbView: Add actions to reload files
NEW: Adds new items in File Menu and Toolbar to reload the Gerber files for all layers. Fixes: lp:1794004 * https://bugs.launchpad.net/kicad/+bug/1794004
This commit is contained in:
parent
d599a02a90
commit
664fb234ff
|
@ -57,6 +57,7 @@ BEGIN_EVENT_TABLE( GERBVIEW_FRAME, EDA_DRAW_FRAME )
|
|||
|
||||
EVT_TOOL( wxID_FILE, GERBVIEW_FRAME::Files_io )
|
||||
EVT_TOOL( ID_GERBVIEW_ERASE_ALL, GERBVIEW_FRAME::Files_io )
|
||||
EVT_TOOL( ID_GERBVIEW_RELOAD_ALL, GERBVIEW_FRAME::Files_io )
|
||||
EVT_TOOL( ID_GERBVIEW_LOAD_DRILL_FILE, GERBVIEW_FRAME::Files_io )
|
||||
EVT_TOOL( ID_GERBVIEW_LOAD_ZIP_ARCHIVE_FILE, GERBVIEW_FRAME::Files_io )
|
||||
EVT_TOOL( ID_GERBVIEW_LOAD_JOB_FILE, GERBVIEW_FRAME::Files_io )
|
||||
|
|
|
@ -120,6 +120,32 @@ void GERBVIEW_FRAME::Files_io( wxCommandEvent& event )
|
|||
ClearMsgPanel();
|
||||
break;
|
||||
|
||||
case ID_GERBVIEW_RELOAD_ALL:
|
||||
{
|
||||
// Store filenames
|
||||
wxArrayString listOfFilenames;
|
||||
listOfFilenames.Empty();
|
||||
for( unsigned i = 0; i < GetImagesList()->ImagesMaxCount(); i++ )
|
||||
{
|
||||
if( GetImagesList()->GetGbrImage( i ) != nullptr )
|
||||
{
|
||||
if( GetImagesList()->GetGbrImage( i )->m_InUse == 1 )
|
||||
listOfFilenames.Add( GetImagesList()->GetGbrImage( i )->m_FileName );
|
||||
}
|
||||
}
|
||||
|
||||
// Clear all layers
|
||||
Clear_DrawLayers( false );
|
||||
Zoom_Automatique( false );
|
||||
m_canvas->Refresh();
|
||||
ClearMsgPanel();
|
||||
|
||||
// Load the layers from stored paths
|
||||
wxBusyCursor wait;
|
||||
loadListOfGerberFiles( wxEmptyString, listOfFilenames );
|
||||
}
|
||||
break;
|
||||
|
||||
case ID_GERBVIEW_LOAD_DRILL_FILE:
|
||||
LoadExcellonFiles( wxEmptyString );
|
||||
m_canvas->Refresh();
|
||||
|
|
|
@ -45,6 +45,7 @@ enum gerbview_ids
|
|||
ID_GERBVIEW_LOAD_JOB_FILE,
|
||||
ID_GERBVIEW_LOAD_ZIP_ARCHIVE_FILE,
|
||||
ID_GERBVIEW_ERASE_ALL,
|
||||
ID_GERBVIEW_RELOAD_ALL,
|
||||
ID_TOOLBARH_GERBER_SELECT_ACTIVE_DCODE,
|
||||
ID_GERBVIEW_SHOW_SOURCE,
|
||||
ID_GERBVIEW_EXPORT_TO_PCBNEW,
|
||||
|
|
|
@ -145,6 +145,13 @@ void GERBVIEW_FRAME::ReCreateMenuBar()
|
|||
_( "Clear all layers. All data will be deleted" ),
|
||||
KiBitmap( delete_gerber_xpm ) );
|
||||
|
||||
// Reload all
|
||||
AddMenuItem( fileMenu,
|
||||
ID_GERBVIEW_RELOAD_ALL,
|
||||
_( "Reload All Layers" ),
|
||||
_( "Reload all layers. All data will be reloaded" ),
|
||||
KiBitmap( reload2_xpm ) );
|
||||
|
||||
// Separator
|
||||
fileMenu->AppendSeparator();
|
||||
|
||||
|
|
|
@ -56,6 +56,10 @@ void GERBVIEW_FRAME::ReCreateHToolbar( void )
|
|||
KiScaledBitmap( delete_gerber_xpm, this ),
|
||||
_( "Clear all layers" ) );
|
||||
|
||||
m_mainToolBar->AddTool( ID_GERBVIEW_RELOAD_ALL, wxEmptyString,
|
||||
KiScaledBitmap( reload2_xpm, this ),
|
||||
_( "Reload all layers" ) );
|
||||
|
||||
m_mainToolBar->AddTool( wxID_FILE, wxEmptyString, KiScaledBitmap( load_gerber_xpm, this ),
|
||||
_( "Open Gerber file(s) on the current layer. Previous data will be deleted" ) );
|
||||
|
||||
|
|
Loading…
Reference in New Issue