Support legacy Length Tuning Settings workflow.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17748
(cherry picked from commit 978ef352d0
)
This commit is contained in:
parent
9f39420808
commit
a39b9b8890
|
@ -2280,7 +2280,7 @@ int DRAWING_TOOL::PlaceTuningPattern( const TOOL_EVENT& aEvent )
|
||||||
|
|
||||||
if( collector.GetCount() > 0 )
|
if( collector.GetCount() > 0 )
|
||||||
{
|
{
|
||||||
double min_dist_sq = std::numeric_limits<double>().max();
|
double min_dist_sq = std::numeric_limits<double>::max();
|
||||||
|
|
||||||
for( EDA_ITEM* candidate : collector )
|
for( EDA_ITEM* candidate : collector )
|
||||||
{
|
{
|
||||||
|
@ -2323,8 +2323,8 @@ int DRAWING_TOOL::PlaceTuningPattern( const TOOL_EVENT& aEvent )
|
||||||
|
|
||||||
if( dynamic_cast<PCB_TUNING_PATTERN*>( m_pickerItem->GetParentGroup() ) )
|
if( dynamic_cast<PCB_TUNING_PATTERN*>( m_pickerItem->GetParentGroup() ) )
|
||||||
{
|
{
|
||||||
m_frame->ShowInfoBarWarning(
|
m_frame->ShowInfoBarWarning( _( "Unable to tune segments inside other "
|
||||||
_( "Unable to tune segments inside other tuning patterns." ) );
|
"tuning patterns." ) );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -2381,6 +2381,10 @@ int DRAWING_TOOL::PlaceTuningPattern( const TOOL_EVENT& aEvent )
|
||||||
m_tuningPattern->SetSpacing( placer->MeanderSettings().m_spacing );
|
m_tuningPattern->SetSpacing( placer->MeanderSettings().m_spacing );
|
||||||
updateTuningPattern();
|
updateTuningPattern();
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
m_frame->ShowInfoBarWarning( _( "Select a track to tune first." ) );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if( evt->IsAction( &PCB_ACTIONS::amplIncrease )
|
else if( evt->IsAction( &PCB_ACTIONS::amplIncrease )
|
||||||
|| evt->IsAction( &PCB_ACTIONS::amplDecrease ) )
|
|| evt->IsAction( &PCB_ACTIONS::amplDecrease ) )
|
||||||
|
@ -2393,8 +2397,13 @@ int DRAWING_TOOL::PlaceTuningPattern( const TOOL_EVENT& aEvent )
|
||||||
m_tuningPattern->SetMaxAmplitude( placer->MeanderSettings().m_maxAmplitude );
|
m_tuningPattern->SetMaxAmplitude( placer->MeanderSettings().m_maxAmplitude );
|
||||||
updateTuningPattern();
|
updateTuningPattern();
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
m_frame->ShowInfoBarWarning( _( "Select a track to tune first." ) );
|
||||||
}
|
}
|
||||||
else if( evt->IsAction( &PCB_ACTIONS::properties ) )
|
}
|
||||||
|
else if( evt->IsAction( &PCB_ACTIONS::properties )
|
||||||
|
|| evt->IsAction( &PCB_ACTIONS::lengthTunerSettings ) )
|
||||||
{
|
{
|
||||||
if( m_tuningPattern )
|
if( m_tuningPattern )
|
||||||
{
|
{
|
||||||
|
@ -2414,6 +2423,10 @@ int DRAWING_TOOL::PlaceTuningPattern( const TOOL_EVENT& aEvent )
|
||||||
if( dlg.ShowModal() == wxID_OK )
|
if( dlg.ShowModal() == wxID_OK )
|
||||||
updateTuningPattern();
|
updateTuningPattern();
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
m_frame->ShowInfoBarWarning( _( "Select a track to tune first." ) );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
// TODO: It'd be nice to be able to say "don't allow any non-trivial editing actions",
|
// TODO: It'd be nice to be able to say "don't allow any non-trivial editing actions",
|
||||||
// but we don't at present have that, so we just knock out some of the egregious ones.
|
// but we don't at present have that, so we just knock out some of the egregious ones.
|
||||||
|
|
|
@ -255,6 +255,7 @@ bool DRAWING_TOOL::Init()
|
||||||
ctxMenu.AddItem( PCB_ACTIONS::spacingDecrease, tuningToolActive, 200 );
|
ctxMenu.AddItem( PCB_ACTIONS::spacingDecrease, tuningToolActive, 200 );
|
||||||
ctxMenu.AddItem( PCB_ACTIONS::amplIncrease, tuningToolActive, 200 );
|
ctxMenu.AddItem( PCB_ACTIONS::amplIncrease, tuningToolActive, 200 );
|
||||||
ctxMenu.AddItem( PCB_ACTIONS::amplDecrease, tuningToolActive, 200 );
|
ctxMenu.AddItem( PCB_ACTIONS::amplDecrease, tuningToolActive, 200 );
|
||||||
|
ctxMenu.AddItem( PCB_ACTIONS::lengthTunerSettings, tuningToolActive, 200 );
|
||||||
|
|
||||||
ctxMenu.AddCheckItem( PCB_ACTIONS::toggleHV45Mode, !tuningToolActive, 250 );
|
ctxMenu.AddCheckItem( PCB_ACTIONS::toggleHV45Mode, !tuningToolActive, 250 );
|
||||||
ctxMenu.AddSeparator( 500 );
|
ctxMenu.AddSeparator( 500 );
|
||||||
|
|
|
@ -2425,6 +2425,16 @@ TOOL_ACTION PCB_ACTIONS::generatorsShowManager( TOOL_ACTION_ARGS()
|
||||||
|
|
||||||
// LENGTH_TUNER_TOOL
|
// LENGTH_TUNER_TOOL
|
||||||
//
|
//
|
||||||
|
TOOL_ACTION PCB_ACTIONS::lengthTunerSettings( TOOL_ACTION_ARGS()
|
||||||
|
.Name( "pcbnew.LengthTuner.Settings" )
|
||||||
|
.Scope( AS_CONTEXT )
|
||||||
|
.DefaultHotkey( MD_CTRL + 'L' )
|
||||||
|
// Don't be tempted to remove "Modern Toolset only". It's in the legacy property name.
|
||||||
|
.LegacyHotkeyName( "Length Tuning Settings (Modern Toolset only)" )
|
||||||
|
.MenuText( _( "Length Tuning Settings..." ) )
|
||||||
|
.Tooltip( _( "Displays tuning pattern properties dialog" ) )
|
||||||
|
.Icon( BITMAPS::router_len_tuner_setup ) );
|
||||||
|
|
||||||
TOOL_ACTION PCB_ACTIONS::ddAppendBoard( TOOL_ACTION_ARGS()
|
TOOL_ACTION PCB_ACTIONS::ddAppendBoard( TOOL_ACTION_ARGS()
|
||||||
.Name( "pcbnew.Control.DdAppendBoard" )
|
.Name( "pcbnew.Control.DdAppendBoard" )
|
||||||
.Scope( AS_GLOBAL ) );
|
.Scope( AS_GLOBAL ) );
|
||||||
|
|
|
@ -204,6 +204,7 @@ public:
|
||||||
static TOOL_ACTION spacingDecrease;
|
static TOOL_ACTION spacingDecrease;
|
||||||
static TOOL_ACTION amplIncrease;
|
static TOOL_ACTION amplIncrease;
|
||||||
static TOOL_ACTION amplDecrease;
|
static TOOL_ACTION amplDecrease;
|
||||||
|
static TOOL_ACTION lengthTunerSettings;
|
||||||
static TOOL_ACTION drawAlignedDimension;
|
static TOOL_ACTION drawAlignedDimension;
|
||||||
static TOOL_ACTION drawCenterDimension;
|
static TOOL_ACTION drawCenterDimension;
|
||||||
static TOOL_ACTION drawRadialDimension;
|
static TOOL_ACTION drawRadialDimension;
|
||||||
|
|
Loading…
Reference in New Issue