Commit e3700cae authored by jean-pierre charras's avatar jean-pierre charras

Enable/disable (depending on the display mode) menus which are usable only in...

Enable/disable (depending on the display mode) menus which are usable only in GAL mode (and have no action in legacy mode)
parent 84c77aeb
...@@ -125,6 +125,12 @@ protected: ...@@ -125,6 +125,12 @@ protected:
void createPopUpBlockMenu( wxMenu* menu ); void createPopUpBlockMenu( wxMenu* menu );
void createPopUpMenuForMarkers( MARKER_PCB* aMarker, wxMenu* aPopMenu ); void createPopUpMenuForMarkers( MARKER_PCB* aMarker, wxMenu* aPopMenu );
/**
* an helper function to enable some menus only active when the display
* is switched to GAL mode and which do nothing in legacy mode
*/
void enableGALSpecificMenus();
// Has meaning only if DKICAD_SCRIPTING_WXPYTHON option is on // Has meaning only if DKICAD_SCRIPTING_WXPYTHON option is on
/** /**
......
...@@ -443,14 +443,13 @@ PCB_EDIT_FRAME::PCB_EDIT_FRAME( KIWAY* aKiway, wxWindow* aParent ) : ...@@ -443,14 +443,13 @@ PCB_EDIT_FRAME::PCB_EDIT_FRAME( KIWAY* aKiway, wxWindow* aParent ) :
wxAuiPaneInfo( mesg ).Name( wxT( "MsgPanel" ) ).Bottom().Layer(10) ); wxAuiPaneInfo( mesg ).Name( wxT( "MsgPanel" ) ).Bottom().Layer(10) );
ReFillLayerWidget(); // this is near end because contents establish size ReFillLayerWidget(); // this is near end because contents establish size
m_Layers->ReFillRender(); // Update colors in Render after the config is read m_Layers->ReFillRender(); // Update colors in Render after the config is read
syncLayerWidgetLayer(); syncLayerWidgetLayer();
m_auimgr.Update(); m_auimgr.Update();
setupTools(); setupTools();
enableGALSpecificMenus();
Zoom_Automatique( false ); Zoom_Automatique( false );
} }
...@@ -678,6 +677,8 @@ void PCB_EDIT_FRAME::UseGalCanvas( bool aEnable ) ...@@ -678,6 +677,8 @@ void PCB_EDIT_FRAME::UseGalCanvas( bool aEnable )
// Redirect all events to the legacy canvas // Redirect all events to the legacy canvas
GetGalCanvas()->SetEventDispatcher( NULL ); GetGalCanvas()->SetEventDispatcher( NULL );
} }
enableGALSpecificMenus();
} }
...@@ -709,6 +710,35 @@ void PCB_EDIT_FRAME::SwitchCanvas( wxCommandEvent& aEvent ) ...@@ -709,6 +710,35 @@ void PCB_EDIT_FRAME::SwitchCanvas( wxCommandEvent& aEvent )
} }
void PCB_EDIT_FRAME::enableGALSpecificMenus()
{
// some menus are active only in GAL mode and do nothing in legacy mode.
// So enable or disable them, depending on the display mode
if( GetMenuBar() )
{
// Enable / disable some menus which are usable only on GAL
pcbnew_ids id_list[] =
{
ID_MENU_INTERACTIVE_ROUTER_SETTINGS,
ID_DIFF_PAIR_BUTT,
ID_TUNE_SINGLE_TRACK_LEN_BUTT,
ID_TUNE_DIFF_PAIR_LEN_BUTT,
ID_TUNE_DIFF_PAIR_SKEW_BUTT,
ID_MENU_DIFF_PAIR_DIMENSIONS
};
bool enbl = IsGalCanvasActive();
for( unsigned ii = 0; ii < DIM( id_list ); ii++ )
{
if( GetMenuBar()->FindItem( id_list[ii] ) )
GetMenuBar()->FindItem( id_list[ii] )->Enable( enbl );
}
}
}
void PCB_EDIT_FRAME::ShowDesignRulesEditor( wxCommandEvent& event ) void PCB_EDIT_FRAME::ShowDesignRulesEditor( wxCommandEvent& event )
{ {
DIALOG_DESIGN_RULES dR_editor( this ); DIALOG_DESIGN_RULES dR_editor( this );
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment