diff --git a/pcbnew/class_module.h b/pcbnew/class_module.h index 7c210c03bf..7005fc2214 100644 --- a/pcbnew/class_module.h +++ b/pcbnew/class_module.h @@ -139,6 +139,7 @@ public: const DLIST& GraphicalItems() const { return m_Drawings; } DLIST_ITERATOR_WRAPPER PadsIter() { return DLIST_ITERATOR_WRAPPER(m_Pads); } + DLIST_ITERATOR_WRAPPER GraphicalItemsIter() { return DLIST_ITERATOR_WRAPPER(m_Drawings); } std::list& Models() { return m_3D_Drawings; } const std::list& Models() const { return m_3D_Drawings; } diff --git a/pcbnew/connectivity.cpp b/pcbnew/connectivity.cpp index fe2a884dbc..7b1bf7911f 100644 --- a/pcbnew/connectivity.cpp +++ b/pcbnew/connectivity.cpp @@ -138,6 +138,8 @@ void CONNECTIVITY_DATA::addRatsnestCluster( std::shared_ptr aCluster void CONNECTIVITY_DATA::RecalculateRatsnest() { + m_connAlgo->PropagateNets(); + int lastNet = m_connAlgo->NetCount(); if( lastNet >= (int) m_nets.size() ) @@ -451,8 +453,18 @@ unsigned int CONNECTIVITY_DATA::GetNodeCount( int aNet ) const unsigned int CONNECTIVITY_DATA::GetPadCount( int aNet ) const { - return 0; - assert( false ); + int n = 0; + + for ( auto pad : m_connAlgo->PadList() ) + { + auto dpad = static_cast( pad->Parent() ); + if ( aNet < 0 || aNet == dpad->GetNetCode() ) + { + n++; + } + } + + return n; } diff --git a/pcbnew/connectivity_algo.h b/pcbnew/connectivity_algo.h index c8e1df945d..20a6b093c6 100644 --- a/pcbnew/connectivity_algo.h +++ b/pcbnew/connectivity_algo.h @@ -943,6 +943,8 @@ public: const CLUSTERS& GetClusters(); int GetUnconnectedCount(); + CN_PAD_LIST& PadList() { return m_padList; } + void ForEachAnchor( std::function aFunc ); }; diff --git a/pcbnew/moduleframe.cpp b/pcbnew/moduleframe.cpp index 7505dbe838..43b8e7d00a 100644 --- a/pcbnew/moduleframe.cpp +++ b/pcbnew/moduleframe.cpp @@ -978,7 +978,7 @@ void FOOTPRINT_EDIT_FRAME::setupTools() m_toolManager->RegisterTool( new POINT_EDITOR ); m_toolManager->RegisterTool( new PCBNEW_CONTROL ); m_toolManager->RegisterTool( new MODULE_EDITOR_TOOLS ); - m_toolManager->RegisterTool( new PLACEMENT_TOOL ); + m_toolManager->RegisterTool( new ALIGN_DISTRIBUTE_TOOL ); m_toolManager->RegisterTool( new PICKER_TOOL ); m_toolManager->GetTool()->SetEditModules( true ); diff --git a/pcbnew/tools/module_editor_tools.cpp b/pcbnew/tools/module_editor_tools.cpp index 1b8a6c986e..4899a7187d 100644 --- a/pcbnew/tools/module_editor_tools.cpp +++ b/pcbnew/tools/module_editor_tools.cpp @@ -80,8 +80,7 @@ TOOL_ACTION PCB_ACTIONS::moduleTextOutlines( "pcbnew.ModuleEditor.textOutlines", MODULE_EDITOR_TOOLS::MODULE_EDITOR_TOOLS() : - TOOL_INTERACTIVE( "pcbnew.ModuleEditor" ), m_view( NULL ), m_controls( NULL ), - m_board( NULL ), m_frame( NULL ) + PCB_TOOL( "pcbnew.ModuleEditor" ) { } @@ -93,46 +92,41 @@ MODULE_EDITOR_TOOLS::~MODULE_EDITOR_TOOLS() void MODULE_EDITOR_TOOLS::Reset( RESET_REASON aReason ) { - // Init variables used by every drawing tool - m_view = getView(); - m_controls = getViewControls(); - m_board = getModel(); - m_frame = getEditFrame(); } int MODULE_EDITOR_TOOLS::PlacePad( const TOOL_EVENT& aEvent ) { - m_frame->SetToolID( ID_MODEDIT_PAD_TOOL, wxCURSOR_PENCIL, _( "Add pads" ) ); + frame()->SetToolID( ID_MODEDIT_PAD_TOOL, wxCURSOR_PENCIL, _( "Add pads" ) ); - assert( m_board->m_Modules ); + assert( board()->m_Modules ); - D_PAD* pad = new D_PAD( m_board->m_Modules ); - m_frame->Import_Pad_Settings( pad, false ); // use the global settings for pad + D_PAD* pad = new D_PAD( board()->m_Modules ); + frame()->Import_Pad_Settings( pad, false ); // use the global settings for pad - VECTOR2I cursorPos = m_controls->GetCursorPosition(); + VECTOR2I cursorPos = getViewControls()->GetCursorPosition(); pad->SetPosition( wxPoint( cursorPos.x, cursorPos.y ) ); // Add a VIEW_GROUP that serves as a preview for the new item - KIGFX::VIEW_GROUP preview( m_view ); + KIGFX::VIEW_GROUP preview( view() ); preview.Add( pad ); - m_view->Add( &preview ); + view()->Add( &preview ); m_toolMgr->RunAction( PCB_ACTIONS::selectionClear, true ); - m_controls->ShowCursor( true ); - m_controls->SetSnapping( true ); + getViewControls()->ShowCursor( true ); + getViewControls()->SetSnapping( true ); Activate(); // Main loop: keep receiving events while( OPT_TOOL_EVENT evt = Wait() ) { - cursorPos = m_controls->GetCursorPosition(); + cursorPos = getViewControls()->GetCursorPosition(); if( evt->IsMotion() ) { pad->SetPosition( wxPoint( cursorPos.x, cursorPos.y ) ); - m_view->Update( &preview ); + view()->Update( &preview ); } else if( evt->Category() == TC_COMMAND ) @@ -140,14 +134,14 @@ int MODULE_EDITOR_TOOLS::PlacePad( const TOOL_EVENT& aEvent ) if( TOOL_EVT_UTILS::IsRotateToolEvt( *evt ) ) { const auto rotationAngle = TOOL_EVT_UTILS::GetEventRotationAngle( - *m_frame, *evt ); + *frame(), *evt ); pad->Rotate( pad->GetPosition(), rotationAngle ); - m_view->Update( &preview ); + view()->Update( &preview ); } else if( evt->IsAction( &PCB_ACTIONS::flip ) ) { pad->Flip( pad->GetPosition() ); - m_view->Update( &preview ); + view()->Update( &preview ); } else if( evt->IsCancel() || evt->IsActivate() ) { @@ -159,10 +153,10 @@ int MODULE_EDITOR_TOOLS::PlacePad( const TOOL_EVENT& aEvent ) else if( evt->IsClick( BUT_LEFT ) ) { - BOARD_COMMIT commit( m_frame ); + BOARD_COMMIT commit( frame() ); commit.Add( pad ); - m_board->m_Status_Pcb = 0; // I have no clue why, but it is done in the legacy view + board()->m_Status_Pcb = 0; // I have no clue why, but it is done in the legacy view // Take the next available pad number pad->IncrementPadName( true, true ); @@ -172,15 +166,15 @@ int MODULE_EDITOR_TOOLS::PlacePad( const TOOL_EVENT& aEvent ) commit.Push( _( "Add a pad" ) ); // Start placing next pad - pad = new D_PAD( m_board->m_Modules ); - m_frame->Import_Pad_Settings( pad, false ); + pad = new D_PAD( board()->m_Modules ); + frame()->Import_Pad_Settings( pad, false ); pad->SetPosition( wxPoint( cursorPos.x, cursorPos.y ) ); preview.Add( pad ); } } - m_view->Remove( &preview ); - m_frame->SetNoToolSelected(); + view()->Remove( &preview ); + frame()->SetNoToolSelected(); return 0; } @@ -188,7 +182,7 @@ int MODULE_EDITOR_TOOLS::PlacePad( const TOOL_EVENT& aEvent ) int MODULE_EDITOR_TOOLS::EnumeratePads( const TOOL_EVENT& aEvent ) { - if( !m_board->m_Modules || !m_board->m_Modules->Pads() ) + if( !board()->m_Modules || !board()->m_Modules->Pads() ) return 0; Activate(); @@ -196,14 +190,14 @@ int MODULE_EDITOR_TOOLS::EnumeratePads( const TOOL_EVENT& aEvent ) GENERAL_COLLECTOR collector; const KICAD_T types[] = { PCB_PAD_T, EOT }; - GENERAL_COLLECTORS_GUIDE guide = m_frame->GetCollectorsGuide(); + GENERAL_COLLECTORS_GUIDE guide = frame()->GetCollectorsGuide(); guide.SetIgnoreMTextsMarkedNoShow( true ); guide.SetIgnoreMTextsOnBack( true ); guide.SetIgnoreMTextsOnFront( true ); guide.SetIgnoreModulesVals( true ); guide.SetIgnoreModulesRefs( true ); - DIALOG_ENUM_PADS settingsDlg( m_frame ); + DIALOG_ENUM_PADS settingsDlg( frame() ); if( settingsDlg.ShowModal() == wxID_CANCEL ) return 0; @@ -211,15 +205,16 @@ int MODULE_EDITOR_TOOLS::EnumeratePads( const TOOL_EVENT& aEvent ) int padNumber = settingsDlg.GetStartNumber(); wxString padPrefix = settingsDlg.GetPrefix(); - m_frame->DisplayToolMsg( _( "Hold left mouse button and move cursor over pads to enumerate them" ) ); + frame()->DisplayToolMsg( _( + "Hold left mouse button and move cursor over pads to enumerate them" ) ); m_toolMgr->RunAction( PCB_ACTIONS::selectionClear, true ); - m_controls->ShowCursor( true ); + getViewControls()->ShowCursor( true ); KIGFX::VIEW* view = m_toolMgr->GetView(); - VECTOR2I oldCursorPos = m_controls->GetCursorPosition(); + VECTOR2I oldCursorPos = getViewControls()->GetCursorPosition(); std::list selectedPads; - BOARD_COMMIT commit( m_frame ); + BOARD_COMMIT commit( frame() ); std::map oldNames; while( OPT_TOOL_EVENT evt = Wait() ) @@ -227,13 +222,13 @@ int MODULE_EDITOR_TOOLS::EnumeratePads( const TOOL_EVENT& aEvent ) if( evt->IsDrag( BUT_LEFT ) || evt->IsClick( BUT_LEFT ) ) { selectedPads.clear(); - VECTOR2I cursorPos = m_controls->GetCursorPosition(); + VECTOR2I cursorPos = getViewControls()->GetCursorPosition(); if( evt->IsClick( BUT_LEFT ) ) { - oldCursorPos = m_controls->GetCursorPosition(); + oldCursorPos = getViewControls()->GetCursorPosition(); collector.Empty(); - collector.Collect( m_board, types, wxPoint( cursorPos.x, cursorPos.y ), guide ); + collector.Collect( board(), types, wxPoint( cursorPos.x, cursorPos.y ), guide ); for( int i = 0; i < collector.GetCount(); ++i ) { @@ -253,7 +248,7 @@ int MODULE_EDITOR_TOOLS::EnumeratePads( const TOOL_EVENT& aEvent ) collector.Empty(); for( int j = 0; j < segments; ++j ) { - collector.Collect( m_board, types, + collector.Collect( board(), types, wxPoint( oldCursorPos.x, oldCursorPos.y ) + j * LINE_STEP, guide ); @@ -316,13 +311,13 @@ int MODULE_EDITOR_TOOLS::EnumeratePads( const TOOL_EVENT& aEvent ) } } - for( D_PAD* p = m_board->m_Modules->Pads(); p; p = p->Next() ) + for( D_PAD* p = board()->m_Modules->Pads(); p; p = p->Next() ) { p->ClearSelected(); view->Update( p ); } - m_frame->DisplayToolMsg( wxEmptyString ); + frame()->DisplayToolMsg( wxEmptyString ); return 0; } @@ -334,20 +329,20 @@ int MODULE_EDITOR_TOOLS::CopyItems( const TOOL_EVENT& aEvent ) Activate(); - m_controls->SetSnapping( true ); - m_controls->ShowCursor( true ); - m_controls->SetAutoPan( true ); + getViewControls()->SetSnapping( true ); + getViewControls()->ShowCursor( true ); + getViewControls()->SetAutoPan( true ); - m_frame->DisplayToolMsg( _( "Select reference point" ) ); + frame()->DisplayToolMsg( _( "Select reference point" ) ); bool cancelled = false; - VECTOR2I cursorPos = m_controls->GetCursorPosition(); + VECTOR2I cursorPos = getViewControls()->GetCursorPosition(); while( OPT_TOOL_EVENT evt = Wait() ) { if( evt->IsMotion() ) { - cursorPos = m_controls->GetCursorPosition(); + cursorPos = getViewControls()->GetCursorPosition(); } else if( evt->IsClick( BUT_LEFT ) ) { @@ -365,7 +360,7 @@ int MODULE_EDITOR_TOOLS::CopyItems( const TOOL_EVENT& aEvent ) PCB_IO io( CTL_FOR_CLIPBOARD ); // Create a temporary module that contains selected items to ease serialization - MODULE module( m_board ); + MODULE module( board() ); for( auto item : selection ) { @@ -379,7 +374,7 @@ int MODULE_EDITOR_TOOLS::CopyItems( const TOOL_EVENT& aEvent ) } // Set the new relative internal local coordinates of copied items - MODULE* editedModule = m_board->m_Modules; + MODULE* editedModule = board()->m_Modules; wxPoint moveVector = module.GetPosition() + editedModule->GetPosition() - wxPoint( cursorPos.x, cursorPos.y ); module.MoveAnchorPosition( moveVector ); @@ -389,7 +384,7 @@ int MODULE_EDITOR_TOOLS::CopyItems( const TOOL_EVENT& aEvent ) m_toolMgr->SaveClipboard( data ); } - m_frame->DisplayToolMsg( wxString::Format( _( "Copied %d item(s)" ), selection.Size() ) ); + frame()->DisplayToolMsg( wxString::Format( _( "Copied %d item(s)" ), selection.Size() ) ); return 0; } @@ -409,38 +404,38 @@ int MODULE_EDITOR_TOOLS::PasteItems( const TOOL_EVENT& aEvent ) } catch( ... ) { - m_frame->DisplayToolMsg( _( "Invalid clipboard contents" ) ); + frame()->DisplayToolMsg( _( "Invalid clipboard contents" ) ); return 0; } // Placement tool part - VECTOR2I cursorPos = m_controls->GetCursorPosition(); + VECTOR2I cursorPos = getViewControls()->GetCursorPosition(); // Add a VIEW_GROUP that serves as a preview for the new item - KIGFX::VIEW_GROUP preview( m_view ); - pastedModule->SetParent( m_board ); + KIGFX::VIEW_GROUP preview( view() ); + pastedModule->SetParent( board() ); pastedModule->SetPosition( wxPoint( cursorPos.x, cursorPos.y ) ); pastedModule->RunOnChildren( std::bind( &KIGFX::VIEW_GROUP::Add, std::ref( preview ), _1 ) ); preview.Add( pastedModule ); - m_view->Add( &preview ); + view()->Add( &preview ); m_toolMgr->RunAction( PCB_ACTIONS::selectionClear, true ); - m_controls->ShowCursor( true ); - m_controls->SetSnapping( true ); - m_controls->SetAutoPan( true ); + getViewControls()->ShowCursor( true ); + getViewControls()->SetSnapping( true ); + getViewControls()->SetAutoPan( true ); Activate(); // Main loop: keep receiving events while( OPT_TOOL_EVENT evt = Wait() ) { - cursorPos = m_controls->GetCursorPosition(); + cursorPos = getViewControls()->GetCursorPosition(); if( evt->IsMotion() ) { pastedModule->SetPosition( wxPoint( cursorPos.x, cursorPos.y ) ); - m_view->Update( &preview ); + view()->Update( &preview ); } else if( evt->Category() == TC_COMMAND ) @@ -448,14 +443,14 @@ int MODULE_EDITOR_TOOLS::PasteItems( const TOOL_EVENT& aEvent ) if( TOOL_EVT_UTILS::IsRotateToolEvt( *evt ) ) { const auto rotationAngle = TOOL_EVT_UTILS::GetEventRotationAngle( - *m_frame, *evt ); + *frame(), *evt ); pastedModule->Rotate( pastedModule->GetPosition(), rotationAngle ); - m_view->Update( &preview ); + view()->Update( &preview ); } else if( evt->IsAction( &PCB_ACTIONS::flip ) ) { pastedModule->Flip( pastedModule->GetPosition() ); - m_view->Update( &preview ); + view()->Update( &preview ); } else if( evt->IsCancel() || evt->IsActivate() ) { @@ -466,9 +461,9 @@ int MODULE_EDITOR_TOOLS::PasteItems( const TOOL_EVENT& aEvent ) else if( evt->IsClick( BUT_LEFT ) ) { - BOARD_COMMIT commit( m_frame ); + BOARD_COMMIT commit( frame() ); - m_board->m_Status_Pcb = 0; // I have no clue why, but it is done in the legacy view + board()->m_Status_Pcb = 0; // I have no clue why, but it is done in the legacy view // MODULE::RunOnChildren is infeasible here: we need to create copies of items, do not // directly modify them @@ -506,7 +501,7 @@ int MODULE_EDITOR_TOOLS::PasteItems( const TOOL_EVENT& aEvent ) } delete pastedModule; - m_view->Remove( &preview ); + view()->Remove( &preview ); return 0; } @@ -529,9 +524,9 @@ int MODULE_EDITOR_TOOLS::ModuleTextOutlines( const TOOL_EVENT& aEvent ) for( LAYER_NUM layer : layers ) settings->SetSketchMode( layer, enable ); - for( MODULE* module = getModel()->m_Modules; module; module = module->Next() ) + for( auto module : board()->Modules() ) { - for( BOARD_ITEM* item = module->GraphicalItems(); item; item = item ->Next() ) + for( auto item : module->GraphicalItemsIter() ) { if( item->Type() == PCB_MODULE_TEXT_T ) view->Update( item, KIGFX::GEOMETRY ); @@ -541,7 +536,7 @@ int MODULE_EDITOR_TOOLS::ModuleTextOutlines( const TOOL_EVENT& aEvent ) view->Update( &module->Value(), KIGFX::GEOMETRY ); } - m_frame->GetGalCanvas()->Refresh(); + frame()->GetGalCanvas()->Refresh(); return 0; } @@ -562,16 +557,16 @@ int MODULE_EDITOR_TOOLS::ModuleEdgeOutlines( const TOOL_EVENT& aEvent ) for( LAYER_NUM layer : layers ) settings->SetSketchMode( layer, enable ); - for( MODULE* module = getModel()->m_Modules; module; module = module->Next() ) + for( auto module : board()->Modules() ) { - for( BOARD_ITEM* item = module->GraphicalItems(); item; item = item ->Next() ) + for( auto item : module->GraphicalItemsIter() ) { if( item->Type() == PCB_MODULE_EDGE_T ) view->Update( item, KIGFX::GEOMETRY ); } } - m_frame->GetGalCanvas()->Refresh(); + frame()->GetGalCanvas()->Refresh(); return 0; } diff --git a/pcbnew/tools/module_editor_tools.h b/pcbnew/tools/module_editor_tools.h index e3d7a02a1a..69ee115b0e 100644 --- a/pcbnew/tools/module_editor_tools.h +++ b/pcbnew/tools/module_editor_tools.h @@ -25,7 +25,7 @@ #ifndef MODULE_EDITOR_TOOLS_H #define MODULE_EDITOR_TOOLS_H -#include +#include namespace KIGFX { @@ -40,7 +40,7 @@ class PCB_EDIT_FRAME; * * Module editor specific tools. */ -class MODULE_EDITOR_TOOLS : public TOOL_INTERACTIVE +class MODULE_EDITOR_TOOLS : public PCB_TOOL { public: MODULE_EDITOR_TOOLS(); @@ -99,12 +99,6 @@ public: ///> Sets up handlers for various events. void SetTransitions() override; -private: - KIGFX::VIEW* m_view; - KIGFX::VIEW_CONTROLS* m_controls; - BOARD* m_board; - PCB_EDIT_FRAME* m_frame; - }; #endif diff --git a/pcbnew/tools/placement_tool.cpp b/pcbnew/tools/placement_tool.cpp index 9bc781bc49..7b89d8f456 100644 --- a/pcbnew/tools/placement_tool.cpp +++ b/pcbnew/tools/placement_tool.cpp @@ -37,49 +37,49 @@ #include // Placement tool -TOOL_ACTION PCB_ACTIONS::alignTop( "pcbnew.Place.alignTop", +TOOL_ACTION PCB_ACTIONS::alignTop( "pcbnew.AlignAndDistribute.alignTop", AS_GLOBAL, 0, _( "Align to Top" ), _( "Aligns selected items to the top edge" ), up_xpm ); -TOOL_ACTION PCB_ACTIONS::alignBottom( "pcbnew.Place.alignBottom", +TOOL_ACTION PCB_ACTIONS::alignBottom( "pcbnew.AlignAndDistribute.alignBottom", AS_GLOBAL, 0, _( "Align to Bottom" ), _( "Aligns selected items to the bottom edge" ), down_xpm ); -TOOL_ACTION PCB_ACTIONS::alignLeft( "pcbnew.Place.alignLeft", +TOOL_ACTION PCB_ACTIONS::alignLeft( "pcbnew.AlignAndDistribute.alignLeft", AS_GLOBAL, 0, _( "Align to Left" ), _( "Aligns selected items to the left edge" ), left_xpm ); -TOOL_ACTION PCB_ACTIONS::alignRight( "pcbnew.Place.alignRight", +TOOL_ACTION PCB_ACTIONS::alignRight( "pcbnew.AlignAndDistribute.alignRight", AS_GLOBAL, 0, _( "Align to Right" ), _( "Aligns selected items to the right edge" ), right_xpm ); -TOOL_ACTION PCB_ACTIONS::distributeHorizontally( "pcbnew.Place.distributeHorizontally", +TOOL_ACTION PCB_ACTIONS::distributeHorizontally( "pcbnew.AlignAndDistribute.distributeHorizontally", AS_GLOBAL, 0, _( "Distribute Horizontally" ), _( "Distributes selected items along the horizontal axis" ), distribute_horizontal_xpm ); -TOOL_ACTION PCB_ACTIONS::distributeVertically( "pcbnew.Place.distributeVertically", +TOOL_ACTION PCB_ACTIONS::distributeVertically( "pcbnew.AlignAndDistribute.distributeVertically", AS_GLOBAL, 0, _( "Distribute Vertically" ), _( "Distributes selected items along the vertical axis" ), distribute_vertical_xpm ); -PLACEMENT_TOOL::PLACEMENT_TOOL() : +ALIGN_DISTRIBUTE_TOOL::ALIGN_DISTRIBUTE_TOOL() : TOOL_INTERACTIVE( "pcbnew.Placement" ), m_selectionTool( NULL ), m_placementMenu( NULL ) { } -PLACEMENT_TOOL::~PLACEMENT_TOOL() +ALIGN_DISTRIBUTE_TOOL::~ALIGN_DISTRIBUTE_TOOL() { delete m_placementMenu; } -bool PLACEMENT_TOOL::Init() +bool ALIGN_DISTRIBUTE_TOOL::Init() { // Find the selection tool, so they can cooperate m_selectionTool = static_cast( m_toolMgr->FindTool( "pcbnew.InteractiveSelection" ) ); @@ -111,7 +111,7 @@ bool PLACEMENT_TOOL::Init() } -int PLACEMENT_TOOL::AlignTop( const TOOL_EVENT& aEvent ) +int ALIGN_DISTRIBUTE_TOOL::AlignTop( const TOOL_EVENT& aEvent ) { const SELECTION& selection = m_selectionTool->GetSelection(); @@ -148,7 +148,7 @@ int PLACEMENT_TOOL::AlignTop( const TOOL_EVENT& aEvent ) } -int PLACEMENT_TOOL::AlignBottom( const TOOL_EVENT& aEvent ) +int ALIGN_DISTRIBUTE_TOOL::AlignBottom( const TOOL_EVENT& aEvent ) { const SELECTION& selection = m_selectionTool->GetSelection(); @@ -185,7 +185,7 @@ int PLACEMENT_TOOL::AlignBottom( const TOOL_EVENT& aEvent ) } -int PLACEMENT_TOOL::AlignLeft( const TOOL_EVENT& aEvent ) +int ALIGN_DISTRIBUTE_TOOL::AlignLeft( const TOOL_EVENT& aEvent ) { const SELECTION& selection = m_selectionTool->GetSelection(); @@ -222,7 +222,7 @@ int PLACEMENT_TOOL::AlignLeft( const TOOL_EVENT& aEvent ) } -int PLACEMENT_TOOL::AlignRight( const TOOL_EVENT& aEvent ) +int ALIGN_DISTRIBUTE_TOOL::AlignRight( const TOOL_EVENT& aEvent ) { const SELECTION& selection = m_selectionTool->GetSelection(); @@ -271,7 +271,7 @@ static bool compareY( const BOARD_ITEM* aA, const BOARD_ITEM* aB ) } -int PLACEMENT_TOOL::DistributeHorizontally( const TOOL_EVENT& aEvent ) +int ALIGN_DISTRIBUTE_TOOL::DistributeHorizontally( const TOOL_EVENT& aEvent ) { const SELECTION& selection = m_selectionTool->GetSelection(); @@ -314,7 +314,7 @@ int PLACEMENT_TOOL::DistributeHorizontally( const TOOL_EVENT& aEvent ) } -int PLACEMENT_TOOL::DistributeVertically( const TOOL_EVENT& aEvent ) +int ALIGN_DISTRIBUTE_TOOL::DistributeVertically( const TOOL_EVENT& aEvent ) { const SELECTION& selection = m_selectionTool->GetSelection(); @@ -357,13 +357,13 @@ int PLACEMENT_TOOL::DistributeVertically( const TOOL_EVENT& aEvent ) } -void PLACEMENT_TOOL::SetTransitions() +void ALIGN_DISTRIBUTE_TOOL::SetTransitions() { - Go( &PLACEMENT_TOOL::AlignTop, PCB_ACTIONS::alignTop.MakeEvent() ); - Go( &PLACEMENT_TOOL::AlignBottom, PCB_ACTIONS::alignBottom.MakeEvent() ); - Go( &PLACEMENT_TOOL::AlignLeft, PCB_ACTIONS::alignLeft.MakeEvent() ); - Go( &PLACEMENT_TOOL::AlignRight, PCB_ACTIONS::alignRight.MakeEvent() ); + Go( &ALIGN_DISTRIBUTE_TOOL::AlignTop, PCB_ACTIONS::alignTop.MakeEvent() ); + Go( &ALIGN_DISTRIBUTE_TOOL::AlignBottom, PCB_ACTIONS::alignBottom.MakeEvent() ); + Go( &ALIGN_DISTRIBUTE_TOOL::AlignLeft, PCB_ACTIONS::alignLeft.MakeEvent() ); + Go( &ALIGN_DISTRIBUTE_TOOL::AlignRight, PCB_ACTIONS::alignRight.MakeEvent() ); - Go( &PLACEMENT_TOOL::DistributeHorizontally, PCB_ACTIONS::distributeHorizontally.MakeEvent() ); - Go( &PLACEMENT_TOOL::DistributeVertically, PCB_ACTIONS::distributeVertically.MakeEvent() ); + Go( &ALIGN_DISTRIBUTE_TOOL::DistributeHorizontally, PCB_ACTIONS::distributeHorizontally.MakeEvent() ); + Go( &ALIGN_DISTRIBUTE_TOOL::DistributeVertically, PCB_ACTIONS::distributeVertically.MakeEvent() ); } diff --git a/pcbnew/tools/placement_tool.h b/pcbnew/tools/placement_tool.h index e5f51a6e61..1eb8f8d860 100644 --- a/pcbnew/tools/placement_tool.h +++ b/pcbnew/tools/placement_tool.h @@ -22,18 +22,18 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ -#ifndef PLACEMENT_TOOL_H_ -#define PLACEMENT_TOOL_H_ +#ifndef ALIGN_DISTRIBUTE_TOOL_H_ +#define ALIGN_DISTRIBUTE_TOOL_H_ #include class SELECTION_TOOL; -class PLACEMENT_TOOL : public TOOL_INTERACTIVE +class ALIGN_DISTRIBUTE_TOOL : public TOOL_INTERACTIVE { public: - PLACEMENT_TOOL(); - virtual ~PLACEMENT_TOOL(); + ALIGN_DISTRIBUTE_TOOL(); + virtual ~ALIGN_DISTRIBUTE_TOOL(); /// @copydoc TOOL_INTERACTIVE::Reset() void Reset( RESET_REASON aReason ) override {} @@ -86,4 +86,4 @@ private: CONTEXT_MENU* m_placementMenu; }; -#endif /* PLACEMENT_TOOL_H_ */ +#endif /* ALIGN_DISTRIBUTE_TOOL_H_ */ diff --git a/pcbnew/tools/tools_common.cpp b/pcbnew/tools/tools_common.cpp index 0843728612..19ae71bf78 100644 --- a/pcbnew/tools/tools_common.cpp +++ b/pcbnew/tools/tools_common.cpp @@ -59,7 +59,7 @@ void PCB_ACTIONS::RegisterAllTools( TOOL_MANAGER* aToolManager ) aToolManager->RegisterTool( new POINT_EDITOR ); aToolManager->RegisterTool( new PCBNEW_CONTROL ); aToolManager->RegisterTool( new PCB_EDITOR_CONTROL ); - aToolManager->RegisterTool( new PLACEMENT_TOOL ); + aToolManager->RegisterTool( new ALIGN_DISTRIBUTE_TOOL ); aToolManager->RegisterTool( new MICROWAVE_TOOL ); aToolManager->RegisterTool( new POSITION_RELATIVE_TOOL ); }