Clean up some commenting and rename MODULE_EDITOR_TOOLs to match filename.

This commit is contained in:
Jeff Young 2020-05-03 11:27:33 +01:00
parent 05afbcc22e
commit 889b6cb1b1
8 changed files with 76 additions and 86 deletions

View File

@ -22,12 +22,6 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
*/
/**
* @file class_module.h
* @brief Module description (excepted pads)
*/
#ifndef MODULE_H_
#define MODULE_H_
@ -354,21 +348,20 @@ public:
/**
* function TransformPadsShapesWithClearanceToPolygon
* generate pads shapes on layer aLayer as polygons,
* and adds these polygons to aCornerBuffer
* Useful to generate a polygonal representation of a footprint
* in 3D view and plot functions, when a full polygonal approach is needed
* generate pads shapes on layer aLayer as polygons and adds these polygons to aCornerBuffer
* Useful to generate a polygonal representation of a footprint in 3D view and plot functions,
* when a full polygonal approach is needed
* @param aLayer = the layer to consider, or UNDEFINED_LAYER to consider all
* @param aCornerBuffer = the buffer to store polygons
* @param aInflateValue = an additionnal size to add to pad shapes
* aInflateValue = 0 to have the exact pad size
* @param aMaxError = Maximum deviation from true for arcs
* @param aSkipNPTHPadsWihNoCopper = if true, do not add a NPTH pad shape,
* if the shape has same size and position as the hole. Usually, these
* pads are not drawn on copper layers, because there is actually no copper
* Due to diff between layers and holes, these pads must be skipped to be sure
* there is no copper left on the board (for instance when creating Gerber Files or 3D shapes)
* default = false
* @param aSkipNPTHPadsWihNoCopper = if true, do not add a NPTH pad shape, if the shape has
* same size and position as the hole. Usually, these pads are not drawn on copper
* layers, because there is actually no copper
* Due to diff between layers and holes, these pads must be skipped to be sure
* there is no copper left on the board (for instance when creating Gerber Files or
* 3D shapes). Defaults to false.
*/
void TransformPadsShapesWithClearanceToPolygon( PCB_LAYER_ID aLayer,
SHAPE_POLY_SET& aCornerBuffer, int aInflateValue, int aMaxError = ARC_HIGH_DEF,
@ -376,10 +369,10 @@ public:
/**
* function TransformGraphicShapesWithClearanceToPolygonSet
* generate shapes of graphic items (outlines) on layer aLayer as polygons,
* and adds these polygons to aCornerBuffer
* Useful to generate a polygonal representation of a footprint
* in 3D view and plot functions, when a full polygonal approach is needed
* generate shapes of graphic items (outlines) on layer aLayer as polygons and adds these
* polygons to aCornerBuffer
* Useful to generate a polygonal representation of a footprint in 3D view and plot functions,
* when a full polygonal approach is needed
* @param aLayer = the layer to consider, or UNDEFINED_LAYER to consider all
* @param aCornerBuffer = the buffer to store polygons
* @param aInflateValue = a value to inflate shapes
@ -556,7 +549,7 @@ public:
/**
* Function DuplicateItem
* Duplicate a given item within the module, without adding to the board
* Duplicate a given item within the module, optionally adding it to the board
* @return the new item, or NULL if the item could not be duplicated
*/
BOARD_ITEM* DuplicateItem( const BOARD_ITEM* aItem, bool aAddToModule = false );
@ -592,8 +585,7 @@ public:
void RunOnChildren( const std::function<void (BOARD_ITEM*)>& aFunction );
/**
* Returns a set of all layers that this module has drawings on
* similar to ViewGetLayers()
* Returns a set of all layers that this module has drawings on similar to ViewGetLayers()
*
* @param aLayers is an array to store layer ids
* @param aCount is the number of layers stored in the array
@ -663,12 +655,10 @@ public:
SHAPE_POLY_SET& GetPolyCourtyardFront() { return m_poly_courtyard_front; }
SHAPE_POLY_SET& GetPolyCourtyardBack() { return m_poly_courtyard_back; }
/** Used in DRC to build the courtyard area (a complex polygon)
* from graphic items put on the courtyard
/**
* Builds a complex polygon of the courtyard area from graphic items on the courtyard layer
* @return true if OK, or no courtyard defined,
* false only if the polygon cannot be built due to amalformed courtyard shape
* The polygon cannot be built if segments/arcs on courtyard layers
* cannot be grouped in a polygon.
* false only if the polygon cannot be built due to a malformed courtyard shape
*/
bool BuildPolyCourtyard();

View File

@ -101,7 +101,7 @@ void PCB_BASE_FRAME::InstallPadOptionsFrame( D_PAD* aPad )
if( dlg.ShowQuasiModal() == wxID_OK ) // QuasiModal required for NET_SELECTOR
{
MODULE_EDITOR_TOOLS* fpTools = m_toolManager->GetTool<MODULE_EDITOR_TOOLS>();
FOOTPRINT_EDITOR_TOOLS* fpTools = m_toolManager->GetTool<FOOTPRINT_EDITOR_TOOLS>();
fpTools->SetLastPadName( aPad->GetName() );
}
}

