7
mirror of https://gitlab.com/kicad/code/kicad.git synced 2025-03-30 04:46:55 +00:00

Move toolbar setup flags into the action definition

This makes them centrally defined, and removes the need to specify them
when creating the toolbar.
This commit is contained in:
Ian McInerney 2025-02-13 16:45:01 +00:00
parent 7eb07c00a2
commit c24dbc17bf
22 changed files with 470 additions and 240 deletions

View File

@ -58,8 +58,9 @@ ACTION_MANAGER::ACTION_MANAGER( TOOL_MANAGER* aToolManager ) :
wxLogTrace( kicadTraceToolStack,
"ACTION_MANAGER::ACTION_MANAGER: Registering action %s with ID %d, UI ID %d, "
"and group %s(%d)",
action->m_name, action->m_id, action->GetUIId(), groupName, groupID );
"group %s(%d), toolbar state %s",
action->m_name, action->m_id, action->GetUIId(), groupName, groupID,
action->m_toolbarState.to_string() );
RegisterAction( action );
}

View File

@ -237,6 +237,18 @@ ACTION_TOOLBAR::~ACTION_TOOLBAR()
}
void ACTION_TOOLBAR::Add( const TOOL_ACTION& aAction )
{
wxASSERT_MSG( !aAction.CheckToolbarState( TOOLBAR_STATE::HIDDEN ),
wxString::Format( "Attempting to add hidden action %s to the toolbar", aAction.GetName() ) );
bool isToggleEntry = aAction.CheckToolbarState( TOOLBAR_STATE::TOGGLE );
bool isCancellable = aAction.CheckToolbarState( TOOLBAR_STATE::CANCEL );
Add( aAction, isToggleEntry, isCancellable );
}
void ACTION_TOOLBAR::Add( const TOOL_ACTION& aAction, bool aIsToggleEntry, bool aIsCancellable )
{
wxASSERT( GetParent() );

View File

@ -168,6 +168,7 @@ TOOL_ACTION ACTIONS::finishInteractive( TOOL_ACTION_ARGS()
.FriendlyName( _( "Finish" ) )
.Tooltip( _( "Finish current tool" ) )
.Icon( BITMAPS::checked_ok )
.ToolbarState( TOOLBAR_STATE::HIDDEN )
.Flags( AF_NONE ) );
TOOL_ACTION ACTIONS::showContextMenu( TOOL_ACTION_ARGS()
@ -176,10 +177,12 @@ TOOL_ACTION ACTIONS::showContextMenu( TOOL_ACTION_ARGS()
.FriendlyName( _( "Show Context Menu" ) )
.Tooltip( _( "Perform the right-mouse-button action" ) )
.Flags( AF_NONE )
.Parameter( CURSOR_RIGHT_CLICK ) );
.Parameter( CURSOR_RIGHT_CLICK )
.ToolbarState( TOOLBAR_STATE::HIDDEN ) );
TOOL_ACTION ACTIONS::updateMenu( TOOL_ACTION_ARGS()
.Name( "common.Interactive.updateMenu" )
.ToolbarState( TOOLBAR_STATE::HIDDEN )
.Scope( AS_GLOBAL ) );
TOOL_ACTION ACTIONS::undo( TOOL_ACTION_ARGS()
@ -298,6 +301,7 @@ TOOL_ACTION ACTIONS::deleteTool( TOOL_ACTION_ARGS()
.Scope( AS_GLOBAL )
.FriendlyName( _( "Interactive Delete Tool" ) )
.Tooltip( _( "Delete clicked items" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::delete_cursor )
.Flags( AF_ACTIVATE ) );
@ -456,6 +460,7 @@ TOOL_ACTION ACTIONS::editTable( TOOL_ACTION_ARGS()
TOOL_ACTION ACTIONS::activatePointEditor( TOOL_ACTION_ARGS()
.Name( "common.Control.activatePointEditor" )
.ToolbarState( TOOLBAR_STATE::HIDDEN )
.Scope( AS_GLOBAL ) );
TOOL_ACTION ACTIONS::cycleArcEditMode( TOOL_ACTION_ARGS()
@ -528,6 +533,7 @@ TOOL_ACTION ACTIONS::replaceAll( TOOL_ACTION_ARGS()
TOOL_ACTION ACTIONS::updateFind( TOOL_ACTION_ARGS()
.Name( "common.Control.updateFind" )
.ToolbarState( TOOLBAR_STATE::HIDDEN )
.Scope( AS_GLOBAL ) );
@ -667,6 +673,7 @@ TOOL_ACTION ACTIONS::zoomTool( TOOL_ACTION_ARGS()
.LegacyHotkeyName( "Zoom to Selection" )
.FriendlyName( _( "Zoom to Selection" ) )
.Icon( BITMAPS::zoom_area )
.ToolbarState( { TOOLBAR_STATE::TOGGLE, TOOLBAR_STATE::CANCEL } )
.Flags( AF_ACTIVATE ) );
TOOL_ACTION ACTIONS::zoomUndo( TOOL_ACTION_ARGS()
@ -703,6 +710,7 @@ TOOL_ACTION ACTIONS::cursorUp( TOOL_ACTION_ARGS()
.Scope( AS_GLOBAL )
.DefaultHotkey( WXK_UP )
.FriendlyName( _( "Cursor Up" ) )
.ToolbarState( TOOLBAR_STATE::HIDDEN )
.Flags( AF_NONE )
.Parameter( CURSOR_UP ) );
@ -711,6 +719,7 @@ TOOL_ACTION ACTIONS::cursorDown( TOOL_ACTION_ARGS()
.Scope( AS_GLOBAL )
.DefaultHotkey( WXK_DOWN )
.FriendlyName( _( "Cursor Down" ) )
.ToolbarState( TOOLBAR_STATE::HIDDEN )
.Flags( AF_NONE )
.Parameter( CURSOR_DOWN ) );
@ -719,6 +728,7 @@ TOOL_ACTION ACTIONS::cursorLeft( TOOL_ACTION_ARGS()
.Scope( AS_GLOBAL )
.DefaultHotkey( WXK_LEFT )
.FriendlyName( _( "Cursor Left" ) )
.ToolbarState( TOOLBAR_STATE::HIDDEN )
.Flags( AF_NONE )
.Parameter( CURSOR_LEFT ) );
@ -727,6 +737,7 @@ TOOL_ACTION ACTIONS::cursorRight( TOOL_ACTION_ARGS()
.Scope( AS_GLOBAL )
.DefaultHotkey( WXK_RIGHT )
.FriendlyName( _( "Cursor Right" ) )
.ToolbarState( TOOLBAR_STATE::HIDDEN )
.Flags( AF_NONE )
.Parameter( CURSOR_RIGHT ) );
@ -736,6 +747,7 @@ TOOL_ACTION ACTIONS::cursorUpFast( TOOL_ACTION_ARGS()
.Scope( AS_GLOBAL )
.DefaultHotkey( MD_CTRL + static_cast<int>( WXK_UP ) )
.FriendlyName( _( "Cursor Up Fast" ) )
.ToolbarState( TOOLBAR_STATE::HIDDEN )
.Flags( AF_NONE )
.Parameter( CURSOR_UP_FAST ) );
@ -744,6 +756,7 @@ TOOL_ACTION ACTIONS::cursorDownFast( TOOL_ACTION_ARGS()
.Scope( AS_GLOBAL )
.DefaultHotkey( MD_CTRL + static_cast<int>( WXK_DOWN ) )
.FriendlyName( _( "Cursor Down Fast" ) )
.ToolbarState( TOOLBAR_STATE::HIDDEN )
.Flags( AF_NONE )
.Parameter( CURSOR_DOWN_FAST ) );
@ -752,6 +765,7 @@ TOOL_ACTION ACTIONS::cursorLeftFast( TOOL_ACTION_ARGS()
.Scope( AS_GLOBAL )
.DefaultHotkey( MD_CTRL + static_cast<int>( WXK_LEFT ) )
.FriendlyName( _( "Cursor Left Fast" ) )
.ToolbarState( TOOLBAR_STATE::HIDDEN )
.Flags( AF_NONE )
.Parameter( CURSOR_LEFT_FAST ) );
@ -760,6 +774,7 @@ TOOL_ACTION ACTIONS::cursorRightFast( TOOL_ACTION_ARGS()
.Scope( AS_GLOBAL )
.DefaultHotkey( MD_CTRL + static_cast<int>( WXK_RIGHT ) )
.FriendlyName( _( "Cursor Right Fast" ) )
.ToolbarState( TOOLBAR_STATE::HIDDEN )
.Flags( AF_NONE )
.Parameter( CURSOR_RIGHT_FAST ) );
@ -770,6 +785,7 @@ TOOL_ACTION ACTIONS::cursorClick( TOOL_ACTION_ARGS()
.LegacyHotkeyName( "Mouse Left Click" )
.FriendlyName( _( "Click" ) )
.Tooltip( _( "Performs left mouse button click" ) )
.ToolbarState( TOOLBAR_STATE::HIDDEN )
.Flags( AF_NONE )
.Parameter( CURSOR_CLICK ) );
@ -780,11 +796,13 @@ TOOL_ACTION ACTIONS::cursorDblClick( TOOL_ACTION_ARGS()
.LegacyHotkeyName( "Mouse Left Double Click" )
.FriendlyName( _( "Double-click" ) )
.Tooltip( _( "Performs left mouse button double-click" ) )
.ToolbarState( TOOLBAR_STATE::HIDDEN )
.Flags( AF_NONE )
.Parameter( CURSOR_DBL_CLICK ) );
TOOL_ACTION ACTIONS::refreshPreview( TOOL_ACTION_ARGS()
.Name( "common.Control.refreshPreview" )
.ToolbarState( TOOLBAR_STATE::HIDDEN )
.Scope( AS_GLOBAL ) );
TOOL_ACTION ACTIONS::pinLibrary( TOOL_ACTION_ARGS()
@ -803,6 +821,7 @@ TOOL_ACTION ACTIONS::showLibraryTree( TOOL_ACTION_ARGS()
.Name( "common.Control.showLibraryTree" )
.Scope( AS_GLOBAL )
.FriendlyName( _( "Library Tree" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::search_tree ) );
TOOL_ACTION ACTIONS::hideLibraryTree( TOOL_ACTION_ARGS()
@ -825,7 +844,8 @@ TOOL_ACTION ACTIONS::libraryTreeSearch( TOOL_ACTION_ARGS()
.Name( "common.Control.libraryTreeSearch" )
.Scope( AS_GLOBAL )
.FriendlyName( _( "Focus Library Tree Search Field" ) )
.DefaultHotkey( MD_CTRL + 'L' ) );
.DefaultHotkey( MD_CTRL + 'L' )
.ToolbarState( TOOLBAR_STATE::HIDDEN ) );
TOOL_ACTION ACTIONS::panUp( TOOL_ACTION_ARGS()
.Name( "common.Control.panUp" )
@ -901,6 +921,7 @@ TOOL_ACTION ACTIONS::gridSetOrigin( TOOL_ACTION_ARGS()
.LegacyHotkeyName( "Set Grid Origin" )
.FriendlyName( _( "Grid Origin" ) )
.Tooltip( _( "Place the grid origin point" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::grid_select_axis )
.Parameter<VECTOR2D*>( nullptr ) );
@ -920,6 +941,7 @@ TOOL_ACTION ACTIONS::toggleGrid( TOOL_ACTION_ARGS()
.Scope( AS_GLOBAL)
.FriendlyName( _( "Show Grid" ) )
.Tooltip( _( "Display background grid in the edit window" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::grid ) );
TOOL_ACTION ACTIONS::toggleGridOverrides( TOOL_ACTION_ARGS()
@ -928,6 +950,7 @@ TOOL_ACTION ACTIONS::toggleGridOverrides( TOOL_ACTION_ARGS()
.Scope( AS_GLOBAL)
.FriendlyName( _( "Grid Overrides" ) )
.Tooltip( _( "Enables item-specific grids that override the current grid" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::grid_override ) );
TOOL_ACTION ACTIONS::gridProperties( TOOL_ACTION_ARGS()
@ -948,6 +971,7 @@ TOOL_ACTION ACTIONS::inchesUnits( TOOL_ACTION_ARGS()
.Scope( AS_GLOBAL )
.FriendlyName( _( "Inches" ) )
.Icon( BITMAPS::unit_inch )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Flags( AF_NONE )
.Parameter( EDA_UNITS::INCHES ) );
@ -955,6 +979,7 @@ TOOL_ACTION ACTIONS::milsUnits( TOOL_ACTION_ARGS()
.Name( "common.Control.mils" )
.Scope( AS_GLOBAL )
.FriendlyName( _( "Mils" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::unit_mil )
.Flags( AF_NONE )
.Parameter( EDA_UNITS::MILS ) );
@ -963,20 +988,24 @@ TOOL_ACTION ACTIONS::millimetersUnits( TOOL_ACTION_ARGS()
.Name( "common.Control.metricUnits" )
.Scope( AS_GLOBAL )
.FriendlyName( _( "Millimeters" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::unit_mm )
.Flags( AF_NONE )
.Parameter( EDA_UNITS::MILLIMETRES ) );
TOOL_ACTION ACTIONS::updateUnits( TOOL_ACTION_ARGS()
.Name( "common.Control.updateUnits" )
.ToolbarState( TOOLBAR_STATE::HIDDEN )
.Scope( AS_GLOBAL ) );
TOOL_ACTION ACTIONS::updatePreferences( TOOL_ACTION_ARGS()
.Name( "common.Control.updatePreferences" )
.ToolbarState( TOOLBAR_STATE::HIDDEN )
.Scope( AS_GLOBAL ) );
TOOL_ACTION ACTIONS::selectLibTreeColumns( TOOL_ACTION_ARGS()
.Name( "common.Control.selectColumns" )
.ToolbarState( TOOLBAR_STATE::HIDDEN )
.Scope( AS_GLOBAL )
.FriendlyName( _( "Select Columns..." ) ) );
@ -994,6 +1023,7 @@ TOOL_ACTION ACTIONS::togglePolarCoords( TOOL_ACTION_ARGS()
.Scope( AS_GLOBAL )
.FriendlyName( _( "Polar Coordinates" ) )
.Tooltip( _( "Switch between polar and cartesian coordinate systems" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::polar_coord ) );
TOOL_ACTION ACTIONS::resetLocalCoords( TOOL_ACTION_ARGS()
@ -1017,6 +1047,7 @@ TOOL_ACTION ACTIONS::toggleCursorStyle( TOOL_ACTION_ARGS()
.Scope( AS_GLOBAL )
.FriendlyName( _( "Full-Window Crosshairs" ) )
.Tooltip( _( "Switch display of full-window crosshairs" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::cursor_shape ) );
TOOL_ACTION ACTIONS::highContrastMode( TOOL_ACTION_ARGS()
@ -1025,6 +1056,7 @@ TOOL_ACTION ACTIONS::highContrastMode( TOOL_ACTION_ARGS()
.LegacyHotkeyName( "Toggle High Contrast Mode" )
.FriendlyName( _( "Inactive Layer View Mode" ) )
.Tooltip( _( "Toggle inactive layers between normal and dimmed" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::contrast_mode ) );
TOOL_ACTION ACTIONS::highContrastModeCycle( TOOL_ACTION_ARGS()
@ -1039,12 +1071,14 @@ TOOL_ACTION ACTIONS::toggleBoundingBoxes( TOOL_ACTION_ARGS()
.Name( "common.Control.toggleBoundingBoxes" )
.Scope( AS_GLOBAL )
.FriendlyName( _( "Draw Bounding Boxes" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::gerbview_show_negative_objects ) );
TOOL_ACTION ACTIONS::selectionTool( TOOL_ACTION_ARGS()
.Name( "common.InteractiveSelection.selectionTool" )
.Scope( AS_GLOBAL )
.FriendlyName( _( "Select item(s)" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::cursor )
.Flags( AF_ACTIVATE ) );
@ -1056,16 +1090,19 @@ TOOL_ACTION ACTIONS::measureTool( TOOL_ACTION_ARGS()
.LegacyHotkeyName( "Measure Distance (Modern Toolset only)" )
.FriendlyName( _( "Measure Tool" ) )
.Tooltip( _( "Interactively measure distance between points" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::measurement )
.Flags( AF_ACTIVATE ) );
TOOL_ACTION ACTIONS::pickerTool( TOOL_ACTION_ARGS()
.Name( "common.InteractivePicker.pickerTool" )
.ToolbarState( TOOLBAR_STATE::HIDDEN )
.Scope( AS_GLOBAL )
.Flags( AF_ACTIVATE ) );
TOOL_ACTION ACTIONS::pickerSubTool( TOOL_ACTION_ARGS()
.Name( "common.InteractivePicker.pickerSubTool" )
.ToolbarState( TOOLBAR_STATE::HIDDEN )
.Scope( AS_GLOBAL ) );
TOOL_ACTION ACTIONS::showProjectManager( TOOL_ACTION_ARGS()
@ -1123,6 +1160,7 @@ TOOL_ACTION ACTIONS::showProperties( TOOL_ACTION_ARGS()
.Scope( AS_GLOBAL )
.FriendlyName( _( "Properties" ) )
.Tooltip( _( "Show/hide the properties manager" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::tools ) );
TOOL_ACTION ACTIONS::showDatasheet( TOOL_ACTION_ARGS()

View File

@ -62,7 +62,6 @@ TOOL_ACTION::TOOL_ACTION() :
m_group( std::nullopt ),
m_defaultHotKey( 0 ),
m_defaultHotKeyAlt( 0 ),
m_icon( BITMAPS::INVALID_BITMAP ),
m_id( -1 ),
m_flags( AF_NONE )
{
@ -80,7 +79,6 @@ TOOL_ACTION::TOOL_ACTION( const TOOL_ACTION_ARGS& aArgs ) :
m_legacyName( aArgs.m_legacyName.value_or( "" ) ),
m_friendlyName( TowxString( aArgs.m_friendlyName.value_or( "" ) ) ),
m_tooltip( TowxString( aArgs.m_tooltip.value_or( "" ) ) ),
m_icon( aArgs.m_icon.value_or( BITMAPS::INVALID_BITMAP) ),
m_id( -1 ),
m_uiid( std::nullopt ),
m_flags( aArgs.m_flags.value_or( AF_NONE ) )
@ -103,6 +101,16 @@ TOOL_ACTION::TOOL_ACTION( const TOOL_ACTION_ARGS& aArgs ) :
if( aArgs.m_group.has_value() )
m_group = aArgs.m_group;
if( aArgs.m_icon.has_value() )
m_icon = aArgs.m_icon.value();
if( aArgs.m_toolbarState.has_value() )
m_toolbarState = aArgs.m_toolbarState.value();
// If there is no icon, then the action should be hidden from the toolbar
if( !m_icon.has_value() )
m_toolbarState.set( static_cast<size_t>( TOOLBAR_STATE::HIDDEN ) );
ACTION_MANAGER::GetActionList().push_back( this );
}

View File

@ -244,22 +244,22 @@ void DISPLAY_FOOTPRINTS_FRAME::ReCreateOptToolbar()
m_optionsToolBar->SetAuiManager( &m_auimgr );
}
m_optionsToolBar->Add( ACTIONS::selectionTool, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( ACTIONS::measureTool, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( ACTIONS::selectionTool );
m_optionsToolBar->Add( ACTIONS::measureTool );
m_optionsToolBar->AddScaledSeparator( this );
m_optionsToolBar->Add( ACTIONS::toggleGrid, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( ACTIONS::togglePolarCoords, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( ACTIONS::inchesUnits, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( ACTIONS::milsUnits, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( ACTIONS::millimetersUnits, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( ACTIONS::toggleCursorStyle, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( ACTIONS::toggleGrid );
m_optionsToolBar->Add( ACTIONS::togglePolarCoords );
m_optionsToolBar->Add( ACTIONS::inchesUnits );
m_optionsToolBar->Add( ACTIONS::milsUnits );
m_optionsToolBar->Add( ACTIONS::millimetersUnits );
m_optionsToolBar->Add( ACTIONS::toggleCursorStyle );
m_optionsToolBar->AddScaledSeparator( this );
m_optionsToolBar->Add( PCB_ACTIONS::showPadNumbers, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( PCB_ACTIONS::padDisplayMode, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( PCB_ACTIONS::textOutlines, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( PCB_ACTIONS::graphicsOutlines, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( PCB_ACTIONS::showPadNumbers );
m_optionsToolBar->Add( PCB_ACTIONS::padDisplayMode );
m_optionsToolBar->Add( PCB_ACTIONS::textOutlines );
m_optionsToolBar->Add( PCB_ACTIONS::graphicsOutlines );
m_optionsToolBar->Realize();
}
@ -289,7 +289,7 @@ void DISPLAY_FOOTPRINTS_FRAME::ReCreateHToolbar()
m_mainToolBar->Add( ACTIONS::zoomInCenter );
m_mainToolBar->Add( ACTIONS::zoomOutCenter );
m_mainToolBar->Add( ACTIONS::zoomFitScreen );
m_mainToolBar->Add( ACTIONS::zoomTool, ACTION_TOOLBAR::TOGGLE, ACTION_TOOLBAR::CANCEL );
m_mainToolBar->Add( ACTIONS::zoomTool );
m_mainToolBar->AddScaledSeparator( this );
m_mainToolBar->Add( ACTIONS::show3DViewer );

View File

@ -59,20 +59,20 @@ void SYMBOL_EDIT_FRAME::ReCreateVToolbar()
// Set up toolbar
// clang-format off
m_drawToolBar->Add( ACTIONS::selectionTool, ACTION_TOOLBAR::TOGGLE );
m_drawToolBar->Add( ACTIONS::selectionTool );
m_drawToolBar->AddScaledSeparator( this );
m_drawToolBar->Add( EE_ACTIONS::placeSymbolPin, ACTION_TOOLBAR::TOGGLE );
m_drawToolBar->Add( EE_ACTIONS::placeSymbolText, ACTION_TOOLBAR::TOGGLE );
m_drawToolBar->Add( EE_ACTIONS::drawSymbolTextBox, ACTION_TOOLBAR::TOGGLE );
m_drawToolBar->Add( EE_ACTIONS::drawRectangle, ACTION_TOOLBAR::TOGGLE );
m_drawToolBar->Add( EE_ACTIONS::drawCircle, ACTION_TOOLBAR::TOGGLE );
m_drawToolBar->Add( EE_ACTIONS::drawArc, ACTION_TOOLBAR::TOGGLE );
m_drawToolBar->Add( EE_ACTIONS::drawBezier, ACTION_TOOLBAR::TOGGLE );
m_drawToolBar->Add( EE_ACTIONS::drawSymbolLines, ACTION_TOOLBAR::TOGGLE );
m_drawToolBar->Add( EE_ACTIONS::drawSymbolPolygon, ACTION_TOOLBAR::TOGGLE );
m_drawToolBar->Add( EE_ACTIONS::placeSymbolAnchor, ACTION_TOOLBAR::TOGGLE );
m_drawToolBar->Add( ACTIONS::deleteTool, ACTION_TOOLBAR::TOGGLE );
m_drawToolBar->Add( EE_ACTIONS::placeSymbolPin );
m_drawToolBar->Add( EE_ACTIONS::placeSymbolText );
m_drawToolBar->Add( EE_ACTIONS::drawSymbolTextBox );
m_drawToolBar->Add( EE_ACTIONS::drawRectangle );
m_drawToolBar->Add( EE_ACTIONS::drawCircle );
m_drawToolBar->Add( EE_ACTIONS::drawArc );
m_drawToolBar->Add( EE_ACTIONS::drawBezier );
m_drawToolBar->Add( EE_ACTIONS::drawSymbolLines );
m_drawToolBar->Add( EE_ACTIONS::drawSymbolPolygon );
m_drawToolBar->Add( EE_ACTIONS::placeSymbolAnchor );
m_drawToolBar->Add( ACTIONS::deleteTool);
// clang-format on
m_drawToolBar->Realize();
@ -109,7 +109,7 @@ void SYMBOL_EDIT_FRAME::ReCreateHToolbar()
m_mainToolBar->Add( ACTIONS::zoomInCenter );
m_mainToolBar->Add( ACTIONS::zoomOutCenter );
m_mainToolBar->Add( ACTIONS::zoomFitScreen );
m_mainToolBar->Add( ACTIONS::zoomTool, ACTION_TOOLBAR::TOGGLE, ACTION_TOOLBAR::CANCEL );
m_mainToolBar->Add( ACTIONS::zoomTool );
m_mainToolBar->AddScaledSeparator( this );
m_mainToolBar->Add( EE_ACTIONS::rotateCCW );
@ -126,8 +126,8 @@ void SYMBOL_EDIT_FRAME::ReCreateHToolbar()
m_mainToolBar->Add( EE_ACTIONS::checkSymbol );
m_mainToolBar->AddScaledSeparator( this );
m_mainToolBar->Add( EE_ACTIONS::showDeMorganStandard, ACTION_TOOLBAR::TOGGLE );
m_mainToolBar->Add( EE_ACTIONS::showDeMorganAlternate, ACTION_TOOLBAR::TOGGLE );
m_mainToolBar->Add( EE_ACTIONS::showDeMorganStandard );
m_mainToolBar->Add( EE_ACTIONS::showDeMorganAlternate );
m_mainToolBar->AddScaledSeparator( this );
@ -138,7 +138,7 @@ void SYMBOL_EDIT_FRAME::ReCreateHToolbar()
m_mainToolBar->AddControl( m_unitSelectBox );
m_mainToolBar->AddScaledSeparator( this );
m_mainToolBar->Add( EE_ACTIONS::toggleSyncedPinsMode, ACTION_TOOLBAR::TOGGLE );
m_mainToolBar->Add( EE_ACTIONS::toggleSyncedPinsMode );
m_mainToolBar->AddScaledSeparator( this );
m_mainToolBar->Add( EE_ACTIONS::addSymbolToSchematic );
@ -162,25 +162,25 @@ void SYMBOL_EDIT_FRAME::ReCreateOptToolbar()
m_optionsToolBar->SetAuiManager( &m_auimgr );
}
m_optionsToolBar->Add( ACTIONS::toggleGrid, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( ACTIONS::toggleGridOverrides, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( ACTIONS::inchesUnits, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( ACTIONS::milsUnits, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( ACTIONS::millimetersUnits, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( ACTIONS::toggleCursorStyle, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( ACTIONS::toggleGrid );
m_optionsToolBar->Add( ACTIONS::toggleGridOverrides );
m_optionsToolBar->Add( ACTIONS::inchesUnits );
m_optionsToolBar->Add( ACTIONS::milsUnits );
m_optionsToolBar->Add( ACTIONS::millimetersUnits );
m_optionsToolBar->Add( ACTIONS::toggleCursorStyle );
m_optionsToolBar->AddScaledSeparator( this );
m_optionsToolBar->Add( EE_ACTIONS::showElectricalTypes, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( EE_ACTIONS::showHiddenPins, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( EE_ACTIONS::showHiddenFields, ACTION_TOOLBAR::TOGGLE );
// m_optionsToolBar->Add( EE_ACTIONS::togglePinAltIcons, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( EE_ACTIONS::showElectricalTypes );
m_optionsToolBar->Add( EE_ACTIONS::showHiddenPins );
m_optionsToolBar->Add( EE_ACTIONS::showHiddenFields );
// m_optionsToolBar->Add( EE_ACTIONS::togglePinAltIcons );
if( ADVANCED_CFG::GetCfg().m_DrawBoundingBoxes )
m_optionsToolBar->Add( ACTIONS::toggleBoundingBoxes, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( ACTIONS::toggleBoundingBoxes );
m_optionsToolBar->AddScaledSeparator( this );
m_optionsToolBar->Add( ACTIONS::showLibraryTree, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( ACTIONS::showProperties, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( ACTIONS::showLibraryTree );
m_optionsToolBar->Add( ACTIONS::showProperties );
EE_SELECTION_TOOL* selTool = m_toolManager->GetTool<EE_SELECTION_TOOL>();
std::unique_ptr<ACTION_MENU> gridMenu = std::make_unique<ACTION_MENU>( false, selTool );

View File

@ -94,7 +94,7 @@ void SCH_EDIT_FRAME::ReCreateHToolbar()
m_mainToolBar->Add( ACTIONS::zoomOutCenter );
m_mainToolBar->Add( ACTIONS::zoomFitScreen );
m_mainToolBar->Add( ACTIONS::zoomFitObjects );
m_mainToolBar->Add( ACTIONS::zoomTool, ACTION_TOOLBAR::TOGGLE, ACTION_TOOLBAR::CANCEL );
m_mainToolBar->Add( ACTIONS::zoomTool );
m_mainToolBar->AddScaledSeparator( this );
m_mainToolBar->Add( EE_ACTIONS::navigateBack );
@ -161,37 +161,37 @@ void SCH_EDIT_FRAME::ReCreateVToolbar()
// Set up toolbar
// clang-format off
m_drawToolBar->Add( ACTIONS::selectionTool, ACTION_TOOLBAR::TOGGLE );
m_drawToolBar->Add( EE_ACTIONS::highlightNetTool, ACTION_TOOLBAR::TOGGLE );
m_drawToolBar->Add( ACTIONS::selectionTool );
m_drawToolBar->Add( EE_ACTIONS::highlightNetTool );
m_drawToolBar->AddScaledSeparator( this );
m_drawToolBar->Add( EE_ACTIONS::placeSymbol, ACTION_TOOLBAR::TOGGLE );
m_drawToolBar->Add( EE_ACTIONS::placePower, ACTION_TOOLBAR::TOGGLE );
m_drawToolBar->Add( EE_ACTIONS::drawWire, ACTION_TOOLBAR::TOGGLE );
m_drawToolBar->Add( EE_ACTIONS::drawBus, ACTION_TOOLBAR::TOGGLE );
m_drawToolBar->Add( EE_ACTIONS::placeBusWireEntry, ACTION_TOOLBAR::TOGGLE );
m_drawToolBar->Add( EE_ACTIONS::placeNoConnect, ACTION_TOOLBAR::TOGGLE );
m_drawToolBar->Add( EE_ACTIONS::placeJunction, ACTION_TOOLBAR::TOGGLE );
m_drawToolBar->Add( EE_ACTIONS::placeLabel, ACTION_TOOLBAR::TOGGLE );
m_drawToolBar->Add( EE_ACTIONS::placeClassLabel, ACTION_TOOLBAR::TOGGLE );
m_drawToolBar->Add( EE_ACTIONS::drawRuleArea, ACTION_TOOLBAR::TOGGLE );
m_drawToolBar->Add( EE_ACTIONS::placeGlobalLabel, ACTION_TOOLBAR::TOGGLE );
m_drawToolBar->Add( EE_ACTIONS::placeHierLabel, ACTION_TOOLBAR::TOGGLE );
m_drawToolBar->Add( EE_ACTIONS::drawSheet, ACTION_TOOLBAR::TOGGLE );
m_drawToolBar->Add( EE_ACTIONS::placeSheetPin, ACTION_TOOLBAR::TOGGLE );
m_drawToolBar->Add( EE_ACTIONS::placeSymbol );
m_drawToolBar->Add( EE_ACTIONS::placePower );
m_drawToolBar->Add( EE_ACTIONS::drawWire );
m_drawToolBar->Add( EE_ACTIONS::drawBus );
m_drawToolBar->Add( EE_ACTIONS::placeBusWireEntry );
m_drawToolBar->Add( EE_ACTIONS::placeNoConnect );
m_drawToolBar->Add( EE_ACTIONS::placeJunction );
m_drawToolBar->Add( EE_ACTIONS::placeLabel );
m_drawToolBar->Add( EE_ACTIONS::placeClassLabel );
m_drawToolBar->Add( EE_ACTIONS::drawRuleArea );
m_drawToolBar->Add( EE_ACTIONS::placeGlobalLabel );
m_drawToolBar->Add( EE_ACTIONS::placeHierLabel );
m_drawToolBar->Add( EE_ACTIONS::drawSheet );
m_drawToolBar->Add( EE_ACTIONS::placeSheetPin );
m_drawToolBar->Add( EE_ACTIONS::syncAllSheetsPins );
m_drawToolBar->AddScaledSeparator( this );
m_drawToolBar->Add( EE_ACTIONS::placeSchematicText, ACTION_TOOLBAR::TOGGLE );
m_drawToolBar->Add( EE_ACTIONS::drawTextBox, ACTION_TOOLBAR::TOGGLE );
m_drawToolBar->Add( EE_ACTIONS::drawTable, ACTION_TOOLBAR::TOGGLE );
m_drawToolBar->Add( EE_ACTIONS::drawRectangle, ACTION_TOOLBAR::TOGGLE );
m_drawToolBar->Add( EE_ACTIONS::drawCircle, ACTION_TOOLBAR::TOGGLE );
m_drawToolBar->Add( EE_ACTIONS::drawArc, ACTION_TOOLBAR::TOGGLE );
m_drawToolBar->Add( EE_ACTIONS::drawBezier, ACTION_TOOLBAR::TOGGLE );
m_drawToolBar->Add( EE_ACTIONS::drawLines, ACTION_TOOLBAR::TOGGLE );
m_drawToolBar->Add( EE_ACTIONS::placeImage, ACTION_TOOLBAR::TOGGLE );
m_drawToolBar->Add( ACTIONS::deleteTool, ACTION_TOOLBAR::TOGGLE );
m_drawToolBar->Add( EE_ACTIONS::placeSchematicText );
m_drawToolBar->Add( EE_ACTIONS::drawTextBox );
m_drawToolBar->Add( EE_ACTIONS::drawTable );
m_drawToolBar->Add( EE_ACTIONS::drawRectangle );
m_drawToolBar->Add( EE_ACTIONS::drawCircle );
m_drawToolBar->Add( EE_ACTIONS::drawArc );
m_drawToolBar->Add( EE_ACTIONS::drawBezier );
m_drawToolBar->Add( EE_ACTIONS::drawLines );
m_drawToolBar->Add( EE_ACTIONS::placeImage );
m_drawToolBar->Add( ACTIONS::deleteTool );
// clang-format on
m_drawToolBar->KiRealize();
@ -214,30 +214,30 @@ void SCH_EDIT_FRAME::ReCreateOptToolbar()
m_optionsToolBar->SetAuiManager( &m_auimgr );
}
m_optionsToolBar->Add( ACTIONS::toggleGrid, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( ACTIONS::toggleGridOverrides, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( ACTIONS::inchesUnits, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( ACTIONS::milsUnits, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( ACTIONS::millimetersUnits, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( ACTIONS::toggleCursorStyle, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( ACTIONS::toggleGrid );
m_optionsToolBar->Add( ACTIONS::toggleGridOverrides );
m_optionsToolBar->Add( ACTIONS::inchesUnits );
m_optionsToolBar->Add( ACTIONS::milsUnits );
m_optionsToolBar->Add( ACTIONS::millimetersUnits );
m_optionsToolBar->Add( ACTIONS::toggleCursorStyle );
m_optionsToolBar->AddScaledSeparator( this );
m_optionsToolBar->Add( EE_ACTIONS::toggleHiddenPins, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( EE_ACTIONS::toggleHiddenPins );
m_optionsToolBar->AddScaledSeparator( this );
m_optionsToolBar->Add( EE_ACTIONS::lineModeFree, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( EE_ACTIONS::lineMode90, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( EE_ACTIONS::lineMode45, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( EE_ACTIONS::lineModeFree );
m_optionsToolBar->Add( EE_ACTIONS::lineMode90 );
m_optionsToolBar->Add( EE_ACTIONS::lineMode45 );
m_optionsToolBar->AddScaledSeparator( this );
m_optionsToolBar->Add( EE_ACTIONS::toggleAnnotateAuto, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( EE_ACTIONS::toggleAnnotateAuto );
m_optionsToolBar->AddScaledSeparator( this );
m_optionsToolBar->Add( EE_ACTIONS::showHierarchy, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( ACTIONS::showProperties, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( EE_ACTIONS::showHierarchy );
m_optionsToolBar->Add( ACTIONS::showProperties );
if( ADVANCED_CFG::GetCfg().m_DrawBoundingBoxes )
m_optionsToolBar->Add( ACTIONS::toggleBoundingBoxes, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( ACTIONS::toggleBoundingBoxes );
EE_SELECTION_TOOL* selTool = m_toolManager->GetTool<EE_SELECTION_TOOL>();
std::unique_ptr<ACTION_MENU> gridMenu = std::make_unique<ACTION_MENU>( false, selTool );

View File

@ -62,12 +62,12 @@ void SYMBOL_VIEWER_FRAME::ReCreateHToolbar()
m_mainToolBar->Add( ACTIONS::zoomFitScreen );
m_mainToolBar->AddScaledSeparator( this );
m_mainToolBar->Add( EE_ACTIONS::showElectricalTypes, ACTION_TOOLBAR::TOGGLE );
m_mainToolBar->Add( EE_ACTIONS::showPinNumbers, ACTION_TOOLBAR::TOGGLE );
m_mainToolBar->Add( EE_ACTIONS::showElectricalTypes );
m_mainToolBar->Add( EE_ACTIONS::showPinNumbers );
m_mainToolBar->AddScaledSeparator( this );
m_mainToolBar->Add( EE_ACTIONS::showDeMorganStandard, ACTION_TOOLBAR::TOGGLE );
m_mainToolBar->Add( EE_ACTIONS::showDeMorganAlternate, ACTION_TOOLBAR::TOGGLE );
m_mainToolBar->Add( EE_ACTIONS::showDeMorganStandard );
m_mainToolBar->Add( EE_ACTIONS::showDeMorganAlternate );
m_mainToolBar->AddScaledSeparator( this );

View File

@ -293,6 +293,7 @@ TOOL_ACTION EE_ACTIONS::showElectricalTypes( TOOL_ACTION_ARGS()
.Scope( AS_GLOBAL )
.FriendlyName( _( "Show Pin Electrical Types" ) )
.Tooltip( _( "Annotate pins with their electrical types" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::pin_show_etype ) );
TOOL_ACTION EE_ACTIONS::showPinNumbers( TOOL_ACTION_ARGS()
@ -300,6 +301,7 @@ TOOL_ACTION EE_ACTIONS::showPinNumbers( TOOL_ACTION_ARGS()
.Scope( AS_GLOBAL )
.FriendlyName( _( "Show Pin Numbers" ) )
.Tooltip( _( "Annotate pins with their numbers" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::pin ) );
TOOL_ACTION EE_ACTIONS::exportSymbolView( TOOL_ACTION_ARGS()
@ -323,18 +325,21 @@ TOOL_ACTION EE_ACTIONS::toggleSyncedPinsMode( TOOL_ACTION_ARGS()
.Tooltip( _( "Synchronized Pins Mode\n"
"When enabled propagates all changes (except pin numbers) to other units.\n"
"Enabled by default for multiunit parts with interchangeable units." ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::pin2pin ) );
TOOL_ACTION EE_ACTIONS::showHiddenPins( TOOL_ACTION_ARGS()
.Name( "eeschema.SymbolLibraryControl.showHiddenPins" )
.Scope( AS_GLOBAL )
.FriendlyName( _( "Show Hidden Pins" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::hidden_pin ) );
TOOL_ACTION EE_ACTIONS::showHiddenFields( TOOL_ACTION_ARGS()
.Name( "eeschema.SymbolLibraryControl.showHiddenFields" )
.Scope( AS_GLOBAL )
.FriendlyName( _( "Show Hidden Fields" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::text_sketch ) );
@ -346,6 +351,7 @@ TOOL_ACTION EE_ACTIONS::placeSymbolPin( TOOL_ACTION_ARGS()
.DefaultHotkey( 'P' )
.LegacyHotkeyName( "Create Pin" )
.FriendlyName( _( "Draw Pins" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::pin )
.Flags( AF_ACTIVATE )
.Parameter( SCH_PIN_T ) );
@ -354,6 +360,7 @@ TOOL_ACTION EE_ACTIONS::placeSymbolText( TOOL_ACTION_ARGS()
.Name( "eeschema.SymbolDrawing.placeSymbolText" )
.Scope( AS_GLOBAL )
.FriendlyName( _( "Draw Text" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::text )
.Flags( AF_ACTIVATE )
.Parameter( SCH_TEXT_T ) );
@ -362,6 +369,7 @@ TOOL_ACTION EE_ACTIONS::drawSymbolTextBox( TOOL_ACTION_ARGS()
.Name( "eeschema.SymbolDrawing.drawSymbolTextBox" )
.Scope( AS_GLOBAL )
.FriendlyName( _( "Draw Text Boxes" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::add_textbox )
.Flags( AF_ACTIVATE ) );
@ -370,6 +378,7 @@ TOOL_ACTION EE_ACTIONS::drawSymbolLines( TOOL_ACTION_ARGS()
.Scope( AS_GLOBAL )
.FriendlyName( _( "Draw Lines" ) )
.Tooltip( _( "Draw connected graphic lines" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::add_graphical_segments )
.Flags( AF_ACTIVATE )
.Parameter( SHAPE_T::POLY ) );
@ -378,6 +387,7 @@ TOOL_ACTION EE_ACTIONS::drawSymbolPolygon( TOOL_ACTION_ARGS()
.Name( "eeschema.SymbolDrawing.drawSymbolPolygon" )
.Scope( AS_GLOBAL )
.FriendlyName( _( "Draw Polygons" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::add_graphical_polygon )
.Flags( AF_ACTIVATE )
.Parameter( SHAPE_T::POLY ) );
@ -386,6 +396,7 @@ TOOL_ACTION EE_ACTIONS::placeSymbolAnchor( TOOL_ACTION_ARGS()
.Name( "eeschema.SymbolDrawing.placeSymbolAnchor" )
.Scope( AS_GLOBAL )
.FriendlyName( _( "Move Symbol Anchor" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::anchor )
.Flags( AF_ACTIVATE ) );
@ -421,6 +432,7 @@ TOOL_ACTION EE_ACTIONS::placeSymbol( TOOL_ACTION_ARGS()
.DefaultHotkey( 'A' )
.LegacyHotkeyName( "Add Symbol" )
.FriendlyName( _( "Place Symbols" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::add_component )
.Flags( AF_ACTIVATE )
.Parameter<EE_ACTIONS::PLACE_SYMBOL_PARAMS>( {} ) );
@ -440,6 +452,7 @@ TOOL_ACTION EE_ACTIONS::placePower( TOOL_ACTION_ARGS()
.DefaultHotkey( 'P' )
.LegacyHotkeyName( "Add Power" )
.FriendlyName( _( "Place Power Symbols" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::add_power )
.Flags( AF_ACTIVATE )
.Parameter<EE_ACTIONS::PLACE_SYMBOL_PARAMS>( {} ) );
@ -461,6 +474,7 @@ TOOL_ACTION EE_ACTIONS::placeNoConnect( TOOL_ACTION_ARGS()
.DefaultHotkey( 'Q' )
.LegacyHotkeyName( "Add No Connect Flag" )
.FriendlyName( _( "Place No Connect Flags" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::noconn )
.Flags( AF_ACTIVATE )
.Parameter( SCH_NO_CONNECT_T ) );
@ -471,6 +485,7 @@ TOOL_ACTION EE_ACTIONS::placeJunction( TOOL_ACTION_ARGS()
.DefaultHotkey( 'J' )
.LegacyHotkeyName( "Add Junction" )
.FriendlyName( _( "Place Junctions" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::add_junction )
.Flags( AF_ACTIVATE )
.Parameter( SCH_JUNCTION_T ) );
@ -481,6 +496,7 @@ TOOL_ACTION EE_ACTIONS::placeBusWireEntry( TOOL_ACTION_ARGS()
.DefaultHotkey( 'Z' )
.LegacyHotkeyName( "Add Wire Entry" )
.FriendlyName( _( "Place Wire to Bus Entries" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::add_line2bus )
.Flags( AF_ACTIVATE )
.Parameter( SCH_BUS_WIRE_ENTRY_T ) );
@ -491,16 +507,17 @@ TOOL_ACTION EE_ACTIONS::placeLabel( TOOL_ACTION_ARGS()
.DefaultHotkey( 'L' )
.LegacyHotkeyName( "Add Label" )
.FriendlyName( _( "Place Net Labels" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::add_label )
.Flags( AF_ACTIVATE ) );
TOOL_ACTION
EE_ACTIONS::placeClassLabel( TOOL_ACTION_ARGS()
.Name( "eeschema.InteractiveDrawing.placeClassLabel" )
.Scope( AS_GLOBAL )
.FriendlyName( _( "Place Directive Labels" ) )
.Icon( BITMAPS::add_class_flag )
.Flags( AF_ACTIVATE ) );
TOOL_ACTION EE_ACTIONS::placeClassLabel( TOOL_ACTION_ARGS()
.Name( "eeschema.InteractiveDrawing.placeClassLabel" )
.Scope( AS_GLOBAL )
.FriendlyName( _( "Place Directive Labels" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::add_class_flag )
.Flags( AF_ACTIVATE ) );
TOOL_ACTION EE_ACTIONS::placeHierLabel( TOOL_ACTION_ARGS()
.Name( "eeschema.InteractiveDrawing.placeHierarchicalLabel" )
@ -508,6 +525,7 @@ TOOL_ACTION EE_ACTIONS::placeHierLabel( TOOL_ACTION_ARGS()
.DefaultHotkey( 'H' )
.LegacyHotkeyName( "Add Hierarchical Label" )
.FriendlyName( _( "Place Hierarchical Labels" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::add_hierarchical_label )
.Flags( AF_ACTIVATE ) );
@ -517,6 +535,7 @@ TOOL_ACTION EE_ACTIONS::drawSheet( TOOL_ACTION_ARGS()
.DefaultHotkey( 'S' )
.LegacyHotkeyName( "Add Sheet" )
.FriendlyName( _( "Draw Hierarchical Sheets" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::add_hierarchical_subsheet )
.Flags( AF_ACTIVATE )
.Parameter( SCH_SHEET_T ) );
@ -543,6 +562,7 @@ TOOL_ACTION EE_ACTIONS::placeSheetPin( TOOL_ACTION_ARGS()
.Name( "eeschema.InteractiveDrawing.placeSheetPin" )
.Scope( AS_GLOBAL )
.FriendlyName( _( "Place Sheet Pins" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::add_hierar_pin )
.Flags( AF_ACTIVATE ) );
@ -583,6 +603,7 @@ TOOL_ACTION EE_ACTIONS::placeGlobalLabel( TOOL_ACTION_ARGS()
.DefaultHotkey( MD_CTRL + 'L' )
.LegacyHotkeyName( "Add Global Label" )
.FriendlyName( _( "Place Global Labels" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::add_glabel )
.Flags( AF_ACTIVATE ) );
@ -592,6 +613,7 @@ TOOL_ACTION EE_ACTIONS::placeSchematicText( TOOL_ACTION_ARGS()
.DefaultHotkey( 'T' )
.LegacyHotkeyName( "Add Graphic Text" )
.FriendlyName( _( "Draw Text" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::text )
.Flags( AF_ACTIVATE ) );
@ -599,6 +621,7 @@ TOOL_ACTION EE_ACTIONS::drawTextBox( TOOL_ACTION_ARGS()
.Name( "eeschema.InteractiveDrawing.drawTextBox" )
.Scope( AS_GLOBAL )
.FriendlyName( _( "Draw Text Boxes" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::add_textbox )
.Flags( AF_ACTIVATE )
.Parameter( SHAPE_T::RECTANGLE ) );
@ -607,6 +630,7 @@ TOOL_ACTION EE_ACTIONS::drawTable( TOOL_ACTION_ARGS()
.Name( "eeschema.InteractiveDrawing.drawTable" )
.Scope( AS_GLOBAL )
.FriendlyName( _( "Draw Tables" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::table )
.Flags( AF_ACTIVATE ) );
@ -614,6 +638,7 @@ TOOL_ACTION EE_ACTIONS::drawRectangle( TOOL_ACTION_ARGS()
.Name( "eeschema.InteractiveDrawing.drawRectangle" )
.Scope( AS_GLOBAL )
.FriendlyName( _( "Draw Rectangles" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::add_rectangle )
.Flags( AF_ACTIVATE )
.Parameter( SHAPE_T::RECTANGLE ) );
@ -622,6 +647,7 @@ TOOL_ACTION EE_ACTIONS::drawCircle( TOOL_ACTION_ARGS()
.Name( "eeschema.InteractiveDrawing.drawCircle" )
.Scope( AS_GLOBAL )
.FriendlyName( _( "Draw Circles" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::add_circle )
.Flags( AF_ACTIVATE )
.Parameter( SHAPE_T::CIRCLE ) );
@ -630,6 +656,7 @@ TOOL_ACTION EE_ACTIONS::drawArc( TOOL_ACTION_ARGS()
.Name( "eeschema.InteractiveDrawing.drawArc" )
.Scope( AS_GLOBAL )
.FriendlyName( _( "Draw Arcs" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::add_arc )
.Flags( AF_ACTIVATE )
.Parameter( SHAPE_T::ARC ) );
@ -638,6 +665,7 @@ TOOL_ACTION EE_ACTIONS::drawBezier( TOOL_ACTION_ARGS()
.Name( "eeschema.InteractiveDrawing.drawBezier" )
.Scope( AS_GLOBAL )
.FriendlyName( _( "Draw Bezier Curve" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::add_bezier )
.Flags( AF_ACTIVATE )
.Parameter( SHAPE_T::BEZIER ) );
@ -646,6 +674,7 @@ TOOL_ACTION EE_ACTIONS::placeImage( TOOL_ACTION_ARGS()
.Name( "eeschema.InteractiveDrawing.placeImage" )
.Scope( AS_GLOBAL )
.FriendlyName( _( "Place Images" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::image )
.Flags( AF_ACTIVATE )
.Parameter<SCH_BITMAP*>( nullptr ) );
@ -654,6 +683,7 @@ TOOL_ACTION EE_ACTIONS::drawRuleArea( TOOL_ACTION_ARGS()
.Name( "eeschema.InteractiveDrawing.drawRuleArea" )
.Scope( AS_GLOBAL )
.FriendlyName( _( "Draw Rule Areas" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::add_keepout_area )
.Flags( AF_ACTIVATE )
.Parameter( SHAPE_T::RECTANGLE ) );
@ -815,6 +845,7 @@ TOOL_ACTION EE_ACTIONS::showDeMorganStandard( TOOL_ACTION_ARGS()
.Scope( AS_GLOBAL )
.FriendlyName( _( "De Morgan Standard" ) )
.Tooltip( _( "Switch to standard De Morgan representation" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::morgan1 ) );
TOOL_ACTION EE_ACTIONS::showDeMorganAlternate( TOOL_ACTION_ARGS()
@ -822,6 +853,7 @@ TOOL_ACTION EE_ACTIONS::showDeMorganAlternate( TOOL_ACTION_ARGS()
.Scope( AS_GLOBAL )
.FriendlyName( _( "De Morgan Alternate" ) )
.Tooltip( _( "Switch to alternate De Morgan representation" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::morgan2 ) );
TOOL_ACTION EE_ACTIONS::toLabel( TOOL_ACTION_ARGS()
@ -948,6 +980,7 @@ TOOL_ACTION EE_ACTIONS::highlightNetTool( TOOL_ACTION_ARGS()
.Scope( AS_GLOBAL )
.FriendlyName( _( "Highlight Nets" ) )
.Tooltip( _( "Highlight wires and pins of a net" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::net_highlight_schematic )
.Flags( AF_ACTIVATE ) );
@ -1148,65 +1181,76 @@ TOOL_ACTION EE_ACTIONS::toggleHiddenPins( TOOL_ACTION_ARGS()
.Name( "eeschema.EditorControl.showHiddenPins" )
.Scope( AS_GLOBAL )
.FriendlyName( _( "Show Hidden Pins" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::hidden_pin ) );
TOOL_ACTION EE_ACTIONS::toggleHiddenFields( TOOL_ACTION_ARGS()
.Name( "eeschema.EditorControl.showHiddenFields" )
.Scope( AS_GLOBAL )
.FriendlyName( _( "Show Hidden Fields" ) ) );
.FriendlyName( _( "Show Hidden Fields" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE ) );
TOOL_ACTION EE_ACTIONS::toggleDirectiveLabels( TOOL_ACTION_ARGS()
.Name( "eeschema.EditorControl.showDirectiveLabels" )
.Scope( AS_GLOBAL )
.FriendlyName( _( "Show Directive Labels" ) ) );
.FriendlyName( _( "Show Directive Labels" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE ) );
TOOL_ACTION EE_ACTIONS::toggleERCWarnings( TOOL_ACTION_ARGS()
.Name( "eeschema.EditorControl.showERCWarnings" )
.Scope( AS_GLOBAL )
.FriendlyName( _( "Show ERC Warnings" ) )
.Tooltip( _( "Show markers for electrical rules checker warnings" ) ) );
.Tooltip( _( "Show markers for electrical rules checker warnings" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE ) );
TOOL_ACTION EE_ACTIONS::toggleERCErrors( TOOL_ACTION_ARGS()
.Name( "eeschema.EditorControl.showERCErrors" )
.Scope( AS_GLOBAL )
.FriendlyName( _( "Show ERC Errors" ) )
.Tooltip( _( "Show markers for electrical rules checker errors" ) ) );
.Tooltip( _( "Show markers for electrical rules checker errors" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE ) );
TOOL_ACTION EE_ACTIONS::toggleERCExclusions( TOOL_ACTION_ARGS()
.Name( "eeschema.EditorControl.showERCExclusions" )
.Scope( AS_GLOBAL )
.FriendlyName( _( "Show ERC Exclusions" ) )
.Tooltip( _( "Show markers for excluded electrical rules checker violations" ) ) );
.Tooltip( _( "Show markers for excluded electrical rules checker violations" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE ) );
TOOL_ACTION EE_ACTIONS::markSimExclusions( TOOL_ACTION_ARGS()
.Name( "eeschema.EditorControl.markSimExclusions" )
.Scope( AS_GLOBAL )
.FriendlyName( _( "Mark items excluded from simulation" ) )
.Tooltip( _( "Draw 'X's over items which have been excluded from simulation" ) ) );
.Tooltip( _( "Draw 'X's over items which have been excluded from simulation" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE ) );
TOOL_ACTION EE_ACTIONS::toggleOPVoltages( TOOL_ACTION_ARGS()
.Name( "eeschema.EditorControl.showOperatingPointVoltages" )
.Scope( AS_GLOBAL )
.FriendlyName( _( "Show OP Voltages" ) )
.Tooltip( _( "Show operating point voltage data from simulation" ) ) );
.Tooltip( _( "Show operating point voltage data from simulation" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE ));
TOOL_ACTION EE_ACTIONS::toggleOPCurrents( TOOL_ACTION_ARGS()
.Name( "eeschema.EditorControl.showOperatingPointCurrents" )
.Scope( AS_GLOBAL )
.FriendlyName( _( "Show OP Currents" ) )
.Tooltip( _( "Show operating point current data from simulation" ) ) );
.Tooltip( _( "Show operating point current data from simulation" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE ) );
TOOL_ACTION EE_ACTIONS::togglePinAltIcons( TOOL_ACTION_ARGS()
.Name( "eeschema.EditorControl.togglePinAltIcons" )
.Scope( AS_GLOBAL )
.FriendlyName( _( "Show Pin Alternate Icons" ) )
.Tooltip( _( "Show indicator icons for pins with alternate modes" ) ) );
.Tooltip( _( "Show indicator icons for pins with alternate modes" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE ) );
TOOL_ACTION EE_ACTIONS::lineModeFree( TOOL_ACTION_ARGS()
.Name( "eeschema.EditorControl.lineModeFree" )
.Scope( AS_GLOBAL )
.FriendlyName( _( "Line Mode for Wires and Buses" ) )
.Tooltip( _( "Draw and drag at any angle" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::lines_any )
.Flags( AF_NONE )
.Parameter( LINE_MODE::LINE_MODE_FREE ) );
@ -1216,6 +1260,7 @@ TOOL_ACTION EE_ACTIONS::lineMode90( TOOL_ACTION_ARGS()
.Scope( AS_GLOBAL )
.FriendlyName( _( "Line Mode for Wires and Buses" ) )
.Tooltip( _( "Constrain drawing and dragging to horizontal or vertical motions" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::lines90 )
.Flags( AF_NONE )
.Parameter( LINE_MODE::LINE_MODE_90) );
@ -1225,6 +1270,7 @@ TOOL_ACTION EE_ACTIONS::lineMode45( TOOL_ACTION_ARGS()
.Scope( AS_GLOBAL )
.FriendlyName( _( "Line Mode for Wires and Buses" ) )
.Tooltip( _( "Constrain drawing and dragging to horizontal, vertical, or 45-degree angle motions" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::hv45mode )
.Flags( AF_NONE )
.Parameter( LINE_MODE::LINE_MODE_45 ) );
@ -1241,6 +1287,7 @@ TOOL_ACTION EE_ACTIONS::toggleAnnotateAuto( TOOL_ACTION_ARGS()
.Scope( AS_GLOBAL )
.FriendlyName( _( "Annotate Automatically" ) )
.Tooltip( _( "Toggle automatic annotation of new symbols" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::annotate ) );
TOOL_ACTION EE_ACTIONS::repairSchematic( TOOL_ACTION_ARGS()
@ -1335,6 +1382,7 @@ TOOL_ACTION EE_ACTIONS::showHierarchy( TOOL_ACTION_ARGS()
.DefaultHotkey( MD_CTRL + 'H' )
.FriendlyName( _( "Hierarchy Navigator" ) )
.Tooltip( _( "Show/hide the schematic sheet hierarchy navigator" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::hierarchy_nav ) );
@ -1347,6 +1395,7 @@ TOOL_ACTION EE_ACTIONS::drawWire( TOOL_ACTION_ARGS()
.DefaultHotkey( 'W' )
.LegacyHotkeyName( "Begin Wire" )
.FriendlyName( _( "Draw Wires" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::add_line )
.Flags( AF_ACTIVATE )
.Parameter( &drawWireActionParam ) );
@ -1358,6 +1407,7 @@ TOOL_ACTION EE_ACTIONS::drawBus( TOOL_ACTION_ARGS()
.DefaultHotkey( 'B' )
.LegacyHotkeyName( "Begin Bus" )
.FriendlyName( _( "Draw Buses" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::add_bus )
.Flags( AF_ACTIVATE )
.Parameter( &drawBusActionParam ) );
@ -1380,6 +1430,7 @@ TOOL_ACTION EE_ACTIONS::drawLines( TOOL_ACTION_ARGS()
.DefaultHotkey( 'I' )
.LegacyHotkeyName( "Add Graphic PolyLine" )
.FriendlyName( _( "Draw Lines" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::add_graphical_segments )
.Flags( AF_ACTIVATE )
.Parameter( &drawLinesActionParam ) );

View File

@ -72,7 +72,7 @@ void GERBVIEW_FRAME::ReCreateHToolbar()
m_mainToolBar->Add( ACTIONS::zoomInCenter );
m_mainToolBar->Add( ACTIONS::zoomOutCenter );
m_mainToolBar->Add( ACTIONS::zoomFitScreen );
m_mainToolBar->Add( ACTIONS::zoomTool, ACTION_TOOLBAR::TOGGLE, ACTION_TOOLBAR::CANCEL );
m_mainToolBar->Add( ACTIONS::zoomTool );
m_mainToolBar->AddScaledSeparator( this );
@ -238,31 +238,31 @@ void GERBVIEW_FRAME::ReCreateOptToolbar()
// TODO: these can be moved to the 'proper' vertical toolbar if and when there are
// actual tools to put there. That, or I'll get around to implementing configurable
// toolbars.
m_optionsToolBar->Add( ACTIONS::selectionTool, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( ACTIONS::measureTool, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( ACTIONS::selectionTool );
m_optionsToolBar->Add( ACTIONS::measureTool );
m_optionsToolBar->AddScaledSeparator( this );
m_optionsToolBar->Add( ACTIONS::toggleGrid, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( ACTIONS::togglePolarCoords, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( ACTIONS::inchesUnits, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( ACTIONS::milsUnits, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( ACTIONS::millimetersUnits, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( ACTIONS::toggleCursorStyle, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( ACTIONS::toggleGrid );
m_optionsToolBar->Add( ACTIONS::togglePolarCoords );
m_optionsToolBar->Add( ACTIONS::inchesUnits );
m_optionsToolBar->Add( ACTIONS::milsUnits );
m_optionsToolBar->Add( ACTIONS::millimetersUnits );
m_optionsToolBar->Add( ACTIONS::toggleCursorStyle );
m_optionsToolBar->AddScaledSeparator( this );
m_optionsToolBar->Add( GERBVIEW_ACTIONS::flashedDisplayOutlines, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( GERBVIEW_ACTIONS::linesDisplayOutlines, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( GERBVIEW_ACTIONS::polygonsDisplayOutlines, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( GERBVIEW_ACTIONS::negativeObjectDisplay, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( GERBVIEW_ACTIONS::dcodeDisplay, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( GERBVIEW_ACTIONS::flashedDisplayOutlines );
m_optionsToolBar->Add( GERBVIEW_ACTIONS::linesDisplayOutlines );
m_optionsToolBar->Add( GERBVIEW_ACTIONS::polygonsDisplayOutlines );
m_optionsToolBar->Add( GERBVIEW_ACTIONS::negativeObjectDisplay );
m_optionsToolBar->Add( GERBVIEW_ACTIONS::dcodeDisplay );
m_optionsToolBar->AddScaledSeparator( this );
m_optionsToolBar->Add( GERBVIEW_ACTIONS::toggleForceOpacityMode, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( GERBVIEW_ACTIONS::toggleXORMode, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( ACTIONS::highContrastMode, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( GERBVIEW_ACTIONS::flipGerberView, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( GERBVIEW_ACTIONS::toggleForceOpacityMode );
m_optionsToolBar->Add( GERBVIEW_ACTIONS::toggleXORMode );
m_optionsToolBar->Add( ACTIONS::highContrastMode );
m_optionsToolBar->Add( GERBVIEW_ACTIONS::flipGerberView );
m_optionsToolBar->AddScaledSeparator( this );
m_optionsToolBar->Add( GERBVIEW_ACTIONS::toggleLayerManager, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( GERBVIEW_ACTIONS::toggleLayerManager );
m_optionsToolBar->KiRealize();
}

View File

@ -74,6 +74,7 @@ TOOL_ACTION GERBVIEW_ACTIONS::toggleLayerManager( TOOL_ACTION_ARGS()
.Name( "gerbview.Control.toggleLayerManager" )
.Scope( AS_GLOBAL )
.FriendlyName( _( "Show Layers Manager" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::layers_manager ) );
TOOL_ACTION GERBVIEW_ACTIONS::showDCodes( TOOL_ACTION_ARGS()
@ -185,6 +186,7 @@ TOOL_ACTION GERBVIEW_ACTIONS::linesDisplayOutlines( TOOL_ACTION_ARGS()
.LegacyHotkeyName( "Gbr Lines Display Mode" )
.FriendlyName( _( "Sketch Lines" ) )
.Tooltip( _( "Show lines in outline mode" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::showtrack ) );
TOOL_ACTION GERBVIEW_ACTIONS::flashedDisplayOutlines( TOOL_ACTION_ARGS()
@ -194,6 +196,7 @@ TOOL_ACTION GERBVIEW_ACTIONS::flashedDisplayOutlines( TOOL_ACTION_ARGS()
.LegacyHotkeyName( "Gbr Flashed Display Mode" )
.FriendlyName( _( "Sketch Flashed Items" ) )
.Tooltip( _( "Show flashed items in outline mode" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::pad_sketch ) );
TOOL_ACTION GERBVIEW_ACTIONS::polygonsDisplayOutlines( TOOL_ACTION_ARGS()
@ -203,6 +206,7 @@ TOOL_ACTION GERBVIEW_ACTIONS::polygonsDisplayOutlines( TOOL_ACTION_ARGS()
.LegacyHotkeyName( "Gbr Polygons Display Mode" )
.FriendlyName( _( "Sketch Polygons" ) )
.Tooltip( _( "Show polygons in outline mode" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::opt_show_polygon ) );
TOOL_ACTION GERBVIEW_ACTIONS::negativeObjectDisplay( TOOL_ACTION_ARGS()
@ -211,6 +215,7 @@ TOOL_ACTION GERBVIEW_ACTIONS::negativeObjectDisplay( TOOL_ACTION_ARGS()
.LegacyHotkeyName( "Gbr Negative Obj Display Mode" )
.FriendlyName( _( "Ghost Negative Objects" ) )
.Tooltip( _( "Show negative objects in ghost color" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::gerbview_show_negative_objects ) );
TOOL_ACTION GERBVIEW_ACTIONS::dcodeDisplay( TOOL_ACTION_ARGS()
@ -220,6 +225,7 @@ TOOL_ACTION GERBVIEW_ACTIONS::dcodeDisplay( TOOL_ACTION_ARGS()
.LegacyHotkeyName( "DCodes Display Mode" )
.FriendlyName( _( "Show DCodes" ) )
.Tooltip( _( "Show dcode numbers" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::show_dcodenumber ) );
TOOL_ACTION GERBVIEW_ACTIONS::toggleForceOpacityMode( TOOL_ACTION_ARGS()
@ -227,6 +233,7 @@ TOOL_ACTION GERBVIEW_ACTIONS::toggleForceOpacityMode( TOOL_ACTION_ARGS()
.Scope( AS_GLOBAL )
.FriendlyName( _( "Show with Forced Opacity Mode" ) )
.Tooltip( _( "Show layers using opacity color forced mode" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::gbr_select_mode1 ) );
TOOL_ACTION GERBVIEW_ACTIONS::toggleXORMode( TOOL_ACTION_ARGS()
@ -234,6 +241,7 @@ TOOL_ACTION GERBVIEW_ACTIONS::toggleXORMode( TOOL_ACTION_ARGS()
.Scope( AS_GLOBAL )
.FriendlyName( _( "Show in XOR Mode" ) )
.Tooltip( _( "Show layers in exclusive-or compare mode" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::gbr_select_mode2 ) );
TOOL_ACTION GERBVIEW_ACTIONS::flipGerberView( TOOL_ACTION_ARGS()
@ -241,6 +249,7 @@ TOOL_ACTION GERBVIEW_ACTIONS::flipGerberView( TOOL_ACTION_ARGS()
.Scope( AS_GLOBAL )
.FriendlyName( _( "Flip Gerber View" ) )
.Tooltip( _( "Show as mirror image" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::flip_board ) );

View File

@ -198,6 +198,17 @@ public:
void SetToolManager( TOOL_MANAGER* aManager ) { m_toolManager = aManager; }
/**
* Add a TOOL_ACTION-based button to the toolbar.
*
* The toggle/cancel attributes are set using the attributes in the action.
*
* After selecting the entry, a #TOOL_EVENT command containing name of the action is sent.
*
* @param aAction is the action to add.
*/
void Add( const TOOL_ACTION& aAction );
/**
* Add a TOOL_ACTION-based button to the toolbar.
*
@ -207,7 +218,7 @@ public:
* @param aIsToggleEntry makes the toolbar item a toggle entry when true.
* @param aIsCancellable when true, cancels the tool if clicked when tool is active.
*/
void Add( const TOOL_ACTION& aAction, bool aIsToggleEntry = false,
void Add( const TOOL_ACTION& aAction, bool aIsToggleEntry,
bool aIsCancellable = false );
/**

View File

@ -28,6 +28,7 @@
#ifndef __TOOL_ACTION_H
#define __TOOL_ACTION_H
#include <bitset>
#include <cassert>
#include <optional>
#include <string>
@ -56,6 +57,21 @@ enum TOOL_ACTION_FLAGS
AF_NOTIFY = 2 ///< Action is a notification (it is by default passed to all tools)
};
/// Flags that control how actions appear and interact on the toolbar
enum class TOOLBAR_STATE
{
HIDDEN = 0, ///< Action is hidden from the toolbar
TOGGLE = 1, ///< Action is a toggle button on the toolbar
CANCEL = 2, ///< Action can be cancelled by clicking the toolbar button again
ENUM_LENGTH = 3
};
// The length of the TOOLBAR_STATE enum as a size_t (used for bitset creation)
const size_t gToolbarStateNumber = static_cast<size_t>( TOOLBAR_STATE::ENUM_LENGTH );
typedef std::bitset<gToolbarStateNumber> TOOLBAR_STATE_FLAGS;
/**
* Define a group that can be used to group actions (and their events) of similar operations.
*/
@ -228,6 +244,23 @@ public:
return *this;
}
TOOL_ACTION_ARGS& ToolbarState( TOOLBAR_STATE aState )
{
m_toolbarState = TOOLBAR_STATE_FLAGS();
m_toolbarState.value().set( static_cast<size_t>( aState ) );
return *this;
}
TOOL_ACTION_ARGS& ToolbarState( std::initializer_list<TOOLBAR_STATE> aState )
{
m_toolbarState = TOOLBAR_STATE_FLAGS();
for( auto flag : aState )
m_toolbarState.value().set( static_cast<size_t>( flag ) );
return *this;
}
protected:
// Let the TOOL_ACTION constructor have direct access to the members here
friend class TOOL_ACTION;
@ -251,6 +284,8 @@ protected:
std::optional<TOOL_ACTION_GROUP> m_group;
std::optional<TOOLBAR_STATE_FLAGS> m_toolbarState;
ki::any m_param;
};
@ -423,9 +458,24 @@ public:
*/
BITMAPS GetIcon() const
{
return m_icon;
// The value of 0 corresponds to BITMAPS::INVALID_BITMAP, but is just
// used here to make it so we don't need to include the full list in this
// header.
return m_icon.value_or( static_cast<BITMAPS>( 0 ) );
}
/**
* Check if a specific toolbar state is required for this action.
*
* @param aState The state (from TOOLBAR_STATE enum) to check
* @return true if the state should be used for this action
*/
bool CheckToolbarState( TOOLBAR_STATE aState ) const
{
return m_toolbarState[static_cast<std::size_t>( aState )];
}
protected:
TOOL_ACTION();
@ -453,11 +503,13 @@ protected:
wxString m_tooltip; ///< User facing tooltip help text.
std::optional<wxString> m_description; ///< Description of the action.
BITMAPS m_icon; ///< Icon for the menu entry
std::optional<BITMAPS> m_icon; ///< Icon for the menu entry
int m_id; ///< Unique ID for maps. Assigned by #ACTION_MANAGER.
std::optional<int> m_uiid; ///< ID to use when interacting with the UI (if empty, generate one).
TOOLBAR_STATE_FLAGS m_toolbarState; ///< Toolbar state behavior for the action
TOOL_ACTION_FLAGS m_flags;
ki::any m_param; ///< Generic parameter.
};

View File

@ -58,7 +58,7 @@ void PL_EDITOR_FRAME::ReCreateHToolbar()
m_mainToolBar->Add( ACTIONS::zoomInCenter );
m_mainToolBar->Add( ACTIONS::zoomOutCenter );
m_mainToolBar->Add( ACTIONS::zoomFitScreen );
m_mainToolBar->Add( ACTIONS::zoomTool, ACTION_TOOLBAR::TOGGLE, ACTION_TOOLBAR::CANCEL );
m_mainToolBar->Add( ACTIONS::zoomTool );
m_mainToolBar->AddScaledSeparator( this );
m_mainToolBar->Add( PL_ACTIONS::showInspector );
@ -66,8 +66,8 @@ void PL_EDITOR_FRAME::ReCreateHToolbar()
// Display mode switch
m_mainToolBar->AddScaledSeparator( this );
m_mainToolBar->Add( PL_ACTIONS::layoutNormalMode, ACTION_TOOLBAR::TOGGLE );
m_mainToolBar->Add( PL_ACTIONS::layoutEditMode, ACTION_TOOLBAR::TOGGLE );
m_mainToolBar->Add( PL_ACTIONS::layoutNormalMode );
m_mainToolBar->Add( PL_ACTIONS::layoutEditMode );
m_mainToolBar->AddScaledSeparator( this );
wxString choiceList[5] =
@ -141,17 +141,17 @@ void PL_EDITOR_FRAME::ReCreateVToolbar()
m_drawToolBar->SetAuiManager( &m_auimgr );
}
m_drawToolBar->Add( ACTIONS::selectionTool, ACTION_TOOLBAR::TOGGLE );
m_drawToolBar->Add( ACTIONS::selectionTool );
m_drawToolBar->AddScaledSeparator( this );
m_drawToolBar->Add( PL_ACTIONS::drawLine, ACTION_TOOLBAR::TOGGLE );
m_drawToolBar->Add( PL_ACTIONS::drawRectangle, ACTION_TOOLBAR::TOGGLE );
m_drawToolBar->Add( PL_ACTIONS::placeText, ACTION_TOOLBAR::TOGGLE );
m_drawToolBar->Add( PL_ACTIONS::placeImage, ACTION_TOOLBAR::TOGGLE );
m_drawToolBar->Add( PL_ACTIONS::appendImportedDrawingSheet, ACTION_TOOLBAR::TOGGLE );
m_drawToolBar->Add( PL_ACTIONS::drawLine );
m_drawToolBar->Add( PL_ACTIONS::drawRectangle );
m_drawToolBar->Add( PL_ACTIONS::placeText );
m_drawToolBar->Add( PL_ACTIONS::placeImage );
m_drawToolBar->Add( PL_ACTIONS::appendImportedDrawingSheet );
m_drawToolBar->AddScaledSeparator( this );
m_drawToolBar->Add( ACTIONS::deleteTool, ACTION_TOOLBAR::TOGGLE );
m_drawToolBar->Add( ACTIONS::deleteTool );
m_drawToolBar->KiRealize();
}
@ -176,10 +176,10 @@ void PL_EDITOR_FRAME::ReCreateOptToolbar()
gridMenu->Add( ACTIONS::gridProperties );
m_optionsToolBar->AddToolContextMenu( ACTIONS::toggleGrid, std::move( gridMenu ) );
m_optionsToolBar->Add( ACTIONS::toggleGrid, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( ACTIONS::inchesUnits, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( ACTIONS::milsUnits, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( ACTIONS::millimetersUnits, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( ACTIONS::toggleGrid );
m_optionsToolBar->Add( ACTIONS::inchesUnits );
m_optionsToolBar->Add( ACTIONS::milsUnits );
m_optionsToolBar->Add( ACTIONS::millimetersUnits );
m_optionsToolBar->KiRealize();
}

View File

@ -43,6 +43,7 @@ TOOL_ACTION PL_ACTIONS::drawLine( TOOL_ACTION_ARGS()
.Name( "plEditor.InteractiveDrawing.drawLine" )
.Scope( AS_GLOBAL )
.FriendlyName( _( "Draw Lines" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::add_graphical_segments )
.Flags( AF_ACTIVATE )
.Parameter( DS_DATA_ITEM::DS_SEGMENT ) );
@ -51,6 +52,7 @@ TOOL_ACTION PL_ACTIONS::drawRectangle( TOOL_ACTION_ARGS()
.Name( "plEditor.InteractiveDrawing.drawRectangle" )
.Scope( AS_GLOBAL )
.FriendlyName( _( "Draw Rectangles" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::add_rectangle )
.Flags( AF_ACTIVATE )
.Parameter( DS_DATA_ITEM::DS_RECT ) );
@ -59,6 +61,7 @@ TOOL_ACTION PL_ACTIONS::placeText( TOOL_ACTION_ARGS()
.Name( "plEditor.InteractiveDrawing.placeText" )
.Scope( AS_GLOBAL )
.FriendlyName( _( "Draw Text" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::text )
.Flags( AF_ACTIVATE )
.Parameter( DS_DATA_ITEM::DS_TEXT ) );
@ -67,6 +70,7 @@ TOOL_ACTION PL_ACTIONS::placeImage( TOOL_ACTION_ARGS()
.Name( "plEditor.InteractiveDrawing.placeImage" )
.Scope( AS_GLOBAL )
.FriendlyName( _( "Place Bitmaps" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::image )
.Flags( AF_ACTIVATE )
.Parameter( DS_DATA_ITEM::DS_BITMAP ) );
@ -88,6 +92,7 @@ TOOL_ACTION PL_ACTIONS::appendImportedDrawingSheet( TOOL_ACTION_ARGS()
.Scope( AS_GLOBAL )
.FriendlyName( _( "Append Existing Drawing Sheet..." ) )
.Tooltip( _( "Append an existing drawing sheet file to the current file" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::import )
.Flags( AF_ACTIVATE ) );
@ -112,6 +117,7 @@ TOOL_ACTION PL_ACTIONS::layoutNormalMode( TOOL_ACTION_ARGS()
.Scope( AS_GLOBAL )
.FriendlyName( _( "Show Title Block in Preview Mode" ) )
.Tooltip( _( "Text placeholders will be replaced with preview data" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::pagelayout_normal_view_mode ) );
TOOL_ACTION PL_ACTIONS::layoutEditMode( TOOL_ACTION_ARGS()
@ -119,6 +125,7 @@ TOOL_ACTION PL_ACTIONS::layoutEditMode( TOOL_ACTION_ARGS()
.Scope( AS_GLOBAL )
.FriendlyName( _( "Show Title Block in Edit Mode" ) )
.Tooltip( _( "Text placeholders are shown as ${keyword} tokens" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::pagelayout_special_view_mode ) );

View File

@ -1333,7 +1333,7 @@ void FOOTPRINT_EDIT_FRAME::setupUIConditions()
mgr->SetConditions( ACTIONS::showLibraryTree, CHECK( libraryTreeCond ) );
mgr->SetConditions( PCB_ACTIONS::showLayersManager, CHECK( layerManagerCond ) );
mgr->SetConditions( PCB_ACTIONS::showProperties, CHECK( propertiesCond ) );
mgr->SetConditions( ACTIONS::showProperties, CHECK( propertiesCond ) );
mgr->SetConditions( ACTIONS::print, ENABLE( haveFootprintCond ) );
mgr->SetConditions( PCB_ACTIONS::exportFootprint, ENABLE( haveFootprintCond ) );
@ -1388,7 +1388,7 @@ void FOOTPRINT_EDIT_FRAME::setupUIConditions()
CURRENT_EDIT_TOOL( PCB_ACTIONS::drawRadialDimension );
CURRENT_EDIT_TOOL( PCB_ACTIONS::drawLeader );
CURRENT_EDIT_TOOL( PCB_ACTIONS::setAnchor );
CURRENT_EDIT_TOOL( PCB_ACTIONS::gridSetOrigin );
CURRENT_EDIT_TOOL( ACTIONS::gridSetOrigin );
#undef CURRENT_EDIT_TOOL
#undef ENABLE

View File

@ -934,7 +934,7 @@ void PCB_EDIT_FRAME::setupUIConditions()
mgr->SetConditions( PCB_ACTIONS::ratsnestLineMode, CHECK( curvedRatsnestCond ) );
mgr->SetConditions( PCB_ACTIONS::toggleNetHighlight, CHECK( netHighlightCond )
.Enable( enableNetHighlightCond ) );
mgr->SetConditions( PCB_ACTIONS::showProperties, CHECK( propertiesCond ) );
mgr->SetConditions( ACTIONS::showProperties, CHECK( propertiesCond ) );
mgr->SetConditions( PCB_ACTIONS::showNetInspector, CHECK( netInspectorCond ) );
mgr->SetConditions( PCB_ACTIONS::showSearch, CHECK( searchPaneCond ) );
@ -1071,7 +1071,7 @@ void PCB_EDIT_FRAME::setupUIConditions()
CURRENT_EDIT_TOOL( PCB_ACTIONS::drawRadialDimension );
CURRENT_EDIT_TOOL( PCB_ACTIONS::drawLeader );
CURRENT_EDIT_TOOL( PCB_ACTIONS::drillOrigin );
CURRENT_EDIT_TOOL( PCB_ACTIONS::gridSetOrigin );
CURRENT_EDIT_TOOL( ACTIONS::gridSetOrigin );
CURRENT_EDIT_TOOL( PCB_ACTIONS::createArray );
CURRENT_EDIT_TOOL( PCB_ACTIONS::microwaveCreateLine );

View File

@ -72,7 +72,7 @@ void FOOTPRINT_EDIT_FRAME::ReCreateHToolbar()
m_mainToolBar->Add( ACTIONS::zoomInCenter );
m_mainToolBar->Add( ACTIONS::zoomOutCenter );
m_mainToolBar->Add( ACTIONS::zoomFitScreen );
m_mainToolBar->Add( ACTIONS::zoomTool, ACTION_TOOLBAR::TOGGLE, ACTION_TOOLBAR::CANCEL );
m_mainToolBar->Add( ACTIONS::zoomTool );
m_mainToolBar->AddScaledSeparator( this );
m_mainToolBar->Add( PCB_ACTIONS::rotateCcw );
@ -175,30 +175,30 @@ void FOOTPRINT_EDIT_FRAME::ReCreateVToolbar()
}
// clang-format off
m_drawToolBar->Add( ACTIONS::selectionTool, ACTION_TOOLBAR::TOGGLE );
m_drawToolBar->Add( ACTIONS::selectionTool );
m_drawToolBar->AddScaledSeparator( this );
m_drawToolBar->Add( PCB_ACTIONS::placePad, ACTION_TOOLBAR::TOGGLE );
m_drawToolBar->Add( PCB_ACTIONS::drawRuleArea, ACTION_TOOLBAR::TOGGLE );
m_drawToolBar->Add( PCB_ACTIONS::placePad );
m_drawToolBar->Add( PCB_ACTIONS::drawRuleArea );
m_drawToolBar->AddScaledSeparator( this );
m_drawToolBar->Add( PCB_ACTIONS::drawLine, ACTION_TOOLBAR::TOGGLE );
m_drawToolBar->Add( PCB_ACTIONS::drawArc, ACTION_TOOLBAR::TOGGLE );
m_drawToolBar->Add( PCB_ACTIONS::drawRectangle, ACTION_TOOLBAR::TOGGLE );
m_drawToolBar->Add( PCB_ACTIONS::drawCircle, ACTION_TOOLBAR::TOGGLE );
m_drawToolBar->Add( PCB_ACTIONS::drawPolygon, ACTION_TOOLBAR::TOGGLE );
m_drawToolBar->Add( PCB_ACTIONS::drawBezier, ACTION_TOOLBAR::TOGGLE );
m_drawToolBar->Add( PCB_ACTIONS::placeReferenceImage, ACTION_TOOLBAR::TOGGLE );
m_drawToolBar->Add( PCB_ACTIONS::placeText, ACTION_TOOLBAR::TOGGLE );
m_drawToolBar->Add( PCB_ACTIONS::drawTextBox, ACTION_TOOLBAR::TOGGLE );
m_drawToolBar->Add( PCB_ACTIONS::drawTable, ACTION_TOOLBAR::TOGGLE );
m_drawToolBar->Add( PCB_ACTIONS::drawLine );
m_drawToolBar->Add( PCB_ACTIONS::drawArc );
m_drawToolBar->Add( PCB_ACTIONS::drawRectangle );
m_drawToolBar->Add( PCB_ACTIONS::drawCircle );
m_drawToolBar->Add( PCB_ACTIONS::drawPolygon );
m_drawToolBar->Add( PCB_ACTIONS::drawBezier );
m_drawToolBar->Add( PCB_ACTIONS::placeReferenceImage );
m_drawToolBar->Add( PCB_ACTIONS::placeText );
m_drawToolBar->Add( PCB_ACTIONS::drawTextBox );
m_drawToolBar->Add( PCB_ACTIONS::drawTable );
m_drawToolBar->AddGroup( dimensionGroup, ACTION_TOOLBAR::TOGGLE );
m_drawToolBar->Add( ACTIONS::deleteTool, ACTION_TOOLBAR::TOGGLE );
m_drawToolBar->Add( ACTIONS::deleteTool );
m_drawToolBar->AddScaledSeparator( this );
m_drawToolBar->Add( PCB_ACTIONS::setAnchor, ACTION_TOOLBAR::TOGGLE );
m_drawToolBar->Add( PCB_ACTIONS::gridSetOrigin, ACTION_TOOLBAR::TOGGLE );
m_drawToolBar->Add( ACTIONS::measureTool, ACTION_TOOLBAR::TOGGLE );
m_drawToolBar->Add( PCB_ACTIONS::setAnchor );
m_drawToolBar->Add( ACTIONS::gridSetOrigin );
m_drawToolBar->Add( ACTIONS::measureTool );
// clang-format on
PCB_SELECTION_TOOL* selTool = m_toolManager->GetTool<PCB_SELECTION_TOOL>();
@ -233,30 +233,30 @@ void FOOTPRINT_EDIT_FRAME::ReCreateOptToolbar()
m_optionsToolBar->SetAuiManager( &m_auimgr );
}
m_optionsToolBar->Add( ACTIONS::toggleGrid, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( ACTIONS::toggleGridOverrides, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( PCB_ACTIONS::togglePolarCoords, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( ACTIONS::inchesUnits, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( ACTIONS::milsUnits, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( ACTIONS::millimetersUnits, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( ACTIONS::toggleCursorStyle, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( ACTIONS::toggleGrid );
m_optionsToolBar->Add( ACTIONS::toggleGridOverrides );
m_optionsToolBar->Add( PCB_ACTIONS::togglePolarCoords );
m_optionsToolBar->Add( ACTIONS::inchesUnits );
m_optionsToolBar->Add( ACTIONS::milsUnits );
m_optionsToolBar->Add( ACTIONS::millimetersUnits );
m_optionsToolBar->Add( ACTIONS::toggleCursorStyle );
m_optionsToolBar->AddScaledSeparator( this );
m_optionsToolBar->Add( PCB_ACTIONS::toggleHV45Mode, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( PCB_ACTIONS::toggleHV45Mode );
m_optionsToolBar->AddScaledSeparator( this );
m_optionsToolBar->Add( PCB_ACTIONS::padDisplayMode, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( PCB_ACTIONS::graphicsOutlines, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( PCB_ACTIONS::textOutlines, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( ACTIONS::highContrastMode, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( PCB_ACTIONS::padDisplayMode );
m_optionsToolBar->Add( PCB_ACTIONS::graphicsOutlines );
m_optionsToolBar->Add( PCB_ACTIONS::textOutlines );
m_optionsToolBar->Add( ACTIONS::highContrastMode );
if( ADVANCED_CFG::GetCfg().m_DrawBoundingBoxes )
m_optionsToolBar->Add( ACTIONS::toggleBoundingBoxes, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( ACTIONS::toggleBoundingBoxes );
m_optionsToolBar->AddScaledSeparator( this );
m_optionsToolBar->Add( ACTIONS::showLibraryTree, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( PCB_ACTIONS::showLayersManager, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( PCB_ACTIONS::showProperties, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( ACTIONS::showLibraryTree );
m_optionsToolBar->Add( PCB_ACTIONS::showLayersManager );
m_optionsToolBar->Add( ACTIONS::showProperties );
PCB_SELECTION_TOOL* selTool = m_toolManager->GetTool<PCB_SELECTION_TOOL>();
std::unique_ptr<ACTION_MENU> gridMenu = std::make_unique<ACTION_MENU>( false, selTool );

View File

@ -69,7 +69,7 @@ void FOOTPRINT_VIEWER_FRAME::ReCreateHToolbar()
m_mainToolBar->Add( ACTIONS::zoomInCenter );
m_mainToolBar->Add( ACTIONS::zoomOutCenter );
m_mainToolBar->Add( ACTIONS::zoomFitScreen );
m_mainToolBar->Add( ACTIONS::zoomTool, ACTION_TOOLBAR::TOGGLE, ACTION_TOOLBAR::CANCEL );
m_mainToolBar->Add( ACTIONS::zoomTool );
m_mainToolBar->AddScaledSeparator( this );
m_mainToolBar->Add( ACTIONS::show3DViewer );
@ -129,25 +129,25 @@ void FOOTPRINT_VIEWER_FRAME::ReCreateOptToolbar()
m_optionsToolBar->SetAuiManager( &m_auimgr );
}
m_optionsToolBar->Add( ACTIONS::selectionTool, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( ACTIONS::measureTool, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( ACTIONS::selectionTool );
m_optionsToolBar->Add( ACTIONS::measureTool );
m_optionsToolBar->AddScaledSeparator( this );
m_optionsToolBar->Add( ACTIONS::toggleGrid, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( ACTIONS::togglePolarCoords, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( ACTIONS::inchesUnits, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( ACTIONS::milsUnits, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( ACTIONS::millimetersUnits, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( ACTIONS::toggleCursorStyle, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( ACTIONS::toggleGrid );
m_optionsToolBar->Add( ACTIONS::togglePolarCoords );
m_optionsToolBar->Add( ACTIONS::inchesUnits );
m_optionsToolBar->Add( ACTIONS::milsUnits );
m_optionsToolBar->Add( ACTIONS::millimetersUnits );
m_optionsToolBar->Add( ACTIONS::toggleCursorStyle );
m_optionsToolBar->AddScaledSeparator( this );
m_optionsToolBar->Add( PCB_ACTIONS::showPadNumbers, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( PCB_ACTIONS::padDisplayMode, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( PCB_ACTIONS::textOutlines, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( PCB_ACTIONS::graphicsOutlines, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( PCB_ACTIONS::showPadNumbers );
m_optionsToolBar->Add( PCB_ACTIONS::padDisplayMode );
m_optionsToolBar->Add( PCB_ACTIONS::textOutlines );
m_optionsToolBar->Add( PCB_ACTIONS::graphicsOutlines );
if( ADVANCED_CFG::GetCfg().m_DrawBoundingBoxes )
m_optionsToolBar->Add( ACTIONS::toggleBoundingBoxes, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( ACTIONS::toggleBoundingBoxes );
m_optionsToolBar->KiRealize();
}

View File

@ -170,7 +170,7 @@ void PCB_EDIT_FRAME::ReCreateHToolbar()
m_mainToolBar->Add( ACTIONS::zoomOutCenter );
m_mainToolBar->Add( ACTIONS::zoomFitScreen );
m_mainToolBar->Add( ACTIONS::zoomFitObjects );
m_mainToolBar->Add( ACTIONS::zoomTool, ACTION_TOOLBAR::TOGGLE, ACTION_TOOLBAR::CANCEL );
m_mainToolBar->Add( ACTIONS::zoomTool );
m_mainToolBar->AddScaledSeparator( this );
m_mainToolBar->Add( PCB_ACTIONS::rotateCcw );
@ -250,48 +250,48 @@ void PCB_EDIT_FRAME::ReCreateOptToolbar()
m_optionsToolBar->SetAuiManager( &m_auimgr );
}
m_optionsToolBar->Add( ACTIONS::toggleGrid, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( ACTIONS::toggleGridOverrides, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( ACTIONS::toggleGrid );
m_optionsToolBar->Add( ACTIONS::toggleGridOverrides );
m_optionsToolBar->Add( PCB_ACTIONS::togglePolarCoords, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( ACTIONS::inchesUnits, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( ACTIONS::milsUnits, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( ACTIONS::millimetersUnits, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( ACTIONS::toggleCursorStyle, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( PCB_ACTIONS::togglePolarCoords );
m_optionsToolBar->Add( ACTIONS::inchesUnits );
m_optionsToolBar->Add( ACTIONS::milsUnits );
m_optionsToolBar->Add( ACTIONS::millimetersUnits );
m_optionsToolBar->Add( ACTIONS::toggleCursorStyle );
m_optionsToolBar->AddScaledSeparator( this );
m_optionsToolBar->Add( PCB_ACTIONS::toggleHV45Mode, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( PCB_ACTIONS::toggleHV45Mode );
m_optionsToolBar->AddScaledSeparator( this );
m_optionsToolBar->Add( PCB_ACTIONS::showRatsnest, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( PCB_ACTIONS::ratsnestLineMode, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( PCB_ACTIONS::showRatsnest );
m_optionsToolBar->Add( PCB_ACTIONS::ratsnestLineMode );
m_optionsToolBar->AddScaledSeparator( this );
m_optionsToolBar->Add( ACTIONS::highContrastMode, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( PCB_ACTIONS::toggleNetHighlight, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( ACTIONS::highContrastMode );
m_optionsToolBar->Add( PCB_ACTIONS::toggleNetHighlight );
m_optionsToolBar->AddScaledSeparator( this );
m_optionsToolBar->Add( PCB_ACTIONS::zoneDisplayFilled, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( PCB_ACTIONS::zoneDisplayOutline, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( PCB_ACTIONS::zoneDisplayFilled );
m_optionsToolBar->Add( PCB_ACTIONS::zoneDisplayOutline );
if( ADVANCED_CFG::GetCfg().m_ExtraZoneDisplayModes )
{
m_optionsToolBar->Add( PCB_ACTIONS::zoneDisplayFractured, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( PCB_ACTIONS::zoneDisplayTriangulated, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( PCB_ACTIONS::zoneDisplayFractured );
m_optionsToolBar->Add( PCB_ACTIONS::zoneDisplayTriangulated );
}
m_optionsToolBar->AddScaledSeparator( this );
m_optionsToolBar->Add( PCB_ACTIONS::padDisplayMode, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( PCB_ACTIONS::viaDisplayMode, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( PCB_ACTIONS::trackDisplayMode, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( PCB_ACTIONS::padDisplayMode );
m_optionsToolBar->Add( PCB_ACTIONS::viaDisplayMode );
m_optionsToolBar->Add( PCB_ACTIONS::trackDisplayMode );
if( ADVANCED_CFG::GetCfg().m_DrawBoundingBoxes )
m_optionsToolBar->Add( ACTIONS::toggleBoundingBoxes, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( ACTIONS::toggleBoundingBoxes );
// Tools to show/hide toolbars:
m_optionsToolBar->AddScaledSeparator( this );
m_optionsToolBar->Add( PCB_ACTIONS::showLayersManager, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( PCB_ACTIONS::showProperties, ACTION_TOOLBAR::TOGGLE );
m_optionsToolBar->Add( PCB_ACTIONS::showLayersManager );
m_optionsToolBar->Add( ACTIONS::showProperties );
PCB_SELECTION_TOOL* selTool = m_toolManager->GetTool<PCB_SELECTION_TOOL>();
std::unique_ptr<ACTION_MENU> gridMenu = std::make_unique<ACTION_MENU>( false, selTool );
@ -337,7 +337,7 @@ void PCB_EDIT_FRAME::ReCreateVToolbar()
if( !originGroup )
{
originGroup = new ACTION_GROUP( "group.pcbOrigins",
{ &PCB_ACTIONS::gridSetOrigin,
{ &ACTIONS::gridSetOrigin,
&PCB_ACTIONS::drillOrigin } );
}
@ -357,34 +357,34 @@ void PCB_EDIT_FRAME::ReCreateVToolbar()
}
// clang-format off
m_drawToolBar->Add( ACTIONS::selectionTool, ACTION_TOOLBAR::TOGGLE );
m_drawToolBar->Add( PCB_ACTIONS::localRatsnestTool, ACTION_TOOLBAR::TOGGLE );
m_drawToolBar->Add( ACTIONS::selectionTool );
m_drawToolBar->Add( PCB_ACTIONS::localRatsnestTool );
m_drawToolBar->AddScaledSeparator( this );
m_drawToolBar->Add( PCB_ACTIONS::placeFootprint, ACTION_TOOLBAR::TOGGLE );
m_drawToolBar->Add( PCB_ACTIONS::placeFootprint );
m_drawToolBar->AddGroup( routingGroup, ACTION_TOOLBAR::TOGGLE );
m_drawToolBar->AddGroup( tuneGroup, ACTION_TOOLBAR::TOGGLE );
m_drawToolBar->Add( PCB_ACTIONS::drawVia, ACTION_TOOLBAR::TOGGLE );
m_drawToolBar->Add( PCB_ACTIONS::drawZone, ACTION_TOOLBAR::TOGGLE );
m_drawToolBar->Add( PCB_ACTIONS::drawRuleArea, ACTION_TOOLBAR::TOGGLE );
m_drawToolBar->Add( PCB_ACTIONS::drawVia );
m_drawToolBar->Add( PCB_ACTIONS::drawZone );
m_drawToolBar->Add( PCB_ACTIONS::drawRuleArea );
m_drawToolBar->AddScaledSeparator( this );
m_drawToolBar->Add( PCB_ACTIONS::drawLine, ACTION_TOOLBAR::TOGGLE );
m_drawToolBar->Add( PCB_ACTIONS::drawArc, ACTION_TOOLBAR::TOGGLE );
m_drawToolBar->Add( PCB_ACTIONS::drawRectangle, ACTION_TOOLBAR::TOGGLE );
m_drawToolBar->Add( PCB_ACTIONS::drawCircle, ACTION_TOOLBAR::TOGGLE );
m_drawToolBar->Add( PCB_ACTIONS::drawPolygon, ACTION_TOOLBAR::TOGGLE );
m_drawToolBar->Add( PCB_ACTIONS::drawBezier, ACTION_TOOLBAR::TOGGLE );
m_drawToolBar->Add( PCB_ACTIONS::placeReferenceImage, ACTION_TOOLBAR::TOGGLE );
m_drawToolBar->Add( PCB_ACTIONS::placeText, ACTION_TOOLBAR::TOGGLE );
m_drawToolBar->Add( PCB_ACTIONS::drawTextBox, ACTION_TOOLBAR::TOGGLE );
m_drawToolBar->Add( PCB_ACTIONS::drawTable, ACTION_TOOLBAR::TOGGLE );
m_drawToolBar->Add( PCB_ACTIONS::drawLine );
m_drawToolBar->Add( PCB_ACTIONS::drawArc );
m_drawToolBar->Add( PCB_ACTIONS::drawRectangle );
m_drawToolBar->Add( PCB_ACTIONS::drawCircle );
m_drawToolBar->Add( PCB_ACTIONS::drawPolygon );
m_drawToolBar->Add( PCB_ACTIONS::drawBezier );
m_drawToolBar->Add( PCB_ACTIONS::placeReferenceImage );
m_drawToolBar->Add( PCB_ACTIONS::placeText );
m_drawToolBar->Add( PCB_ACTIONS::drawTextBox );
m_drawToolBar->Add( PCB_ACTIONS::drawTable );
m_drawToolBar->AddGroup( dimensionGroup, ACTION_TOOLBAR::TOGGLE );
m_drawToolBar->Add( ACTIONS::deleteTool, ACTION_TOOLBAR::TOGGLE );
m_drawToolBar->Add( ACTIONS::deleteTool );
m_drawToolBar->AddScaledSeparator( this );
m_drawToolBar->AddGroup( originGroup, ACTION_TOOLBAR::TOGGLE );
m_drawToolBar->Add( ACTIONS::measureTool, ACTION_TOOLBAR::TOGGLE );
m_drawToolBar->Add( ACTIONS::measureTool );
// clang-format on
PCB_SELECTION_TOOL* selTool = m_toolManager->GetTool<PCB_SELECTION_TOOL>();

View File

@ -939,6 +939,6 @@ void FOOTPRINT_EDITOR_CONTROL::setTransitions()
Go( &FOOTPRINT_EDITOR_CONTROL::Properties, PCB_ACTIONS::footprintProperties.MakeEvent() );
Go( &FOOTPRINT_EDITOR_CONTROL::DefaultPadProperties, PCB_ACTIONS::defaultPadProperties.MakeEvent() );
Go( &FOOTPRINT_EDITOR_CONTROL::ToggleLayersManager, PCB_ACTIONS::showLayersManager.MakeEvent() );
Go( &FOOTPRINT_EDITOR_CONTROL::ToggleProperties, PCB_ACTIONS::showProperties.MakeEvent() );
Go( &FOOTPRINT_EDITOR_CONTROL::ToggleProperties, ACTIONS::showProperties.MakeEvent() );
// clang-format on
}

View File

@ -106,6 +106,7 @@ TOOL_ACTION PCB_ACTIONS::drawLine( TOOL_ACTION_ARGS()
.DefaultHotkey( MD_CTRL + MD_SHIFT + 'L' )
.LegacyHotkeyName( "Draw Line" )
.FriendlyName( _( "Draw Lines" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::add_graphical_segments )
.Flags( AF_ACTIVATE ) );
@ -115,6 +116,7 @@ TOOL_ACTION PCB_ACTIONS::drawPolygon( TOOL_ACTION_ARGS()
.DefaultHotkey( MD_CTRL + MD_SHIFT + 'P' )
.LegacyHotkeyName( "Draw Graphic Polygon" )
.FriendlyName( _( "Draw Polygons" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::add_graphical_polygon )
.Flags( AF_ACTIVATE )
.Parameter( ZONE_MODE::GRAPHIC_POLYGON ) );
@ -123,6 +125,7 @@ TOOL_ACTION PCB_ACTIONS::drawRectangle( TOOL_ACTION_ARGS()
.Name( "pcbnew.InteractiveDrawing.rectangle" )
.Scope( AS_GLOBAL )
.FriendlyName( _( "Draw Rectangles" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::add_rectangle )
.Flags( AF_ACTIVATE ) );
@ -132,6 +135,7 @@ TOOL_ACTION PCB_ACTIONS::drawCircle( TOOL_ACTION_ARGS()
.DefaultHotkey( MD_CTRL + MD_SHIFT + 'C' )
.LegacyHotkeyName( "Draw Circle" )
.FriendlyName( _( "Draw Circles" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::add_circle )
.Flags( AF_ACTIVATE ) );
@ -141,6 +145,7 @@ TOOL_ACTION PCB_ACTIONS::drawArc( TOOL_ACTION_ARGS()
.DefaultHotkey( MD_CTRL + MD_SHIFT + 'A' )
.LegacyHotkeyName( "Draw Arc" )
.FriendlyName( _( "Draw Arcs" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::add_arc )
.Flags( AF_ACTIVATE ) );
@ -149,6 +154,7 @@ TOOL_ACTION PCB_ACTIONS::drawBezier( TOOL_ACTION_ARGS()
.Scope( AS_GLOBAL )
.DefaultHotkey( MD_CTRL + MD_SHIFT + 'B' )
.FriendlyName( _( "Draw Bezier Curve" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::add_bezier )
.Flags( AF_ACTIVATE ) );
@ -158,6 +164,7 @@ TOOL_ACTION PCB_ACTIONS::placeCharacteristics( TOOL_ACTION_ARGS()
.LegacyHotkeyName( "Add Board Characteristics" )
.FriendlyName( _( "Add Board Characteristics" ) )
.Tooltip( _( "Add a board characteristics table on a graphic layer" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Flags( AF_ACTIVATE ) );
TOOL_ACTION PCB_ACTIONS::placeStackup( TOOL_ACTION_ARGS()
@ -166,6 +173,7 @@ TOOL_ACTION PCB_ACTIONS::placeStackup( TOOL_ACTION_ARGS()
.LegacyHotkeyName( "Add Stackup Table" )
.FriendlyName( _( "Add Stackup Table" ) )
.Tooltip( _( "Add a board stackup table on a graphic layer" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Flags( AF_ACTIVATE ) );
TOOL_ACTION PCB_ACTIONS::placeReferenceImage( TOOL_ACTION_ARGS()
@ -173,6 +181,7 @@ TOOL_ACTION PCB_ACTIONS::placeReferenceImage( TOOL_ACTION_ARGS()
.Scope( AS_GLOBAL )
.FriendlyName( _( "Place Reference Images" ) )
.Tooltip( _( "Add bitmap images to be used as reference (images will not be included in any output)" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::image )
.Flags( AF_ACTIVATE )
.Parameter<PCB_REFERENCE_IMAGE*>( nullptr ) );
@ -183,6 +192,7 @@ TOOL_ACTION PCB_ACTIONS::placeText( TOOL_ACTION_ARGS()
.DefaultHotkey( MD_CTRL + MD_SHIFT + 'T' )
.LegacyHotkeyName( "Add Text" )
.FriendlyName( _( "Draw Text" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::text )
.Flags( AF_ACTIVATE ) );
@ -190,6 +200,7 @@ TOOL_ACTION PCB_ACTIONS::drawTextBox( TOOL_ACTION_ARGS()
.Name( "pcbnew.InteractiveDrawing.textbox" )
.Scope( AS_GLOBAL )
.FriendlyName( _( "Draw Text Boxes" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::add_textbox )
.Flags( AF_ACTIVATE ) );
@ -197,6 +208,7 @@ TOOL_ACTION PCB_ACTIONS::drawTable( TOOL_ACTION_ARGS()
.Name( "pcbnew.InteractiveDrawing.drawTable" )
.Scope( AS_GLOBAL )
.FriendlyName( _( "Draw Tables" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::table )
.Flags( AF_ACTIVATE ) );
@ -242,6 +254,7 @@ TOOL_ACTION PCB_ACTIONS::drawAlignedDimension( TOOL_ACTION_ARGS()
.Scope( AS_GLOBAL )
.LegacyHotkeyName( "Add Dimension" )
.FriendlyName( _( "Draw Aligned Dimensions" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::add_aligned_dimension )
.Flags( AF_ACTIVATE ) );
@ -249,6 +262,7 @@ TOOL_ACTION PCB_ACTIONS::drawCenterDimension( TOOL_ACTION_ARGS()
.Name( "pcbnew.InteractiveDrawing.centerDimension" )
.Scope( AS_GLOBAL )
.FriendlyName( _( "Draw Center Dimensions" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::add_center_dimension )
.Flags( AF_ACTIVATE ) );
@ -256,6 +270,7 @@ TOOL_ACTION PCB_ACTIONS::drawRadialDimension( TOOL_ACTION_ARGS()
.Name( "pcbnew.InteractiveDrawing.radialDimension" )
.Scope( AS_GLOBAL )
.FriendlyName( _( "Draw Radial Dimensions" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::add_radial_dimension )
.Flags( AF_ACTIVATE ) );
@ -264,6 +279,7 @@ TOOL_ACTION PCB_ACTIONS::drawOrthogonalDimension( TOOL_ACTION_ARGS()
.Scope( AS_GLOBAL )
.DefaultHotkey( MD_CTRL + MD_SHIFT + 'H' )
.FriendlyName( _( "Draw Orthogonal Dimensions" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::add_orthogonal_dimension )
.Flags( AF_ACTIVATE ) );
@ -271,6 +287,7 @@ TOOL_ACTION PCB_ACTIONS::drawLeader( TOOL_ACTION_ARGS()
.Name( "pcbnew.InteractiveDrawing.leader" )
.Scope( AS_GLOBAL )
.FriendlyName( _( "Draw Leaders" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::add_leader )
.Flags( AF_ACTIVATE ) );
@ -284,6 +301,7 @@ TOOL_ACTION PCB_ACTIONS::drawZone( TOOL_ACTION_ARGS()
#endif
.LegacyHotkeyName( "Add Filled Zone" )
.FriendlyName( _( "Draw Filled Zones" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::add_zone )
.Flags( AF_ACTIVATE )
.Parameter( ZONE_MODE::ADD ) );
@ -295,6 +313,7 @@ TOOL_ACTION PCB_ACTIONS::drawVia( TOOL_ACTION_ARGS()
.LegacyHotkeyName( "Add Vias" )
.FriendlyName( _( "Place Vias" ) )
.Tooltip( _( "Place free-standing vias" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::add_via )
.Flags( AF_ACTIVATE ) );
@ -304,6 +323,7 @@ TOOL_ACTION PCB_ACTIONS::drawRuleArea( TOOL_ACTION_ARGS()
.DefaultHotkey( MD_CTRL + MD_SHIFT + 'K' )
.LegacyHotkeyName( "Add Keepout Area" )
.FriendlyName( _( "Draw Rule Areas" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::add_keepout_area )
.Flags( AF_ACTIVATE )
.Parameter( ZONE_MODE::ADD ) );
@ -315,6 +335,7 @@ TOOL_ACTION PCB_ACTIONS::drawZoneCutout( TOOL_ACTION_ARGS()
.LegacyHotkeyName( "Add a Zone Cutout" )
.FriendlyName( _( "Add a Zone Cutout" ) )
.Tooltip( _( "Add a cutout to an existing zone or rule area" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::add_zone_cutout )
.Flags( AF_ACTIVATE )
.Parameter( ZONE_MODE::CUTOUT ) );
@ -347,6 +368,7 @@ TOOL_ACTION PCB_ACTIONS::setAnchor( TOOL_ACTION_ARGS()
.LegacyHotkeyName( "Place the Footprint Anchor" )
.FriendlyName( _( "Place the Footprint Anchor" ) )
.Tooltip( _( "Set the anchor point of the footprint" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::anchor )
.Flags( AF_ACTIVATE ) );
@ -945,6 +967,7 @@ TOOL_ACTION PCB_ACTIONS::placePad( TOOL_ACTION_ARGS()
.Scope( AS_GLOBAL )
.FriendlyName( _( "Add Pad" ) )
.Tooltip( _( "Add a pad" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::pad )
.Flags( AF_ACTIVATE ) );
@ -1135,6 +1158,7 @@ TOOL_ACTION PCB_ACTIONS::placeFootprint( TOOL_ACTION_ARGS()
.DefaultHotkey( 'A' )
.LegacyHotkeyName( "Add Footprint" )
.FriendlyName( _( "Place Footprints" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::module )
.Flags( AF_ACTIVATE )
.Parameter<FOOTPRINT*>( nullptr ) );
@ -1173,6 +1197,7 @@ TOOL_ACTION PCB_ACTIONS::toggleHV45Mode( TOOL_ACTION_ARGS()
.DefaultHotkey( MD_SHIFT + ' ' )
.FriendlyName( _( "Constrain to H, V, 45" ) )
.Tooltip( _( "Limit actions to horizontal, vertical, or 45 degrees from the starting point" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::hv45mode ) );
TOOL_ACTION PCB_ACTIONS::lock( TOOL_ACTION_ARGS()
@ -1260,6 +1285,7 @@ TOOL_ACTION PCB_ACTIONS::toggleNetHighlight( TOOL_ACTION_ARGS()
.Scope( AS_GLOBAL )
.DefaultHotkey( MD_ALT + '`' )
.FriendlyName( _( "Toggle Net Highlight" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::net_highlight )
.Parameter<int>( 0 ) );
@ -1307,6 +1333,7 @@ TOOL_ACTION PCB_ACTIONS::localRatsnestTool( TOOL_ACTION_ARGS()
.Scope( AS_GLOBAL )
.FriendlyName( _( "Local Ratsnest" ) )
.Tooltip( _( "Toggle ratsnest display of selected item(s)" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::tool_ratsnest )
.Flags( AF_ACTIVATE ) );
@ -1331,6 +1358,7 @@ TOOL_ACTION PCB_ACTIONS::showLayersManager( TOOL_ACTION_ARGS()
.Scope( AS_GLOBAL )
.FriendlyName( _( "Appearance" ) )
.Tooltip( _( "Show/hide the appearance manager" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::layers_manager ) );
TOOL_ACTION PCB_ACTIONS::showNetInspector( TOOL_ACTION_ARGS()
@ -1338,6 +1366,7 @@ TOOL_ACTION PCB_ACTIONS::showNetInspector( TOOL_ACTION_ARGS()
.Scope( AS_GLOBAL )
.FriendlyName( _( "Net Inspector" ) )
.Tooltip( _( "Show/hide the net inspector" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::tools ) );
TOOL_ACTION PCB_ACTIONS::zonesManager( "pcbnew.Control.zonesManager",
@ -1359,6 +1388,7 @@ TOOL_ACTION PCB_ACTIONS::showRatsnest( TOOL_ACTION_ARGS()
.Scope( AS_GLOBAL )
.FriendlyName( _( "Show Ratsnest" ) )
.Tooltip( _( "Show lines/arcs representing missing connections on the board" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::general_ratsnest ) );
TOOL_ACTION PCB_ACTIONS::ratsnestLineMode( TOOL_ACTION_ARGS()
@ -1366,6 +1396,7 @@ TOOL_ACTION PCB_ACTIONS::ratsnestLineMode( TOOL_ACTION_ARGS()
.Scope( AS_GLOBAL )
.FriendlyName( _( "Curved Ratsnest Lines" ) )
.Tooltip( _( "Show ratsnest with curved lines" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::curved_ratsnest ) );
TOOL_ACTION PCB_ACTIONS::ratsnestModeCycle( TOOL_ACTION_ARGS()
@ -1387,6 +1418,7 @@ TOOL_ACTION PCB_ACTIONS::trackDisplayMode( TOOL_ACTION_ARGS()
.LegacyHotkeyName( "Track Display Mode" )
.FriendlyName( _( "Sketch Tracks" ) )
.Tooltip( _( "Show tracks in outline mode" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::showtrack ) );
TOOL_ACTION PCB_ACTIONS::padDisplayMode( TOOL_ACTION_ARGS()
@ -1394,6 +1426,7 @@ TOOL_ACTION PCB_ACTIONS::padDisplayMode( TOOL_ACTION_ARGS()
.Scope( AS_GLOBAL )
.FriendlyName( _( "Sketch Pads" ) )
.Tooltip( _( "Show pads in outline mode" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::pad_sketch ) );
TOOL_ACTION PCB_ACTIONS::viaDisplayMode( TOOL_ACTION_ARGS()
@ -1401,6 +1434,7 @@ TOOL_ACTION PCB_ACTIONS::viaDisplayMode( TOOL_ACTION_ARGS()
.Scope( AS_GLOBAL )
.FriendlyName( _( "Sketch Vias" ) )
.Tooltip( _( "Show vias in outline mode" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::via_sketch ) );
TOOL_ACTION PCB_ACTIONS::graphicsOutlines( TOOL_ACTION_ARGS()
@ -1408,6 +1442,7 @@ TOOL_ACTION PCB_ACTIONS::graphicsOutlines( TOOL_ACTION_ARGS()
.Scope( AS_GLOBAL )
.FriendlyName( _( "Sketch Graphic Items" ) )
.Tooltip( _( "Show graphic items in outline mode" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::show_mod_edge ) );
TOOL_ACTION PCB_ACTIONS::textOutlines( TOOL_ACTION_ARGS()
@ -1415,12 +1450,14 @@ TOOL_ACTION PCB_ACTIONS::textOutlines( TOOL_ACTION_ARGS()
.Scope( AS_GLOBAL )
.FriendlyName( _( "Sketch Text Items" ) )
.Tooltip( _( "Show footprint texts in line mode" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::text_sketch ) );
TOOL_ACTION PCB_ACTIONS::showPadNumbers( TOOL_ACTION_ARGS()
.Name( "pcbnew.Control.showPadNumbers" )
.Scope( AS_GLOBAL )
.FriendlyName( _( "Show Pad Numbers" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::pad_number ) );
TOOL_ACTION PCB_ACTIONS::zoneDisplayFilled( TOOL_ACTION_ARGS()
@ -1428,6 +1465,7 @@ TOOL_ACTION PCB_ACTIONS::zoneDisplayFilled( TOOL_ACTION_ARGS()
.Scope( AS_GLOBAL )
.FriendlyName( _( "Draw Zone Fills" ) )
.Tooltip( _( "Show filled areas of zones" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::show_zone ) );
TOOL_ACTION PCB_ACTIONS::zoneDisplayOutline( TOOL_ACTION_ARGS()
@ -1435,18 +1473,21 @@ TOOL_ACTION PCB_ACTIONS::zoneDisplayOutline( TOOL_ACTION_ARGS()
.Scope( AS_GLOBAL )
.FriendlyName( _( "Draw Zone Outlines" ) )
.Tooltip( _( "Show only zone boundaries" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::show_zone_disable ) );
TOOL_ACTION PCB_ACTIONS::zoneDisplayFractured( TOOL_ACTION_ARGS()
.Name( "pcbnew.Control.zoneDisplayOutlines" )
.Scope( AS_GLOBAL )
.FriendlyName( _( "Draw Zone Fill Fracture Borders" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::show_zone_outline_only ) );
TOOL_ACTION PCB_ACTIONS::zoneDisplayTriangulated( TOOL_ACTION_ARGS()
.Name( "pcbnew.Control.zoneDisplayTesselation" )
.Scope( AS_GLOBAL )
.FriendlyName( _( "Draw Zone Fill Triangulation" ) )
.ToolbarState( TOOLBAR_STATE::TOGGLE )
.Icon( BITMAPS::show_zone_triangulation ) );
TOOL_ACTION PCB_ACTIONS::zoneDisplayToggle( TOOL_ACTION_ARGS()