diff --git a/gerbview/events_called_functions.cpp b/gerbview/events_called_functions.cpp index 124aa6b929..283c297d8f 100644 --- a/gerbview/events_called_functions.cpp +++ b/gerbview/events_called_functions.cpp @@ -46,13 +46,7 @@ BEGIN_EVENT_TABLE( GERBVIEW_FRAME, EDA_DRAW_FRAME ) EVT_CLOSE( GERBVIEW_FRAME::OnCloseWindow ) EVT_SIZE( GERBVIEW_FRAME::OnSize ) - EVT_TOOL( ID_GERBVIEW_ERASE_ALL, GERBVIEW_FRAME::Files_io ) - EVT_TOOL( ID_GERBVIEW_RELOAD_ALL, GERBVIEW_FRAME::Files_io ) - EVT_TOOL( ID_NEW_BOARD, GERBVIEW_FRAME::Files_io ) - // Menu Files: - EVT_MENU( ID_NEW_BOARD, GERBVIEW_FRAME::Files_io ) - EVT_MENU_RANGE( ID_FILE1, ID_FILEMAX, GERBVIEW_FRAME::OnGbrFileHistory ) EVT_MENU( ID_FILE_LIST_CLEAR, GERBVIEW_FRAME::OnClearGbrFileHistory ) @@ -75,8 +69,6 @@ BEGIN_EVENT_TABLE( GERBVIEW_FRAME, EDA_DRAW_FRAME ) EVT_SELECT_DCODE( ID_TOOLBARH_GERBER_SELECT_ACTIVE_DCODE, GERBVIEW_FRAME::OnSelectActiveDCode ) // Option toolbar - EVT_TOOL( ID_TB_OPTIONS_SHOW_LAYERS_MANAGER_VERTICAL_TOOLBAR, - GERBVIEW_FRAME::OnToggleShowLayerManager ) EVT_TOOL_RANGE( ID_TB_OPTIONS_SHOW_GBR_MODE_0, ID_TB_OPTIONS_SHOW_GBR_MODE_2, GERBVIEW_FRAME::OnSelectDisplayMode ) @@ -181,13 +173,3 @@ void GERBVIEW_FRAME::ShowChangedLanguage() ReFillLayerWidget(); } - - -void GERBVIEW_FRAME::OnToggleShowLayerManager( wxCommandEvent& aEvent ) -{ - m_show_layer_manager_tools = !m_show_layer_manager_tools; - - // show/hide auxiliary Vertical layers and visibility manager toolbar - m_auimgr.GetPane( "LayersManager" ).Show( m_show_layer_manager_tools ); - m_auimgr.Update(); -} diff --git a/gerbview/files.cpp b/gerbview/files.cpp index b7572cee5a..2d8f7473b7 100644 --- a/gerbview/files.cpp +++ b/gerbview/files.cpp @@ -112,60 +112,6 @@ void GERBVIEW_FRAME::OnClearJobFileHistory( wxCommandEvent& aEvent ) ClearFileHistory( &m_jobFileHistory ); } -/* File commands. */ -void GERBVIEW_FRAME::Files_io( wxCommandEvent& event ) -{ - switch( event.GetId() ) - { - case ID_GERBVIEW_ERASE_ALL: - Clear_DrawLayers( false ); - Zoom_Automatique( false ); - GetCanvas()->Refresh(); - ClearMsgPanel(); - break; - - case ID_GERBVIEW_RELOAD_ALL: - { - // Store filenames - wxArrayString listOfGerberFiles; - std::vector fileType; - - for( unsigned i = 0; i < GetImagesList()->ImagesMaxCount(); i++ ) - { - if( GetImagesList()->GetGbrImage( i ) == nullptr ) - continue; - - if( !GetImagesList()->GetGbrImage( i )->m_InUse ) - continue; - - auto* drill_file = dynamic_cast( GetImagesList()->GetGbrImage( i ) ); - - if( drill_file ) - fileType.push_back( 1 ); - else - fileType.push_back( 0 ); - - listOfGerberFiles.Add( GetImagesList()->GetGbrImage( i )->m_FileName ); - } - - // Clear all layers - Clear_DrawLayers( false ); - Zoom_Automatique( false ); - GetCanvas()->Refresh(); - ClearMsgPanel(); - - // Load the layers from stored paths - wxBusyCursor wait; - loadListOfGerberAndDrillFiles( wxEmptyString, listOfGerberFiles, &fileType ); - } - break; - - default: - wxFAIL_MSG( "File_io: unexpected command id" ); - break; - } -} - bool GERBVIEW_FRAME::LoadGerberFiles( const wxString& aFullFileName ) { @@ -245,11 +191,11 @@ bool GERBVIEW_FRAME::LoadGerberFiles( const wxString& aFullFileName ) // Set the busy cursor wxBusyCursor wait; - return loadListOfGerberAndDrillFiles( currentPath, filenamesList ); + return LoadListOfGerberAndDrillFiles( currentPath, filenamesList ); } -bool GERBVIEW_FRAME::loadListOfGerberAndDrillFiles( const wxString& aPath, +bool GERBVIEW_FRAME::LoadListOfGerberAndDrillFiles( const wxString& aPath, const wxArrayString& aFilenameList, const std::vector* aFileType ) { diff --git a/gerbview/gerbview_frame.cpp b/gerbview/gerbview_frame.cpp index 2e28834a2c..7217bbcfcc 100644 --- a/gerbview/gerbview_frame.cpp +++ b/gerbview/gerbview_frame.cpp @@ -1146,6 +1146,12 @@ void GERBVIEW_FRAME::setupUIConditions() return m_DisplayOptions.m_FlipGerberView; }; + auto layersManagerShownCondition = + [this] ( const SELECTION& aSel ) + { + return m_show_layer_manager_tools; + }; + mgr->SetConditions( GERBVIEW_ACTIONS::flashedDisplayOutlines, CHECK( flashedDisplayOutlinesCond ) ); mgr->SetConditions( GERBVIEW_ACTIONS::linesDisplayOutlines, CHECK( linesFillCond ) ); mgr->SetConditions( GERBVIEW_ACTIONS::polygonsDisplayOutlines, CHECK( polygonsFilledCond ) ); @@ -1154,17 +1160,7 @@ void GERBVIEW_FRAME::setupUIConditions() mgr->SetConditions( GERBVIEW_ACTIONS::toggleDiffMode, CHECK( diffModeCond ) ); mgr->SetConditions( GERBVIEW_ACTIONS::flipGerberView, CHECK( flipGerberCond ) ); mgr->SetConditions( ACTIONS::highContrastMode, CHECK( highContrastModeCond ) ); - - - auto layersManagerShownCondition = - [this] ( const SELECTION& aSel ) - { - return m_show_layer_manager_tools; - }; - - RegisterUIUpdateHandler( ID_TB_OPTIONS_SHOW_LAYERS_MANAGER_VERTICAL_TOOLBAR, - CHECK( layersManagerShownCondition ) ); - + mgr->SetConditions( GERBVIEW_ACTIONS::toggleLayerManager, CHECK( layersManagerShownCondition ) ); #undef CHECK #undef ENABLE @@ -1185,3 +1181,13 @@ SELECTION& GERBVIEW_FRAME::GetCurrentSelection() { return m_toolManager->GetTool()->GetSelection(); } + + +void GERBVIEW_FRAME::ToggleLayerManager() +{ + m_show_layer_manager_tools = !m_show_layer_manager_tools; + + // show/hide auxiliary Vertical layers and visibility manager toolbar + m_auimgr.GetPane( "LayersManager" ).Show( m_show_layer_manager_tools ); + m_auimgr.Update(); +} diff --git a/gerbview/gerbview_frame.h b/gerbview/gerbview_frame.h index db1c9d5455..0453d540b7 100644 --- a/gerbview/gerbview_frame.h +++ b/gerbview/gerbview_frame.h @@ -196,26 +196,27 @@ private: /// Updates the GAL with display settings changes void applyDisplaySettingsToGAL(); +public: + GERBVIEW_FRAME( KIWAY* aKiway, wxWindow* aParent ); + ~GERBVIEW_FRAME(); + + void doCloseWindow() override; + + bool OpenProjectFiles( const std::vector& aFileSet, int aCtl ) override; + /** * Loads a list of Gerber and NC drill files and updates the view based on them + * * @param aPath is the base path for the filenames if they are relative * @param aFilenameList is a list of filenames to load * @param aFileType is a list of type of files to load (0 = Gerber, 1 = NC drill) * if nullptr, files are expected Gerber type. * @return true if every file loaded successfully */ - bool loadListOfGerberAndDrillFiles( const wxString& aPath, + bool LoadListOfGerberAndDrillFiles( const wxString& aPath, const wxArrayString& aFilenameList, const std::vector* aFileType = nullptr ); -public: - GERBVIEW_FRAME( KIWAY* aKiway, wxWindow* aParent ); - ~GERBVIEW_FRAME(); - - void doCloseWindow() override; - - bool OpenProjectFiles( const std::vector& aFileSet, int aCtl ) override; - // Virtual basic functions: void ReCreateHToolbar() override; void ReCreateAuxiliaryToolbar() override; @@ -383,7 +384,7 @@ public: void SaveSettings( APP_SETTINGS_BASE* aCfg ) override; - void OnToggleShowLayerManager( wxCommandEvent& aEvent ); + void ToggleLayerManager(); void ShowChangedLanguage() override; @@ -423,8 +424,6 @@ public: void OnUpdateSelectDCode( wxUpdateUIEvent& aEvent ); void OnUpdateLayerSelectBox( wxUpdateUIEvent& aEvent ); - void Files_io( wxCommandEvent& event ); - /** * Function OnGbrFileHistory * deletes the current data and loads a Gerber file selected from history list on diff --git a/gerbview/gerbview_id.h b/gerbview/gerbview_id.h index 5f01bdb8ee..784a9b1959 100644 --- a/gerbview/gerbview_id.h +++ b/gerbview/gerbview_id.h @@ -38,8 +38,6 @@ enum gerbview_ids { ID_MAIN_MENUBAR = ID_END_LIST, - ID_GERBVIEW_ERASE_ALL, - ID_GERBVIEW_RELOAD_ALL, ID_TOOLBARH_GERBER_SELECT_ACTIVE_DCODE, ID_GBR_AUX_TOOLBAR_PCB_CMP_CHOICE, @@ -47,7 +45,6 @@ enum gerbview_ids ID_GBR_AUX_TOOLBAR_PCB_APERATTRIBUTES_CHOICE, ID_TOOLBARH_GERBVIEW_SELECT_ACTIVE_LAYER, - ID_TB_OPTIONS_SHOW_LAYERS_MANAGER_VERTICAL_TOOLBAR, ID_TB_OPTIONS_SHOW_GBR_MODE_0, ID_TB_OPTIONS_SHOW_GBR_MODE_1, ID_TB_OPTIONS_SHOW_GBR_MODE_2, diff --git a/gerbview/job_file_reader.cpp b/gerbview/job_file_reader.cpp index f7a8a49cbf..3c773d7d4b 100644 --- a/gerbview/job_file_reader.cpp +++ b/gerbview/job_file_reader.cpp @@ -222,7 +222,7 @@ bool GERBVIEW_FRAME::LoadGerberJobFile( const wxString& aFullFileName ) wxArrayString& gbrfiles = gbjReader.GetGerberFiles(); - success = loadListOfGerberAndDrillFiles( currentPath, gbrfiles ); + success = LoadListOfGerberAndDrillFiles( currentPath, gbrfiles ); } } diff --git a/gerbview/menubar.cpp b/gerbview/menubar.cpp index 228f8f10aa..31c6cd6a54 100644 --- a/gerbview/menubar.cpp +++ b/gerbview/menubar.cpp @@ -135,15 +135,8 @@ void GERBVIEW_FRAME::ReCreateMenuBar() #undef FileHistoryCond fileMenu->AppendSeparator(); - fileMenu->Add( _( "Clear &All Layers" ), - _( "Clear all layers. All data will be deleted" ), - ID_GERBVIEW_ERASE_ALL, - delete_gerber_xpm ); - - fileMenu->Add( _( "Reload All Layers" ), - _( "Reload all layers. All data will be reloaded" ), - ID_GERBVIEW_RELOAD_ALL, - reload2_xpm ); + fileMenu->Add( GERBVIEW_ACTIONS::clearAllLayers ); + fileMenu->Add( GERBVIEW_ACTIONS::reloadAllLayers ); fileMenu->AppendSeparator(); fileMenu->Add( GERBVIEW_ACTIONS::exportToPcbnew ); @@ -159,11 +152,7 @@ void GERBVIEW_FRAME::ReCreateMenuBar() // ACTION_MENU* viewMenu = new ACTION_MENU( false, selTool ); - // Hide layer manager - viewMenu->Add( _( "Show &Layers Manager" ), - _( "Show or hide the layer manager" ), - ID_TB_OPTIONS_SHOW_LAYERS_MANAGER_VERTICAL_TOOLBAR, - layers_manager_xpm ); + viewMenu->Add( GERBVIEW_ACTIONS::toggleLayerManager, ACTION_MENU::CHECK ); viewMenu->AppendSeparator(); viewMenu->Add( ACTIONS::zoomInCenter ); @@ -213,7 +202,7 @@ void GERBVIEW_FRAME::ReCreateMenuBar() toolsMenu->Add( ACTIONS::measureTool ); toolsMenu->AppendSeparator(); - toolsMenu->Add( GERBVIEW_ACTIONS::eraseLayer ); + toolsMenu->Add( GERBVIEW_ACTIONS::clearLayer ); //-- Preferences menu ----------------------------------------------- diff --git a/gerbview/toolbars_gerber.cpp b/gerbview/toolbars_gerber.cpp index 275d7b124d..4793a4148a 100644 --- a/gerbview/toolbars_gerber.cpp +++ b/gerbview/toolbars_gerber.cpp @@ -55,14 +55,8 @@ void GERBVIEW_FRAME::ReCreateHToolbar() } // Set up toolbar - m_mainToolBar->AddTool( ID_GERBVIEW_ERASE_ALL, wxEmptyString, - 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->Add( GERBVIEW_ACTIONS::clearAllLayers ); + m_mainToolBar->Add( GERBVIEW_ACTIONS::reloadAllLayers ); m_mainToolBar->Add( GERBVIEW_ACTIONS::openGerber ); m_mainToolBar->Add( GERBVIEW_ACTIONS::openDrillFile ); @@ -264,13 +258,8 @@ void GERBVIEW_FRAME::ReCreateOptToolbar() m_optionsToolBar->Add( ACTIONS::highContrastMode, ACTION_TOOLBAR::TOGGLE ); m_optionsToolBar->Add( GERBVIEW_ACTIONS::flipGerberView, ACTION_TOOLBAR::TOGGLE ); - // Tools to show/hide toolbars: m_optionsToolBar->AddScaledSeparator( this ); - m_optionsToolBar->AddTool( ID_TB_OPTIONS_SHOW_LAYERS_MANAGER_VERTICAL_TOOLBAR, - wxEmptyString, - KiScaledBitmap( layers_manager_xpm, this ), - _( "Show/hide the layers manager toolbar" ), - wxITEM_CHECK ); + m_optionsToolBar->Add( GERBVIEW_ACTIONS::toggleLayerManager, ACTION_TOOLBAR::TOGGLE ); m_optionsToolBar->Realize(); } diff --git a/gerbview/tools/gerbview_actions.cpp b/gerbview/tools/gerbview_actions.cpp index 84c2b3e615..2c76a0ddff 100644 --- a/gerbview/tools/gerbview_actions.cpp +++ b/gerbview/tools/gerbview_actions.cpp @@ -58,6 +58,12 @@ TOOL_ACTION GERBVIEW_ACTIONS::openZipFile( "gerbview.Control.openZipFile", _( "Open a zipped archive (Gerber and Drill) file" ), zip_xpm ); +TOOL_ACTION GERBVIEW_ACTIONS::toggleLayerManager( "gerbview.Control.toggleLayerManager", + AS_GLOBAL, 0, "", + _( "Show Layers Manager" ), + _( "Show or hide the layer manager" ), + layers_manager_xpm ); + TOOL_ACTION GERBVIEW_ACTIONS::showDCodes( "gerbview.Inspection.showDCodes", AS_GLOBAL, 0, "", _( "List DCodes..." ), @@ -76,11 +82,23 @@ TOOL_ACTION GERBVIEW_ACTIONS::exportToPcbnew( "gerbview.Control.exportToPcbnew", _( "Export data in Pcbnew format" ), export_xpm ); -TOOL_ACTION GERBVIEW_ACTIONS::eraseLayer( "gerbview.Control.eraseLayer", +TOOL_ACTION GERBVIEW_ACTIONS::clearLayer( "gerbview.Control.clearLayer", AS_GLOBAL, 0, "", _( "Clear Current Layer..." ), _( "Clear the selected graphic layer" ), delete_sheet_xpm ); +TOOL_ACTION GERBVIEW_ACTIONS::clearAllLayers( "gerbview.Control.clearAllLayers", + AS_GLOBAL, 0, "", + _( "Clear All Layers" ), + _( "Clear all layers. All data will be deleted" ), + delete_gerber_xpm ); + +TOOL_ACTION GERBVIEW_ACTIONS::reloadAllLayers( "gerbview.Control.reloadAllLayers", + AS_GLOBAL, 0, "", + _( "Reload All Layers" ), + _( "Reload all layers. All data will be reloaded" ), + reload2_xpm ); + TOOL_ACTION GERBVIEW_ACTIONS::layerChanged( "gerbview.Control.layerChanged", AS_GLOBAL, 0, "", "", "", nullptr, AF_NOTIFY ); diff --git a/gerbview/tools/gerbview_actions.h b/gerbview/tools/gerbview_actions.h index 73eb5879c2..1406f88f34 100644 --- a/gerbview/tools/gerbview_actions.h +++ b/gerbview/tools/gerbview_actions.h @@ -72,7 +72,9 @@ public: // Layer control static TOOL_ACTION layerPrev; static TOOL_ACTION layerNext; - static TOOL_ACTION eraseLayer; + static TOOL_ACTION clearLayer; + static TOOL_ACTION clearAllLayers; + static TOOL_ACTION reloadAllLayers; static TOOL_ACTION layerChanged; // notification @@ -82,6 +84,9 @@ public: static TOOL_ACTION openJobFile; static TOOL_ACTION openZipFile; + // Open/close the layer manager + static TOOL_ACTION toggleLayerManager; + // Highlighting static TOOL_ACTION highlightClear; static TOOL_ACTION highlightNet; diff --git a/gerbview/tools/gerbview_control.cpp b/gerbview/tools/gerbview_control.cpp index 986b966b5b..7b5afffa59 100644 --- a/gerbview/tools/gerbview_control.cpp +++ b/gerbview/tools/gerbview_control.cpp @@ -21,9 +21,11 @@ #include #include #include +#include #include #include #include +#include #include #include #include @@ -57,7 +59,7 @@ int GERBVIEW_CONTROL::OpenGerber( const TOOL_EVENT& aEvent ) int GERBVIEW_CONTROL::OpenDrillFile( const TOOL_EVENT& aEvent ) { m_frame->LoadExcellonFiles( wxEmptyString ); - m_frame->GetCanvas()->Refresh(); + canvas()->Refresh(); return 0; } @@ -66,7 +68,7 @@ int GERBVIEW_CONTROL::OpenDrillFile( const TOOL_EVENT& aEvent ) int GERBVIEW_CONTROL::OpenJobFile( const TOOL_EVENT& aEvent ) { m_frame->LoadGerberJobFile( wxEmptyString ); - m_frame->GetCanvas()->Refresh(); + canvas()->Refresh(); return 0; } @@ -75,7 +77,15 @@ int GERBVIEW_CONTROL::OpenJobFile( const TOOL_EVENT& aEvent ) int GERBVIEW_CONTROL::OpenZipFile( const TOOL_EVENT& aEvent ) { m_frame->LoadZipArchiveFile( wxEmptyString ); - m_frame->GetCanvas()->Refresh(); + canvas()->Refresh(); + + return 0; +} + + +int GERBVIEW_CONTROL::ToggleLayerManager( const TOOL_EVENT& aEvent ) +{ + m_frame->ToggleLayerManager(); return 0; } @@ -180,8 +190,8 @@ int GERBVIEW_CONTROL::HighlightControl( const TOOL_EVENT& aEvent ) } } - m_frame->GetCanvas()->GetView()->UpdateAllItems( KIGFX::COLOR ); - m_frame->GetCanvas()->Refresh(); + canvas()->GetView()->UpdateAllItems( KIGFX::COLOR ); + canvas()->Refresh(); return 0; } @@ -232,7 +242,7 @@ int GERBVIEW_CONTROL::DisplayControl( const TOOL_EVENT& aEvent ) { options.m_FlipGerberView = !options.m_FlipGerberView; - KIGFX::VIEW* view = m_frame->GetCanvas()->GetView(); + KIGFX::VIEW* view = canvas()->GetView(); view->SetMirror( options.m_FlipGerberView, false ); needs_refresh = true; } @@ -266,7 +276,7 @@ int GERBVIEW_CONTROL::LayerPrev( const TOOL_EVENT& aEvent ) } -int GERBVIEW_CONTROL::EraseLayer( const TOOL_EVENT& aEvent ) +int GERBVIEW_CONTROL::ClearLayer( const TOOL_EVENT& aEvent ) { m_frame->Erase_Current_DrawLayer( true ); m_frame->ClearMsgPanel(); @@ -275,6 +285,54 @@ int GERBVIEW_CONTROL::EraseLayer( const TOOL_EVENT& aEvent ) } +int GERBVIEW_CONTROL::ClearAllLayers( const TOOL_EVENT& aEvent ) +{ + m_frame->Clear_DrawLayers( false ); + m_toolMgr->RunAction( ACTIONS::zoomFitScreen, true ); + canvas()->Refresh(); + m_frame->ClearMsgPanel(); + + return 0; +} + + +int GERBVIEW_CONTROL::ReloadAllLayers( const TOOL_EVENT& aEvent ) +{ + // Store filenames + wxArrayString listOfGerberFiles; + std::vector fileType; + + GERBER_FILE_IMAGE_LIST* list = m_frame->GetImagesList(); + + for( unsigned i = 0; i < list->ImagesMaxCount(); i++ ) + { + if( list->GetGbrImage( i ) == nullptr ) + continue; + + if( !list->GetGbrImage( i )->m_InUse ) + continue; + + auto* drill_file = dynamic_cast( list->GetGbrImage( i ) ); + + if( drill_file ) + fileType.push_back( 1 ); + else + fileType.push_back( 0 ); + + listOfGerberFiles.Add( list->GetGbrImage( i )->m_FileName ); + } + + // Clear all layers + m_toolMgr->RunAction( GERBVIEW_ACTIONS::clearAllLayers, true ); + + // Load the layers from stored paths + wxBusyCursor wait; + m_frame->LoadListOfGerberAndDrillFiles( wxEmptyString, listOfGerberFiles, &fileType ); + + return 0; +} + + int GERBVIEW_CONTROL::UpdateMessagePanel( const TOOL_EVENT& aEvent ) { GERBVIEW_SELECTION_TOOL* selTool = m_toolMgr->GetTool(); @@ -303,6 +361,7 @@ void GERBVIEW_CONTROL::setTransitions() Go( &GERBVIEW_CONTROL::OpenDrillFile, GERBVIEW_ACTIONS::openDrillFile.MakeEvent() ); Go( &GERBVIEW_CONTROL::OpenJobFile, GERBVIEW_ACTIONS::openJobFile.MakeEvent() ); Go( &GERBVIEW_CONTROL::OpenZipFile, GERBVIEW_ACTIONS::openZipFile.MakeEvent() ); + Go( &GERBVIEW_CONTROL::ToggleLayerManager, GERBVIEW_ACTIONS::toggleLayerManager.MakeEvent() ); Go( &GERBVIEW_CONTROL::ExportToPcbnew, GERBVIEW_ACTIONS::exportToPcbnew.MakeEvent() ); Go( &GERBVIEW_CONTROL::Print, ACTIONS::print.MakeEvent() ); @@ -313,7 +372,9 @@ void GERBVIEW_CONTROL::setTransitions() Go( &GERBVIEW_CONTROL::LayerNext, GERBVIEW_ACTIONS::layerNext.MakeEvent() ); Go( &GERBVIEW_CONTROL::LayerPrev, GERBVIEW_ACTIONS::layerPrev.MakeEvent() ); - Go( &GERBVIEW_CONTROL::EraseLayer, GERBVIEW_ACTIONS::eraseLayer.MakeEvent() ); + Go( &GERBVIEW_CONTROL::ClearLayer, GERBVIEW_ACTIONS::clearLayer.MakeEvent() ); + Go( &GERBVIEW_CONTROL::ClearAllLayers, GERBVIEW_ACTIONS::clearAllLayers.MakeEvent() ); + Go( &GERBVIEW_CONTROL::ReloadAllLayers, GERBVIEW_ACTIONS::reloadAllLayers.MakeEvent() ); Go( &GERBVIEW_CONTROL::DisplayControl, GERBVIEW_ACTIONS::linesDisplayOutlines.MakeEvent() ); Go( &GERBVIEW_CONTROL::DisplayControl, GERBVIEW_ACTIONS::flashedDisplayOutlines.MakeEvent() ); diff --git a/gerbview/tools/gerbview_control.h b/gerbview/tools/gerbview_control.h index 0c7343354d..6a0c26a791 100644 --- a/gerbview/tools/gerbview_control.h +++ b/gerbview/tools/gerbview_control.h @@ -23,6 +23,7 @@ #include +class EDA_DRAW_PANEL_GAL; class GERBVIEW_FRAME; /** @@ -46,7 +47,9 @@ public: // Layer control int LayerNext( const TOOL_EVENT& aEvent ); int LayerPrev( const TOOL_EVENT& aEvent ); - int EraseLayer( const TOOL_EVENT& aEvent ); + int ClearLayer( const TOOL_EVENT& aEvent ); + int ClearAllLayers( const TOOL_EVENT& aEvent ); + int ReloadAllLayers( const TOOL_EVENT& aEvent ); // Files int OpenGerber( const TOOL_EVENT& aEvent ); @@ -54,6 +57,8 @@ public: int OpenJobFile( const TOOL_EVENT& aEvent ); int OpenZipFile( const TOOL_EVENT& aEvent ); + int ToggleLayerManager( const TOOL_EVENT& aEvent ); + // Highlight control int HighlightControl( const TOOL_EVENT& aEvent ); @@ -65,6 +70,12 @@ public: ///> Sets up handlers for various events. void setTransitions() override; +protected: + EDA_DRAW_PANEL_GAL* canvas() + { + return m_frame->GetCanvas(); + } + private: GERBVIEW_FRAME* m_frame; };