View File

@ -844,7 +844,7 @@ void FOOTPRINT_EDIT_FRAME::setupTools()
m_toolManager->RegisterTool( new DRAWING_TOOL );
m_toolManager->RegisterTool( new POINT_EDITOR );
m_toolManager->RegisterTool( new PCBNEW_CONTROL );
m_toolManager->RegisterTool( new MODULE_EDITOR_TOOLS );
m_toolManager->RegisterTool( new FOOTPRINT_EDITOR_TOOLS );
m_toolManager->RegisterTool( new ALIGN_DISTRIBUTE_TOOL );
m_toolManager->RegisterTool( new PCBNEW_PICKER_TOOL );
m_toolManager->RegisterTool( new POSITION_RELATIVE_TOOL );

View File

@ -50,7 +50,7 @@ FP_TREE_SYNCHRONIZING_ADAPTER::FP_TREE_SYNCHRONIZING_ADAPTER( FOOTPRINT_EDIT_FRA
TOOL_INTERACTIVE* FP_TREE_SYNCHRONIZING_ADAPTER::GetContextMenuTool()
{
return m_frame->GetToolManager()->GetTool<MODULE_EDITOR_TOOLS>();
return m_frame->GetToolManager()->GetTool<FOOTPRINT_EDITOR_TOOLS>();
}

View File

@ -1142,7 +1142,7 @@ int EDIT_TOOL::Duplicate( const TOOL_EVENT& aEvent )
if( increment && item->Type() == PCB_PAD_T
&& PAD_NAMING::PadCanHaveName( *static_cast<D_PAD*>( dupe_item ) ) )
{
MODULE_EDITOR_TOOLS* modEdit = m_toolMgr->GetTool<MODULE_EDITOR_TOOLS>();
FOOTPRINT_EDITOR_TOOLS* modEdit = m_toolMgr->GetTool<FOOTPRINT_EDITOR_TOOLS>();
wxString padName = modEdit->GetLastPadName();
padName = editModule->GetNextPadName( padName );
modEdit->SetLastPadName( padName );

View File

@ -55,19 +55,19 @@ using namespace std::placeholders;
#include <wx/defs.h>
MODULE_EDITOR_TOOLS::MODULE_EDITOR_TOOLS() :
FOOTPRINT_EDITOR_TOOLS::FOOTPRINT_EDITOR_TOOLS() :
PCB_TOOL_BASE( "pcbnew.ModuleEditor" ),
m_frame( nullptr )
{
}
MODULE_EDITOR_TOOLS::~MODULE_EDITOR_TOOLS()
FOOTPRINT_EDITOR_TOOLS::~FOOTPRINT_EDITOR_TOOLS()
{
}
void MODULE_EDITOR_TOOLS::Reset( RESET_REASON aReason )
void FOOTPRINT_EDITOR_TOOLS::Reset( RESET_REASON aReason )
{
m_frame = getEditFrame<FOOTPRINT_EDIT_FRAME>();
@ -76,7 +76,7 @@ void MODULE_EDITOR_TOOLS::Reset( RESET_REASON aReason )
}
bool MODULE_EDITOR_TOOLS::Init()
bool FOOTPRINT_EDITOR_TOOLS::Init()
{
// Build a context menu for the footprint tree
//
@ -135,7 +135,7 @@ bool MODULE_EDITOR_TOOLS::Init()
}
int MODULE_EDITOR_TOOLS::NewFootprint( const TOOL_EVENT& aEvent )
int FOOTPRINT_EDITOR_TOOLS::NewFootprint( const TOOL_EVENT& aEvent )
{
wxCommandEvent evt( wxEVT_NULL, ID_MODEDIT_NEW_MODULE );
getEditFrame<FOOTPRINT_EDIT_FRAME>()->Process_Special_Functions( evt );
@ -143,7 +143,7 @@ int MODULE_EDITOR_TOOLS::NewFootprint( const TOOL_EVENT& aEvent )
}
int MODULE_EDITOR_TOOLS::CreateFootprint( const TOOL_EVENT& aEvent )
int FOOTPRINT_EDITOR_TOOLS::CreateFootprint( const TOOL_EVENT& aEvent )
{
wxCommandEvent evt( wxEVT_NULL, ID_MODEDIT_NEW_MODULE_FROM_WIZARD );
getEditFrame<FOOTPRINT_EDIT_FRAME>()->Process_Special_Functions( evt );
@ -151,7 +151,7 @@ int MODULE_EDITOR_TOOLS::CreateFootprint( const TOOL_EVENT& aEvent )
}
int MODULE_EDITOR_TOOLS::Save( const TOOL_EVENT& aEvent )
int FOOTPRINT_EDITOR_TOOLS::Save( const TOOL_EVENT& aEvent )
{
wxCommandEvent evt( wxEVT_NULL, ID_MODEDIT_SAVE );
getEditFrame<FOOTPRINT_EDIT_FRAME>()->Process_Special_Functions( evt );
@ -159,7 +159,7 @@ int MODULE_EDITOR_TOOLS::Save( const TOOL_EVENT& aEvent )
}
int MODULE_EDITOR_TOOLS::SaveAs( const TOOL_EVENT& aEvent )
int FOOTPRINT_EDITOR_TOOLS::SaveAs( const TOOL_EVENT& aEvent )
{
wxCommandEvent evt( wxEVT_NULL, ID_MODEDIT_SAVE_AS );
getEditFrame<FOOTPRINT_EDIT_FRAME>()->Process_Special_Functions( evt );
@ -167,14 +167,14 @@ int MODULE_EDITOR_TOOLS::SaveAs( const TOOL_EVENT& aEvent )
}
int MODULE_EDITOR_TOOLS::Revert( const TOOL_EVENT& aEvent )
int FOOTPRINT_EDITOR_TOOLS::Revert( const TOOL_EVENT& aEvent )
{
getEditFrame<FOOTPRINT_EDIT_FRAME>()->RevertFootprint();
return 0;
}
int MODULE_EDITOR_TOOLS::CutCopyFootprint( const TOOL_EVENT& aEvent )
int FOOTPRINT_EDITOR_TOOLS::CutCopyFootprint( const TOOL_EVENT& aEvent )
{
LIB_ID fpID = m_frame->GetTreeFPID();
@ -190,7 +190,7 @@ int MODULE_EDITOR_TOOLS::CutCopyFootprint( const TOOL_EVENT& aEvent )
}
int MODULE_EDITOR_TOOLS::PasteFootprint( const TOOL_EVENT& aEvent )
int FOOTPRINT_EDITOR_TOOLS::PasteFootprint( const TOOL_EVENT& aEvent )
{
if( m_copiedModule && !m_frame->GetTreeFPID().GetLibNickname().empty() )
{
@ -212,7 +212,7 @@ int MODULE_EDITOR_TOOLS::PasteFootprint( const TOOL_EVENT& aEvent )
}
int MODULE_EDITOR_TOOLS::DeleteFootprint( const TOOL_EVENT& aEvent )
int FOOTPRINT_EDITOR_TOOLS::DeleteFootprint( const TOOL_EVENT& aEvent )
{
FOOTPRINT_EDIT_FRAME* frame = getEditFrame<FOOTPRINT_EDIT_FRAME>();
@ -228,7 +228,7 @@ int MODULE_EDITOR_TOOLS::DeleteFootprint( const TOOL_EVENT& aEvent )
}
int MODULE_EDITOR_TOOLS::ImportFootprint( const TOOL_EVENT& aEvent )
int FOOTPRINT_EDITOR_TOOLS::ImportFootprint( const TOOL_EVENT& aEvent )
{
if( !m_frame->Clear_Pcb( true ) )
return -1; // this command is aborted
@ -250,7 +250,7 @@ int MODULE_EDITOR_TOOLS::ImportFootprint( const TOOL_EVENT& aEvent )
}
int MODULE_EDITOR_TOOLS::ExportFootprint( const TOOL_EVENT& aEvent )
int FOOTPRINT_EDITOR_TOOLS::ExportFootprint( const TOOL_EVENT& aEvent )
{
LIB_ID fpID = m_frame->GetTreeFPID();
MODULE* fp;
@ -265,14 +265,14 @@ int MODULE_EDITOR_TOOLS::ExportFootprint( const TOOL_EVENT& aEvent )
}
int MODULE_EDITOR_TOOLS::EditFootprint( const TOOL_EVENT& aEvent )
int FOOTPRINT_EDITOR_TOOLS::EditFootprint( const TOOL_EVENT& aEvent )
{
m_frame->LoadModuleFromLibrary( m_frame->GetTreeFPID() );
return 0;
}
int MODULE_EDITOR_TOOLS::PinLibrary( const TOOL_EVENT& aEvent )
int FOOTPRINT_EDITOR_TOOLS::PinLibrary( const TOOL_EVENT& aEvent )
{
LIB_TREE_NODE* currentNode = m_frame->GetCurrentTreeNode();
@ -286,7 +286,7 @@ int MODULE_EDITOR_TOOLS::PinLibrary( const TOOL_EVENT& aEvent )
}
int MODULE_EDITOR_TOOLS::UnpinLibrary( const TOOL_EVENT& aEvent )
int FOOTPRINT_EDITOR_TOOLS::UnpinLibrary( const TOOL_EVENT& aEvent )
{
LIB_TREE_NODE* currentNode = m_frame->GetCurrentTreeNode();
@ -300,14 +300,14 @@ int MODULE_EDITOR_TOOLS::UnpinLibrary( const TOOL_EVENT& aEvent )
}
int MODULE_EDITOR_TOOLS::ToggleFootprintTree( const TOOL_EVENT& aEvent )
int FOOTPRINT_EDITOR_TOOLS::ToggleFootprintTree( const TOOL_EVENT& aEvent )
{
m_frame->ToggleSearchTree();
return 0;
}
int MODULE_EDITOR_TOOLS::Properties( const TOOL_EVENT& aEvent )
int FOOTPRINT_EDITOR_TOOLS::Properties( const TOOL_EVENT& aEvent )
{
MODULE* footprint = m_frame->GetBoard()->GetFirstModule();
@ -320,21 +320,21 @@ int MODULE_EDITOR_TOOLS::Properties( const TOOL_EVENT& aEvent )
}
int MODULE_EDITOR_TOOLS::DefaultPadProperties( const TOOL_EVENT& aEvent )
int FOOTPRINT_EDITOR_TOOLS::DefaultPadProperties( const TOOL_EVENT& aEvent )
{
getEditFrame<FOOTPRINT_EDIT_FRAME>()->InstallPadOptionsFrame( nullptr );
return 0;
}
int MODULE_EDITOR_TOOLS::PlacePad( const TOOL_EVENT& aEvent )
int FOOTPRINT_EDITOR_TOOLS::PlacePad( const TOOL_EVENT& aEvent )
{
if( !m_frame->GetBoard()->GetFirstModule() )
return 0;
struct PAD_PLACER : public INTERACTIVE_PLACER_BASE
{
PAD_PLACER( MODULE_EDITOR_TOOLS* aFPEditTools )
PAD_PLACER( FOOTPRINT_EDITOR_TOOLS* aFPEditTools )
{
m_fpEditTools = aFPEditTools;
}
@ -375,7 +375,7 @@ int MODULE_EDITOR_TOOLS::PlacePad( const TOOL_EVENT& aEvent )
return false;
}
MODULE_EDITOR_TOOLS* m_fpEditTools;
FOOTPRINT_EDITOR_TOOLS* m_fpEditTools;
};
PAD_PLACER placer( this );
@ -387,7 +387,7 @@ int MODULE_EDITOR_TOOLS::PlacePad( const TOOL_EVENT& aEvent )
}
int MODULE_EDITOR_TOOLS::ExplodePadToShapes( const TOOL_EVENT& aEvent )
int FOOTPRINT_EDITOR_TOOLS::ExplodePadToShapes( const TOOL_EVENT& aEvent )
{
PCBNEW_SELECTION& selection = m_toolMgr->GetTool<SELECTION_TOOL>()->GetSelection();
BOARD_COMMIT commit( m_frame );
@ -437,7 +437,7 @@ int MODULE_EDITOR_TOOLS::ExplodePadToShapes( const TOOL_EVENT& aEvent )
}
int MODULE_EDITOR_TOOLS::CreatePadFromShapes( const TOOL_EVENT& aEvent )
int FOOTPRINT_EDITOR_TOOLS::CreatePadFromShapes( const TOOL_EVENT& aEvent )
{
PCBNEW_SELECTION& selection = m_toolMgr->GetTool<SELECTION_TOOL>()->GetSelection();
@ -605,33 +605,33 @@ int MODULE_EDITOR_TOOLS::CreatePadFromShapes( const TOOL_EVENT& aEvent )
return 0;
}
void MODULE_EDITOR_TOOLS::setTransitions()
void FOOTPRINT_EDITOR_TOOLS::setTransitions()
{
Go( &MODULE_EDITOR_TOOLS::NewFootprint, PCB_ACTIONS::newFootprint.MakeEvent() );
Go( &MODULE_EDITOR_TOOLS::CreateFootprint, PCB_ACTIONS::createFootprint.MakeEvent() );
Go( &MODULE_EDITOR_TOOLS::Save, ACTIONS::save.MakeEvent() );
Go( &MODULE_EDITOR_TOOLS::Save, PCB_ACTIONS::saveToBoard.MakeEvent() );
Go( &MODULE_EDITOR_TOOLS::Save, PCB_ACTIONS::saveToLibrary.MakeEvent() );
Go( &MODULE_EDITOR_TOOLS::SaveAs, ACTIONS::saveAs.MakeEvent() );
Go( &MODULE_EDITOR_TOOLS::SaveAs, ACTIONS::saveCopyAs.MakeEvent() );
Go( &MODULE_EDITOR_TOOLS::Revert, ACTIONS::revert.MakeEvent() );
Go( &MODULE_EDITOR_TOOLS::DeleteFootprint, PCB_ACTIONS::deleteFootprint.MakeEvent() );
Go( &FOOTPRINT_EDITOR_TOOLS::NewFootprint, PCB_ACTIONS::newFootprint.MakeEvent() );
Go( &FOOTPRINT_EDITOR_TOOLS::CreateFootprint, PCB_ACTIONS::createFootprint.MakeEvent() );
Go( &FOOTPRINT_EDITOR_TOOLS::Save, ACTIONS::save.MakeEvent() );
Go( &FOOTPRINT_EDITOR_TOOLS::Save, PCB_ACTIONS::saveToBoard.MakeEvent() );
Go( &FOOTPRINT_EDITOR_TOOLS::Save, PCB_ACTIONS::saveToLibrary.MakeEvent() );
Go( &FOOTPRINT_EDITOR_TOOLS::SaveAs, ACTIONS::saveAs.MakeEvent() );
Go( &FOOTPRINT_EDITOR_TOOLS::SaveAs, ACTIONS::saveCopyAs.MakeEvent() );
Go( &FOOTPRINT_EDITOR_TOOLS::Revert, ACTIONS::revert.MakeEvent() );
Go( &FOOTPRINT_EDITOR_TOOLS::DeleteFootprint, PCB_ACTIONS::deleteFootprint.MakeEvent() );
Go( &MODULE_EDITOR_TOOLS::EditFootprint, PCB_ACTIONS::editFootprint.MakeEvent() );
Go( &MODULE_EDITOR_TOOLS::CutCopyFootprint, PCB_ACTIONS::cutFootprint.MakeEvent() );
Go( &MODULE_EDITOR_TOOLS::CutCopyFootprint, PCB_ACTIONS::copyFootprint.MakeEvent() );
Go( &MODULE_EDITOR_TOOLS::PasteFootprint, PCB_ACTIONS::pasteFootprint.MakeEvent() );
Go( &FOOTPRINT_EDITOR_TOOLS::EditFootprint, PCB_ACTIONS::editFootprint.MakeEvent() );
Go( &FOOTPRINT_EDITOR_TOOLS::CutCopyFootprint, PCB_ACTIONS::cutFootprint.MakeEvent() );
Go( &FOOTPRINT_EDITOR_TOOLS::CutCopyFootprint, PCB_ACTIONS::copyFootprint.MakeEvent() );
Go( &FOOTPRINT_EDITOR_TOOLS::PasteFootprint, PCB_ACTIONS::pasteFootprint.MakeEvent() );
Go( &MODULE_EDITOR_TOOLS::ImportFootprint, PCB_ACTIONS::importFootprint.MakeEvent() );
Go( &MODULE_EDITOR_TOOLS::ExportFootprint, PCB_ACTIONS::exportFootprint.MakeEvent() );
Go( &FOOTPRINT_EDITOR_TOOLS::ImportFootprint, PCB_ACTIONS::importFootprint.MakeEvent() );
Go( &FOOTPRINT_EDITOR_TOOLS::ExportFootprint, PCB_ACTIONS::exportFootprint.MakeEvent() );
Go( &MODULE_EDITOR_TOOLS::PinLibrary, ACTIONS::pinLibrary.MakeEvent() );
Go( &MODULE_EDITOR_TOOLS::UnpinLibrary, ACTIONS::unpinLibrary.MakeEvent() );
Go( &MODULE_EDITOR_TOOLS::ToggleFootprintTree, PCB_ACTIONS::toggleFootprintTree.MakeEvent() );
Go( &MODULE_EDITOR_TOOLS::Properties, PCB_ACTIONS::footprintProperties.MakeEvent() );
Go( &MODULE_EDITOR_TOOLS::DefaultPadProperties, PCB_ACTIONS::defaultPadProperties.MakeEvent() );
Go( &FOOTPRINT_EDITOR_TOOLS::PinLibrary, ACTIONS::pinLibrary.MakeEvent() );
Go( &FOOTPRINT_EDITOR_TOOLS::UnpinLibrary, ACTIONS::unpinLibrary.MakeEvent() );
Go( &FOOTPRINT_EDITOR_TOOLS::ToggleFootprintTree, PCB_ACTIONS::toggleFootprintTree.MakeEvent() );
Go( &FOOTPRINT_EDITOR_TOOLS::Properties, PCB_ACTIONS::footprintProperties.MakeEvent() );
Go( &FOOTPRINT_EDITOR_TOOLS::DefaultPadProperties, PCB_ACTIONS::defaultPadProperties.MakeEvent() );
Go( &MODULE_EDITOR_TOOLS::PlacePad, PCB_ACTIONS::placePad.MakeEvent() );
Go( &MODULE_EDITOR_TOOLS::CreatePadFromShapes, PCB_ACTIONS::createPadFromShapes.MakeEvent() );
Go( &MODULE_EDITOR_TOOLS::ExplodePadToShapes, PCB_ACTIONS::explodePadToShapes.MakeEvent() );
Go( &FOOTPRINT_EDITOR_TOOLS::PlacePad, PCB_ACTIONS::placePad.MakeEvent() );
Go( &FOOTPRINT_EDITOR_TOOLS::CreatePadFromShapes, PCB_ACTIONS::createPadFromShapes.MakeEvent() );
Go( &FOOTPRINT_EDITOR_TOOLS::ExplodePadToShapes, PCB_ACTIONS::explodePadToShapes.MakeEvent() );
}

View File

@ -32,15 +32,15 @@ class FOOTPRINT_EDIT_FRAME;
/**
* MODULE_EDITOR_TOOLS
* FOOTPRINT_EDITOR_TOOLS
*
* Module editor specific tools.
*/
class MODULE_EDITOR_TOOLS : public PCB_TOOL_BASE
class FOOTPRINT_EDITOR_TOOLS : public PCB_TOOL_BASE
{
public:
MODULE_EDITOR_TOOLS();
~MODULE_EDITOR_TOOLS() override;
FOOTPRINT_EDITOR_TOOLS();
~FOOTPRINT_EDITOR_TOOLS() override;
/// @copydoc TOOL_INTERACTIVE::Reset()
void Reset( RESET_REASON aReason ) override;

View File

@ -263,7 +263,7 @@ int PAD_TOOL::EnumeratePads( const TOOL_EVENT& aEvent )
m_toolMgr->RunAction( PCB_ACTIONS::selectionClear, true );
getViewControls()->ShowCursor( true );
MODULE_EDITOR_TOOLS* fpTools = m_toolMgr->GetTool<MODULE_EDITOR_TOOLS>();
FOOTPRINT_EDITOR_TOOLS* fpTools = m_toolMgr->GetTool<FOOTPRINT_EDITOR_TOOLS>();
KIGFX::VIEW* view = m_toolMgr->GetView();
VECTOR2I oldCursorPos; // store the previous mouse cursor position, during mouse drag
std::list<D_PAD*> selectedPads;