From 67f0f6e3b98e594dded07eb5f95b2c249b8c5f02 Mon Sep 17 00:00:00 2001 From: Jeff Young Date: Wed, 18 Oct 2023 14:50:48 +0100 Subject: [PATCH] Rename class to match current terminology. --- pcbnew/CMakeLists.txt | 2 +- ...or_meanders.cpp => pcb_tuning_pattern.cpp} | 258 ++++++++++-------- pcbnew/tools/drawing_tool.cpp | 4 +- pcbnew/tools/drawing_tool.h | 6 +- 4 files changed, 143 insertions(+), 127 deletions(-) rename pcbnew/generators/{pcb_generator_meanders.cpp => pcb_tuning_pattern.cpp} (86%) diff --git a/pcbnew/CMakeLists.txt b/pcbnew/CMakeLists.txt index a18f7dc834..45b92c97e7 100644 --- a/pcbnew/CMakeLists.txt +++ b/pcbnew/CMakeLists.txt @@ -231,7 +231,7 @@ set( PCBNEW_MICROWAVE_SRCS ) set( PCBNEW_GENERATORS_SRCS - generators/pcb_generator_meanders.cpp + generators/pcb_tuning_pattern.cpp ) set( PCBNEW_DRC_SRCS diff --git a/pcbnew/generators/pcb_generator_meanders.cpp b/pcbnew/generators/pcb_tuning_pattern.cpp similarity index 86% rename from pcbnew/generators/pcb_generator_meanders.cpp rename to pcbnew/generators/pcb_tuning_pattern.cpp index 69203a01a8..eedc881825 100644 --- a/pcbnew/generators/pcb_generator_meanders.cpp +++ b/pcbnew/generators/pcb_tuning_pattern.cpp @@ -70,14 +70,14 @@ enum LENGTH_TUNING_MODE }; -class PCB_GENERATOR_MEANDERS : public PCB_GENERATOR +class PCB_TUNING_PATTERN : public PCB_GENERATOR { public: static const wxString GENERATOR_TYPE; static const wxString DISPLAY_NAME; - PCB_GENERATOR_MEANDERS( BOARD_ITEM* aParent = nullptr, PCB_LAYER_ID aLayer = F_Cu, - LENGTH_TUNING_MODE aMode = LENGTH_TUNING_MODE::SINGLE ); + PCB_TUNING_PATTERN( BOARD_ITEM* aParent = nullptr, PCB_LAYER_ID aLayer = F_Cu, + LENGTH_TUNING_MODE aMode = LENGTH_TUNING_MODE::SINGLE ); wxString GetGeneratorType() const override { return wxS( "tuning_pattern" ); } @@ -91,9 +91,9 @@ public: return wxString( _( "Tuning Pattern" ) ); } - static PCB_GENERATOR_MEANDERS* CreateNew( GENERATOR_TOOL* aTool, PCB_BASE_EDIT_FRAME* aFrame, - BOARD_CONNECTED_ITEM* aStartItem, - LENGTH_TUNING_MODE aMode ); + static PCB_TUNING_PATTERN* CreateNew( GENERATOR_TOOL* aTool, PCB_BASE_EDIT_FRAME* aFrame, + BOARD_CONNECTED_ITEM* aStartItem, + LENGTH_TUNING_MODE aMode ); void EditStart( GENERATOR_TOOL* aTool, BOARD* aBoard, PCB_BASE_EDIT_FRAME* aFrame, BOARD_COMMIT* aCommit ) override; @@ -144,7 +144,7 @@ public: const BOX2I ViewBBox() const override { return GetBoundingBox(); } - EDA_ITEM* Clone() const override { return new PCB_GENERATOR_MEANDERS( *this ); } + EDA_ITEM* Clone() const override { return new PCB_TUNING_PATTERN( *this ); } void ViewDraw( int aLayer, KIGFX::VIEW* aView ) const override final; @@ -213,7 +213,7 @@ protected: { wxASSERT( aImage->Type() == PCB_GENERATOR_T ); - std::swap( *this, *static_cast( aImage ) ); + std::swap( *this, *static_cast( aImage ) ); } PNS::ROUTER_MODE toPNSMode(); @@ -352,8 +352,8 @@ static std::string sideToString( const PNS::MEANDER_SIDE aValue ) } -PCB_GENERATOR_MEANDERS::PCB_GENERATOR_MEANDERS( BOARD_ITEM* aParent, PCB_LAYER_ID aLayer, - LENGTH_TUNING_MODE aMode ) : +PCB_TUNING_PATTERN::PCB_TUNING_PATTERN( BOARD_ITEM* aParent, PCB_LAYER_ID aLayer, + LENGTH_TUNING_MODE aMode ) : PCB_GENERATOR( aParent, aLayer ), m_trackWidth( 0 ), m_diffPairGap( 0 ), @@ -397,7 +397,7 @@ static VECTOR2I snapToNearestTrack( const VECTOR2I& aP, BOARD* aBoard, NETINFO_I } -bool PCB_GENERATOR_MEANDERS::baselineValid() +bool PCB_TUNING_PATTERN::baselineValid() { if( m_tuningMode == DIFF_PAIR || m_tuningMode == DIFF_PAIR_SKEW ) { @@ -411,10 +411,10 @@ bool PCB_GENERATOR_MEANDERS::baselineValid() } -PCB_GENERATOR_MEANDERS* PCB_GENERATOR_MEANDERS::CreateNew( GENERATOR_TOOL* aTool, - PCB_BASE_EDIT_FRAME* aFrame, - BOARD_CONNECTED_ITEM* aStartItem, - LENGTH_TUNING_MODE aMode ) +PCB_TUNING_PATTERN* PCB_TUNING_PATTERN::CreateNew( GENERATOR_TOOL* aTool, + PCB_BASE_EDIT_FRAME* aFrame, + BOARD_CONNECTED_ITEM* aStartItem, + LENGTH_TUNING_MODE aMode ) { BOARD* board = aStartItem->GetBoard(); std::shared_ptr& drcEngine = board->GetDesignSettings().m_DRCEngine; @@ -424,7 +424,7 @@ PCB_GENERATOR_MEANDERS* PCB_GENERATOR_MEANDERS::CreateNew( GENERATOR_TOOL* aTool if( aMode == SINGLE && board->DpCoupledNet( aStartItem->GetNet() ) ) aMode = DIFF_PAIR; - PCB_GENERATOR_MEANDERS* meander = new PCB_GENERATOR_MEANDERS( board, layer, aMode ); + PCB_TUNING_PATTERN* pattern = new PCB_TUNING_PATTERN( board, layer, aMode ); constraint = drcEngine->EvalRules( LENGTH_CONSTRAINT, aStartItem, nullptr, layer ); @@ -437,13 +437,13 @@ PCB_GENERATOR_MEANDERS* PCB_GENERATOR_MEANDERS::CreateNew( GENERATOR_TOOL* aTool if( dlg.ShowModal() != wxID_OK ) return nullptr; - meander->m_settings.SetTargetSkew( dlg.GetValue() ); - meander->m_settings.m_overrideCustomRules = true; + pattern->m_settings.SetTargetSkew( dlg.GetValue() ); + pattern->m_settings.m_overrideCustomRules = true; } else { - meander->m_settings.SetTargetSkew( constraint.GetValue() ); - meander->m_settings.m_overrideCustomRules = false; + pattern->m_settings.SetTargetSkew( constraint.GetValue() ); + pattern->m_settings.m_overrideCustomRules = false; } } else @@ -456,23 +456,23 @@ PCB_GENERATOR_MEANDERS* PCB_GENERATOR_MEANDERS::CreateNew( GENERATOR_TOOL* aTool if( dlg.ShowModal() != wxID_OK ) return nullptr; - meander->m_settings.SetTargetLength( dlg.GetValue() ); - meander->m_settings.m_overrideCustomRules = true; + pattern->m_settings.SetTargetLength( dlg.GetValue() ); + pattern->m_settings.m_overrideCustomRules = true; } else { - meander->m_settings.SetTargetLength( constraint.GetValue() ); - meander->m_settings.m_overrideCustomRules = false; + pattern->m_settings.SetTargetLength( constraint.GetValue() ); + pattern->m_settings.m_overrideCustomRules = false; } } - meander->SetFlags( IS_NEW ); + pattern->SetFlags( IS_NEW ); - return meander; + return pattern; } -void PCB_GENERATOR_MEANDERS::EditStart( GENERATOR_TOOL* aTool, BOARD* aBoard, - PCB_BASE_EDIT_FRAME* aFrame, BOARD_COMMIT* aCommit ) +void PCB_TUNING_PATTERN::EditStart( GENERATOR_TOOL* aTool, BOARD* aBoard, + PCB_BASE_EDIT_FRAME* aFrame, BOARD_COMMIT* aCommit ) { m_removedItems.clear(); @@ -670,9 +670,9 @@ static std::optional getPNSLine( const VECTOR2I& aStart, const VECTOR } -bool PCB_GENERATOR_MEANDERS::initBaseLine( PNS::ROUTER* aRouter, int aLayer, BOARD* aBoard, - VECTOR2I& aStart, VECTOR2I& aEnd, NETINFO_ITEM* aNet, - std::optional& aBaseLine ) +bool PCB_TUNING_PATTERN::initBaseLine( PNS::ROUTER* aRouter, int aLayer, BOARD* aBoard, + VECTOR2I& aStart, VECTOR2I& aEnd, NETINFO_ITEM* aNet, + std::optional& aBaseLine ) { PNS::NODE* world = aRouter->GetWorld(); @@ -710,7 +710,7 @@ bool PCB_GENERATOR_MEANDERS::initBaseLine( PNS::ROUTER* aRouter, int aLayer, BOA } -bool PCB_GENERATOR_MEANDERS::initBaseLines( PNS::ROUTER* aRouter, int aLayer, BOARD* aBoard ) +bool PCB_TUNING_PATTERN::initBaseLines( PNS::ROUTER* aRouter, int aLayer, BOARD* aBoard ) { m_baseLineCoupled.reset(); @@ -743,8 +743,8 @@ bool PCB_GENERATOR_MEANDERS::initBaseLines( PNS::ROUTER* aRouter, int aLayer, BO return true; } -void PCB_GENERATOR_MEANDERS::removeToBaseline( PNS::ROUTER* aRouter, int aLayer, - SHAPE_LINE_CHAIN& aBaseLine ) +void PCB_TUNING_PATTERN::removeToBaseline( PNS::ROUTER* aRouter, int aLayer, + SHAPE_LINE_CHAIN& aBaseLine ) { VECTOR2I startSnapPoint, endSnapPoint; @@ -778,8 +778,8 @@ void PCB_GENERATOR_MEANDERS::removeToBaseline( PNS::ROUTER* aRouter, int aLayer, } -void PCB_GENERATOR_MEANDERS::Remove( GENERATOR_TOOL* aTool, BOARD* aBoard, - PCB_BASE_EDIT_FRAME* aFrame, BOARD_COMMIT* aCommit ) +void PCB_TUNING_PATTERN::Remove( GENERATOR_TOOL* aTool, BOARD* aBoard, + PCB_BASE_EDIT_FRAME* aFrame, BOARD_COMMIT* aCommit ) { aTool->Router()->SyncWorld(); @@ -832,7 +832,7 @@ void PCB_GENERATOR_MEANDERS::Remove( GENERATOR_TOOL* aTool, BOARD* aBoard, } -PNS::ROUTER_MODE PCB_GENERATOR_MEANDERS::toPNSMode() +PNS::ROUTER_MODE PCB_TUNING_PATTERN::toPNSMode() { switch( m_tuningMode ) { @@ -844,9 +844,9 @@ PNS::ROUTER_MODE PCB_GENERATOR_MEANDERS::toPNSMode() } -bool PCB_GENERATOR_MEANDERS::resetToBaseline( PNS::ROUTER* aRouter, int aLayer, - PCB_BASE_EDIT_FRAME* aFrame, - SHAPE_LINE_CHAIN& aBaseLine, bool aPrimary ) +bool PCB_TUNING_PATTERN::resetToBaseline( PNS::ROUTER* aRouter, int aLayer, + PCB_BASE_EDIT_FRAME* aFrame, SHAPE_LINE_CHAIN& aBaseLine, + bool aPrimary ) { PNS::NODE* world = aRouter->GetWorld(); VECTOR2I startSnapPoint, endSnapPoint; @@ -919,8 +919,8 @@ bool PCB_GENERATOR_MEANDERS::resetToBaseline( PNS::ROUTER* aRouter, int aLayer, } -bool PCB_GENERATOR_MEANDERS::Update( GENERATOR_TOOL* aTool, BOARD* aBoard, - PCB_BASE_EDIT_FRAME* aFrame, BOARD_COMMIT* aCommit ) +bool PCB_TUNING_PATTERN::Update( GENERATOR_TOOL* aTool, BOARD* aBoard, PCB_BASE_EDIT_FRAME* aFrame, + BOARD_COMMIT* aCommit ) { PNS::ROUTER* router = aTool->Router(); PNS_KICAD_IFACE* iface = aTool->GetInterface(); @@ -1006,9 +1006,9 @@ bool PCB_GENERATOR_MEANDERS::Update( GENERATOR_TOOL* aTool, BOARD* aBoard, } -void PCB_GENERATOR_MEANDERS::EditPush( GENERATOR_TOOL* aTool, BOARD* aBoard, - PCB_BASE_EDIT_FRAME* aFrame, BOARD_COMMIT* aCommit, - const wxString& aCommitMsg, int aCommitFlags ) +void PCB_TUNING_PATTERN::EditPush( GENERATOR_TOOL* aTool, BOARD* aBoard, + PCB_BASE_EDIT_FRAME* aFrame, BOARD_COMMIT* aCommit, + const wxString& aCommitMsg, int aCommitFlags ) { PNS::ROUTER* router = aTool->Router(); SHAPE_LINE_CHAIN bounds = getRectShape(); @@ -1060,8 +1060,8 @@ void PCB_GENERATOR_MEANDERS::EditPush( GENERATOR_TOOL* aTool, BOARD* aBoard, } -void PCB_GENERATOR_MEANDERS::EditRevert( GENERATOR_TOOL* aTool, BOARD* aBoard, - PCB_BASE_EDIT_FRAME* aFrame, BOARD_COMMIT* aCommit ) +void PCB_TUNING_PATTERN::EditRevert( GENERATOR_TOOL* aTool, BOARD* aBoard, + PCB_BASE_EDIT_FRAME* aFrame, BOARD_COMMIT* aCommit ) { for( BOARD_ITEM* item : m_removedItems ) aFrame->GetCanvas()->GetView()->Hide( item, false ); @@ -1075,7 +1075,7 @@ void PCB_GENERATOR_MEANDERS::EditRevert( GENERATOR_TOOL* aTool, BOARD* aBoard, } -bool PCB_GENERATOR_MEANDERS::MakeEditPoints( std::shared_ptr points ) const +bool PCB_TUNING_PATTERN::MakeEditPoints( std::shared_ptr points ) const { VECTOR2I centerlineOffset; @@ -1114,8 +1114,8 @@ bool PCB_GENERATOR_MEANDERS::MakeEditPoints( std::shared_ptr points } -bool PCB_GENERATOR_MEANDERS::UpdateFromEditPoints( std::shared_ptr aEditPoints, - BOARD_COMMIT* aCommit ) +bool PCB_TUNING_PATTERN::UpdateFromEditPoints( std::shared_ptr aEditPoints, + BOARD_COMMIT* aCommit ) { VECTOR2I centerlineOffset; @@ -1166,7 +1166,7 @@ bool PCB_GENERATOR_MEANDERS::UpdateFromEditPoints( std::shared_ptr } -bool PCB_GENERATOR_MEANDERS::UpdateEditPoints( std::shared_ptr aEditPoints ) +bool PCB_TUNING_PATTERN::UpdateEditPoints( std::shared_ptr aEditPoints ) { VECTOR2I centerlineOffset; @@ -1203,7 +1203,7 @@ bool PCB_GENERATOR_MEANDERS::UpdateEditPoints( std::shared_ptr aEdi } -SHAPE_LINE_CHAIN PCB_GENERATOR_MEANDERS::getRectShape() const +SHAPE_LINE_CHAIN PCB_TUNING_PATTERN::getRectShape() const { SHAPE_LINE_CHAIN chain; @@ -1265,7 +1265,7 @@ SHAPE_LINE_CHAIN PCB_GENERATOR_MEANDERS::getRectShape() const } -void PCB_GENERATOR_MEANDERS::ViewDraw( int aLayer, KIGFX::VIEW* aView ) const +void PCB_TUNING_PATTERN::ViewDraw( int aLayer, KIGFX::VIEW* aView ) const { if( !IsSelected() ) return; @@ -1305,7 +1305,7 @@ void PCB_GENERATOR_MEANDERS::ViewDraw( int aLayer, KIGFX::VIEW* aView ) const } -const STRING_ANY_MAP PCB_GENERATOR_MEANDERS::GetProperties() const +const STRING_ANY_MAP PCB_TUNING_PATTERN::GetProperties() const { STRING_ANY_MAP props = PCB_GENERATOR::GetProperties(); @@ -1343,7 +1343,7 @@ const STRING_ANY_MAP PCB_GENERATOR_MEANDERS::GetProperties() const } -void PCB_GENERATOR_MEANDERS::SetProperties( const STRING_ANY_MAP& aProps ) +void PCB_TUNING_PATTERN::SetProperties( const STRING_ANY_MAP& aProps ) { PCB_GENERATOR::SetProperties( aProps ); @@ -1407,7 +1407,7 @@ void PCB_GENERATOR_MEANDERS::SetProperties( const STRING_ANY_MAP& aProps ) } -void PCB_GENERATOR_MEANDERS::ShowPropertiesDialog( PCB_BASE_EDIT_FRAME* aEditFrame ) +void PCB_TUNING_PATTERN::ShowPropertiesDialog( PCB_BASE_EDIT_FRAME* aEditFrame ) { PNS::MEANDER_SETTINGS settings = m_settings; DRC_CONSTRAINT constraint; @@ -1437,8 +1437,8 @@ void PCB_GENERATOR_MEANDERS::ShowPropertiesDialog( PCB_BASE_EDIT_FRAME* aEditFra } -void PCB_GENERATOR_MEANDERS::UpdateStatus( GENERATOR_TOOL* aTool, PCB_BASE_EDIT_FRAME* aFrame, - STATUS_MIN_MAX_POPUP* aPopup ) +void PCB_TUNING_PATTERN::UpdateStatus( GENERATOR_TOOL* aTool, PCB_BASE_EDIT_FRAME* aFrame, + STATUS_MIN_MAX_POPUP* aPopup ) { auto* placer = dynamic_cast( aTool->Router()->Placer() ); @@ -1459,8 +1459,8 @@ void PCB_GENERATOR_MEANDERS::UpdateStatus( GENERATOR_TOOL* aTool, PCB_BASE_EDIT_ } -void PCB_GENERATOR_MEANDERS::GetMsgPanelInfo( EDA_DRAW_FRAME* aFrame, - std::vector& aList ) +void PCB_TUNING_PATTERN::GetMsgPanelInfo( EDA_DRAW_FRAME* aFrame, + std::vector& aList ) { wxString msg; NETINFO_ITEM* primaryNet = nullptr; @@ -1601,8 +1601,8 @@ void PCB_GENERATOR_MEANDERS::GetMsgPanelInfo( EDA_DRAW_FRAME* aFrame, } -const wxString PCB_GENERATOR_MEANDERS::DISPLAY_NAME = _HKI( "Tuning Pattern" ); -const wxString PCB_GENERATOR_MEANDERS::GENERATOR_TYPE = wxS( "meanders" ); +const wxString PCB_TUNING_PATTERN::DISPLAY_NAME = _HKI( "Tuning Pattern" ); +const wxString PCB_TUNING_PATTERN::GENERATOR_TYPE = wxS( "tuning_pattern" ); using SCOPED_DRAW_MODE = SCOPED_SET_RESET; @@ -1611,7 +1611,7 @@ using SCOPED_DRAW_MODE = SCOPED_SET_RESET; #define HITTEST_THRESHOLD_PIXELS 5 -int DRAWING_TOOL::PlaceMeander( const TOOL_EVENT& aEvent ) +int DRAWING_TOOL::PlaceTuningPattern( const TOOL_EVENT& aEvent ) { if( m_inDrawingTool ) return 0; @@ -1646,7 +1646,7 @@ int DRAWING_TOOL::PlaceMeander( const TOOL_EVENT& aEvent ) controls->ShowCursor( true ); }; - auto updateMeander = + auto updateTuningPattern = [&]() { if( m_tuningPattern && m_tuningPattern->GetPosition() != m_tuningPattern->GetEnd() ) @@ -1676,7 +1676,7 @@ int DRAWING_TOOL::PlaceMeander( const TOOL_EVENT& aEvent ) { if( m_tuningPattern ) { - // First click already made; clean up meander preview + // First click already made; clean up tuning pattern preview m_tuningPattern->EditRevert( generatorTool, m_board, m_frame, nullptr ); m_preview.Clear(); @@ -1715,23 +1715,23 @@ int DRAWING_TOOL::PlaceMeander( const TOOL_EVENT& aEvent ) } else { - // First click already made; we're in preview-meander mode + // First click already made; we're in preview-tuning-pattern mode m_tuningPattern->SetEnd( cursorPos ); - updateMeander(); + updateTuningPattern(); } } else if( evt->IsClick( BUT_LEFT ) ) { if( m_pickerItem && !m_tuningPattern ) { - // First click; create a meander + // First click; create a tuning pattern generatorTool->HighlightNets( nullptr ); m_frame->SetActiveLayer( m_pickerItem->GetLayer() ); - m_tuningPattern = PCB_GENERATOR_MEANDERS::CreateNew( generatorTool, m_frame, - m_pickerItem, mode ); + m_tuningPattern = PCB_TUNING_PATTERN::CreateNew( generatorTool, m_frame, + m_pickerItem, mode ); int dummyDist; int dummyClearance = std::numeric_limits::max() / 2; @@ -1770,7 +1770,7 @@ int DRAWING_TOOL::PlaceMeander( const TOOL_EVENT& aEvent ) placer->SpacingStep( evt->IsAction( &PCB_ACTIONS::spacingIncrease ) ? 1 : -1 ); m_tuningPattern->SetSpacing( placer->MeanderSettings().m_spacing ); - updateMeander(); + updateTuningPattern(); } } else if( evt->IsAction( &PCB_ACTIONS::amplIncrease ) @@ -1782,7 +1782,7 @@ int DRAWING_TOOL::PlaceMeander( const TOOL_EVENT& aEvent ) placer->AmplitudeStep( evt->IsAction( &PCB_ACTIONS::amplIncrease ) ? 1 : -1 ); m_tuningPattern->SetMaxAmplitude( placer->MeanderSettings().m_maxAmplitude ); - updateMeander(); + updateTuningPattern(); } } // TODO: It'd be nice to be able to say "don't allow any non-trivial editing actions", @@ -1824,9 +1824,9 @@ int DRAWING_TOOL::PlaceMeander( const TOOL_EVENT& aEvent ) } -static struct PCB_GENERATOR_MEANDERS_DESC +static struct PCB_TUNING_PATTERN_DESC { - PCB_GENERATOR_MEANDERS_DESC() + PCB_TUNING_PATTERN_DESC() { ENUM_MAP::Instance() .Map( LENGTH_TUNING_MODE::SINGLE, _HKI( "Single track" ) ) @@ -1839,69 +1839,69 @@ static struct PCB_GENERATOR_MEANDERS_DESC .Map( PNS::MEANDER_SIDE_DEFAULT, _HKI( "Default" ) ); PROPERTY_MANAGER& propMgr = PROPERTY_MANAGER::Instance(); - REGISTER_TYPE( PCB_GENERATOR_MEANDERS ); - propMgr.AddTypeCast( new TYPE_CAST ); - propMgr.AddTypeCast( new TYPE_CAST ); - propMgr.InheritsAfter( TYPE_HASH( PCB_GENERATOR_MEANDERS ), TYPE_HASH( PCB_GENERATOR ) ); - propMgr.InheritsAfter( TYPE_HASH( PCB_GENERATOR_MEANDERS ), TYPE_HASH( BOARD_ITEM ) ); + REGISTER_TYPE( PCB_TUNING_PATTERN ); + propMgr.AddTypeCast( new TYPE_CAST ); + propMgr.AddTypeCast( new TYPE_CAST ); + propMgr.InheritsAfter( TYPE_HASH( PCB_TUNING_PATTERN ), TYPE_HASH( PCB_GENERATOR ) ); + propMgr.InheritsAfter( TYPE_HASH( PCB_TUNING_PATTERN ), TYPE_HASH( BOARD_ITEM ) ); const wxString groupTab = _HKI( "Pattern Properties" ); - propMgr.AddProperty( new PROPERTY( - _HKI( "End X" ), &PCB_GENERATOR_MEANDERS::SetEndX, - &PCB_GENERATOR_MEANDERS::GetEndX, PROPERTY_DISPLAY::PT_SIZE, + propMgr.AddProperty( new PROPERTY( + _HKI( "End X" ), &PCB_TUNING_PATTERN::SetEndX, + &PCB_TUNING_PATTERN::GetEndX, PROPERTY_DISPLAY::PT_SIZE, ORIGIN_TRANSFORMS::ABS_X_COORD ), groupTab ); - propMgr.AddProperty( new PROPERTY( - _HKI( "End Y" ), &PCB_GENERATOR_MEANDERS::SetEndY, - &PCB_GENERATOR_MEANDERS::GetEndY, PROPERTY_DISPLAY::PT_SIZE, + propMgr.AddProperty( new PROPERTY( + _HKI( "End Y" ), &PCB_TUNING_PATTERN::SetEndY, + &PCB_TUNING_PATTERN::GetEndY, PROPERTY_DISPLAY::PT_SIZE, ORIGIN_TRANSFORMS::ABS_Y_COORD ), groupTab ); - propMgr.AddProperty( new PROPERTY_ENUM( + propMgr.AddProperty( new PROPERTY_ENUM( _HKI( "Tuning mode" ), - NO_SETTER( PCB_GENERATOR_MEANDERS, LENGTH_TUNING_MODE ), - &PCB_GENERATOR_MEANDERS::GetTuningMode ), + NO_SETTER( PCB_TUNING_PATTERN, LENGTH_TUNING_MODE ), + &PCB_TUNING_PATTERN::GetTuningMode ), groupTab ); - propMgr.AddProperty( new PROPERTY( + propMgr.AddProperty( new PROPERTY( _HKI( "Min amplitude" ), - &PCB_GENERATOR_MEANDERS::SetMinAmplitude, - &PCB_GENERATOR_MEANDERS::GetMinAmplitude, + &PCB_TUNING_PATTERN::SetMinAmplitude, + &PCB_TUNING_PATTERN::GetMinAmplitude, PROPERTY_DISPLAY::PT_SIZE, ORIGIN_TRANSFORMS::ABS_X_COORD ), groupTab ); - propMgr.AddProperty( new PROPERTY( + propMgr.AddProperty( new PROPERTY( _HKI( "Max amplitude" ), - &PCB_GENERATOR_MEANDERS::SetMaxAmplitude, - &PCB_GENERATOR_MEANDERS::GetMaxAmplitude, + &PCB_TUNING_PATTERN::SetMaxAmplitude, + &PCB_TUNING_PATTERN::GetMaxAmplitude, PROPERTY_DISPLAY::PT_SIZE, ORIGIN_TRANSFORMS::ABS_X_COORD ), groupTab ); - propMgr.AddProperty( new PROPERTY_ENUM( + propMgr.AddProperty( new PROPERTY_ENUM( _HKI( "Initial side" ), - &PCB_GENERATOR_MEANDERS::SetInitialSide, - &PCB_GENERATOR_MEANDERS::GetInitialSide ), + &PCB_TUNING_PATTERN::SetInitialSide, + &PCB_TUNING_PATTERN::GetInitialSide ), groupTab ); - propMgr.AddProperty( new PROPERTY( - _HKI( "Min spacing" ), &PCB_GENERATOR_MEANDERS::SetSpacing, - &PCB_GENERATOR_MEANDERS::GetSpacing, PROPERTY_DISPLAY::PT_SIZE, + propMgr.AddProperty( new PROPERTY( + _HKI( "Min spacing" ), &PCB_TUNING_PATTERN::SetSpacing, + &PCB_TUNING_PATTERN::GetSpacing, PROPERTY_DISPLAY::PT_SIZE, ORIGIN_TRANSFORMS::ABS_X_COORD ), groupTab ); - propMgr.AddProperty( new PROPERTY( + propMgr.AddProperty( new PROPERTY( _HKI( "Corner radius %" ), - &PCB_GENERATOR_MEANDERS::SetCornerRadiusPercentage, - &PCB_GENERATOR_MEANDERS::GetCornerRadiusPercentage, + &PCB_TUNING_PATTERN::SetCornerRadiusPercentage, + &PCB_TUNING_PATTERN::GetCornerRadiusPercentage, PROPERTY_DISPLAY::PT_DEFAULT, ORIGIN_TRANSFORMS::NOT_A_COORD ), groupTab ); auto isSkew = []( INSPECTABLE* aItem ) -> bool { - if( auto* pattern = dynamic_cast( aItem ) ) + if( PCB_TUNING_PATTERN* pattern = dynamic_cast( aItem ) ) return pattern->GetTuningMode() == DIFF_PAIR_SKEW; return false; @@ -1913,43 +1913,59 @@ static struct PCB_GENERATOR_MEANDERS_DESC return !isSkew( aItem ); }; - propMgr.AddProperty( new PROPERTY( + propMgr.AddProperty( new PROPERTY( _HKI( "Target length" ), - &PCB_GENERATOR_MEANDERS::SetTargetLength, - &PCB_GENERATOR_MEANDERS::GetTargetLength, + &PCB_TUNING_PATTERN::SetTargetLength, + &PCB_TUNING_PATTERN::GetTargetLength, PROPERTY_DISPLAY::PT_SIZE, ORIGIN_TRANSFORMS::ABS_X_COORD ), groupTab ) .SetAvailableFunc( notIsSkew ); - propMgr.AddProperty( new PROPERTY( - _HKI( "Target skew" ), &PCB_GENERATOR_MEANDERS::SetTargetSkew, - &PCB_GENERATOR_MEANDERS::GetTargetSkew, + propMgr.AddProperty( new PROPERTY( + _HKI( "Target skew" ), &PCB_TUNING_PATTERN::SetTargetSkew, + &PCB_TUNING_PATTERN::GetTargetSkew, PROPERTY_DISPLAY::PT_SIZE, ORIGIN_TRANSFORMS::ABS_X_COORD ), groupTab ) .SetAvailableFunc( isSkew ); - propMgr.AddProperty( new PROPERTY( + propMgr.AddProperty( new PROPERTY( _HKI( "Override custom rules" ), - &PCB_GENERATOR_MEANDERS::SetOverrideCustomRules, - &PCB_GENERATOR_MEANDERS::GetOverrideCustomRules ), + &PCB_TUNING_PATTERN::SetOverrideCustomRules, + &PCB_TUNING_PATTERN::GetOverrideCustomRules ), groupTab ); - propMgr.AddProperty( new PROPERTY( + propMgr.AddProperty( new PROPERTY( _HKI( "Single-sided" ), - &PCB_GENERATOR_MEANDERS::SetSingleSided, - &PCB_GENERATOR_MEANDERS::IsSingleSided ), + &PCB_TUNING_PATTERN::SetSingleSided, + &PCB_TUNING_PATTERN::IsSingleSided ), groupTab ); - propMgr.AddProperty( new PROPERTY( - _HKI( "Rounded" ), &PCB_GENERATOR_MEANDERS::SetRounded, - &PCB_GENERATOR_MEANDERS::IsRounded ), + propMgr.AddProperty( new PROPERTY( + _HKI( "Rounded" ), &PCB_TUNING_PATTERN::SetRounded, + &PCB_TUNING_PATTERN::IsRounded ), groupTab ); } -} _PCB_GENERATOR_MEANDERS_DESC; +} _PCB_TUNING_PATTERN_DESC; ENUM_TO_WXANY( LENGTH_TUNING_MODE ) ENUM_TO_WXANY( PNS::MEANDER_SIDE ) -static GENERATORS_MGR::REGISTER registerMe; \ No newline at end of file +static GENERATORS_MGR::REGISTER registerMe; + +// Also register under the 7.99 name +template +struct REGISTER_LEGACY_TUNING_PATTERN +{ + REGISTER_LEGACY_TUNING_PATTERN() + { + GENERATORS_MGR::Instance().Register( wxS( "meanders" ), T::DISPLAY_NAME, + []() + { + return new T; + } ); + } +}; + +static REGISTER_LEGACY_TUNING_PATTERN registerMeToo; diff --git a/pcbnew/tools/drawing_tool.cpp b/pcbnew/tools/drawing_tool.cpp index 6ff623c704..1483f88ec9 100644 --- a/pcbnew/tools/drawing_tool.cpp +++ b/pcbnew/tools/drawing_tool.cpp @@ -3428,6 +3428,6 @@ void DRAWING_TOOL::setTransitions() Go( &DRAWING_TOOL::ToggleHV45Mode, PCB_ACTIONS::toggleHV45Mode.MakeEvent() ); - Go( &DRAWING_TOOL::PlaceMeander, PCB_ACTIONS::tuneLength.MakeEvent() ); - Go( &DRAWING_TOOL::PlaceMeander, PCB_ACTIONS::tuneSkew.MakeEvent() ); + Go( &DRAWING_TOOL::PlaceTuningPattern, PCB_ACTIONS::tuneLength.MakeEvent() ); + Go( &DRAWING_TOOL::PlaceTuningPattern, PCB_ACTIONS::tuneSkew.MakeEvent() ); } diff --git a/pcbnew/tools/drawing_tool.h b/pcbnew/tools/drawing_tool.h index 730462528d..2629375bdf 100644 --- a/pcbnew/tools/drawing_tool.h +++ b/pcbnew/tools/drawing_tool.h @@ -43,7 +43,7 @@ class BOARD; class PCB_BASE_EDIT_FRAME; class PCB_SHAPE; class POLYGON_GEOM_MANAGER; -class PCB_GENERATOR_MEANDERS; +class PCB_TUNING_PATTERN; class STATUS_MIN_MAX_POPUP; @@ -109,7 +109,7 @@ public: /** */ - int PlaceMeander( const TOOL_EVENT& aEvent ); + int PlaceTuningPattern( const TOOL_EVENT& aEvent ); /** * Start interactively drawing a line. @@ -356,7 +356,7 @@ private: PCB_SELECTION m_preview; BOARD_CONNECTED_ITEM* m_pickerItem; - PCB_GENERATOR_MEANDERS* m_tuningPattern; + PCB_TUNING_PATTERN* m_tuningPattern; std::unique_ptr m_statusPopup;