/* * This program source code file is part of KiCad, a free EDA CAD application. * * Copyright (C) 2017 Jon Evans * Copyright (C) 2017-2019 KiCad Developers, see AUTHORS.txt for contributors. * * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the * Free Software Foundation, either version 3 of the License, or (at your * option) any later version. * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program. If not, see . */ #include "tool/tool_action.h" #include #include #include #include // Actions, being statically-defined, require specialized I18N handling. We continue to // use the _() macro so that string harvesting by the I18N framework doesn't have to be // specialized, but we don't translate on initialization and instead do it in the getters. #undef _ #define _(s) s // Selection tool action for the footprint viewer window TOOL_ACTION CVPCB_ACTIONS::selectionActivate( "cvpcb.FootprintViewerInteractiveSelection", AS_GLOBAL, 0, "", "", "", // No description, it is not supposed to be shown anywhere BITMAPS::INVALID_BITMAP, AF_ACTIVATE ); TOOL_ACTION CVPCB_ACTIONS::controlActivate( "cvpcb.Control", AS_GLOBAL, 0, "", "", "", // No description, it is not supposed to be shown anywhere BITMAPS::INVALID_BITMAP, AF_ACTIVATE ); // Action to show the footprint viewer window TOOL_ACTION CVPCB_ACTIONS::showFootprintViewer( "cvpcb.Control.ShowFootprintViewer", AS_GLOBAL, 0, "", _( "View selected footprint" ), _( "View the selected footprint in the footprint viewer" ), BITMAPS::show_footprint ); // Actions to handle management tasks TOOL_ACTION CVPCB_ACTIONS::showEquFileTable( "cvpcb.Control.ShowEquFileTable", AS_GLOBAL, 0, "", _( "Manage Footprint Association Files" ), _( "Configure footprint association file (.equ) list. These files are " "used to automatically assign footprint names from symbol values." ) ); TOOL_ACTION CVPCB_ACTIONS::saveAssociationsToSchematic( "cvpcb.Control.SaveAssociationsToSchematic", AS_GLOBAL, MD_CTRL + 'S', LEGACY_HK_NAME( "Save" ), _( "Save to Schematic" ), _( "Save footprint associations in schematic symbol footprint fields" ), BITMAPS::save ); TOOL_ACTION CVPCB_ACTIONS::saveAssociationsToFile( "cvpcb.Control.SaveAssociationsToFile", AS_GLOBAL, MD_CTRL + 'S', LEGACY_HK_NAME( "Save" ), _( "Save to Schematic and File" ), _( "Save footprint associations in schematic symbol footprint fields and schematic files" ), BITMAPS::save ); // Actions to navigate the display TOOL_ACTION CVPCB_ACTIONS::changeFocusRight( TOOL_ACTION_ARGS() .Name( "cvpcb.Control.changeFocusRight" ) .Scope( AS_GLOBAL ) .DefaultHotkey( WXK_TAB ) .Flags( AF_NONE ) .Parameter( CVPCB_MAINFRAME::CHANGE_FOCUS_RIGHT ) ); TOOL_ACTION CVPCB_ACTIONS::changeFocusLeft( TOOL_ACTION_ARGS() .Name( "cvpcb.Control.changeFocusLeft" ) .Scope( AS_GLOBAL ) .DefaultHotkey( MD_SHIFT + WXK_TAB ) .Flags( AF_NONE ) .Parameter( CVPCB_MAINFRAME::CHANGE_FOCUS_LEFT ) ); // Actions to navigate the component list TOOL_ACTION CVPCB_ACTIONS::gotoNextNA( TOOL_ACTION_ARGS() .Name( "cvpcb.Control.GotoNextNA" ) .Scope( AS_GLOBAL ) .MenuText( _( "Select next unassigned symbol" ) ) .Tooltip( _( "Select next symbol with no footprint assignment" ) ) .Icon( BITMAPS::right ) .Flags( AF_NONE ) .Parameter( CVPCB_MAINFRAME::ITEM_NEXT ) ); TOOL_ACTION CVPCB_ACTIONS::gotoPreviousNA( TOOL_ACTION_ARGS() .Name( "cvpcb.Control.GotoPreviousNA" ) .Scope( AS_GLOBAL ) .MenuText( _( "Select previous unassigned symbol" ) ) .Tooltip( _( "Select previous symbol with no footprint assignment" ) ) .Icon( BITMAPS::left ) .Flags( AF_NONE ) .Parameter( CVPCB_MAINFRAME::ITEM_PREV ) ); // Actions to modify component associations TOOL_ACTION CVPCB_ACTIONS::associate( "cvpcb.Association.Associate", AS_GLOBAL, WXK_RETURN, "", _( "Assign footprint" ), _( "Assign footprint to selected symbols" ), BITMAPS::auto_associate ); TOOL_ACTION CVPCB_ACTIONS::autoAssociate( "cvpcb.Association.AutoAssociate", AS_GLOBAL, 0, "", _( "Automatically assign footprints" ), _( "Perform automatic footprint assignment" ), BITMAPS::auto_associate ); TOOL_ACTION CVPCB_ACTIONS::deleteAssoc( "cvpcb.Association.Delete", AS_GLOBAL, WXK_DELETE, "", _( "Delete association" ), _( "Delete selected footprint associations" ), BITMAPS::delete_association ); TOOL_ACTION CVPCB_ACTIONS::deleteAll( "cvpcb.Association.DeleteAll", AS_GLOBAL, 0, "", _( "Delete all footprint associations" ), _( "Delete all footprint associations" ), BITMAPS::delete_association ); // Actions to filter the footprint list TOOL_ACTION CVPCB_ACTIONS::FilterFPbyFPFilters( TOOL_ACTION_ARGS() .Name( "cvpcb.Control.FilterFPbyFPFilters" ) .Scope( AS_GLOBAL ) .MenuText( _( "Use symbol footprint filters" ) ) .Tooltip( _( "Filter footprint list by footprint filters defined in the symbol" ) ) .Icon( BITMAPS::module_filtered_list ) .Flags( AF_NONE ) .Parameter( FOOTPRINTS_LISTBOX::FILTERING_BY_COMPONENT_FP_FILTERS ) ); TOOL_ACTION CVPCB_ACTIONS::filterFPbyPin( TOOL_ACTION_ARGS() .Name( "cvpcb.Control.FilterFPByPin" ) .Scope( AS_GLOBAL ) .MenuText( _( "Filter by pin count" ) ) .Tooltip( _( "Filter footprint list by pin count" ) ) .Icon( BITMAPS::module_pin_filtered_list ) .Flags( AF_NONE ) .Parameter( FOOTPRINTS_LISTBOX::FILTERING_BY_PIN_COUNT ) ); TOOL_ACTION CVPCB_ACTIONS::FilterFPbyLibrary( TOOL_ACTION_ARGS() .Name( "cvpcb.Control.FilterFPbyLibrary" ) .Scope( AS_GLOBAL ) .MenuText( _( "Filter by library" ) ) .Tooltip( _( "Filter footprint list by library" ) ) .Icon( BITMAPS::module_library_list ) .Flags( AF_NONE ) .Parameter( FOOTPRINTS_LISTBOX::FILTERING_BY_LIBRARY ) );