Remove query dialog from tuning tool startup.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16305
This commit is contained in:
Jeff Young 2023-12-08 17:00:55 +00:00
parent e0a34efcb7
commit 4d28dfacc2
1 changed files with 23 additions and 56 deletions

View File

@ -265,7 +265,7 @@ public:
static PCB_TUNING_PATTERN* CreateNew( GENERATOR_TOOL* aTool, PCB_BASE_EDIT_FRAME* aFrame,
BOARD_CONNECTED_ITEM* aStartItem,
LENGTH_TUNING_MODE aMode, bool aAllowGUI = true );
LENGTH_TUNING_MODE aMode );
void EditStart( GENERATOR_TOOL* aTool, BOARD* aBoard, PCB_BASE_EDIT_FRAME* aFrame,
BOARD_COMMIT* aCommit ) override;
@ -620,7 +620,7 @@ bool PCB_TUNING_PATTERN::baselineValid()
PCB_TUNING_PATTERN* PCB_TUNING_PATTERN::CreateNew( GENERATOR_TOOL* aTool,
PCB_BASE_EDIT_FRAME* aFrame,
BOARD_CONNECTED_ITEM* aStartItem,
LENGTH_TUNING_MODE aMode, bool aAllowGUI )
LENGTH_TUNING_MODE aMode )
{
BOARD* board = aStartItem->GetBoard();
std::shared_ptr<DRC_ENGINE>& drcEngine = board->GetDesignSettings().m_DRCEngine;
@ -634,51 +634,21 @@ PCB_TUNING_PATTERN* PCB_TUNING_PATTERN::CreateNew( GENERATOR_TOOL* aTool,
constraint = drcEngine->EvalRules( LENGTH_CONSTRAINT, aStartItem, nullptr, layer );
if( !constraint.IsNull() )
{
if( aMode == DIFF_PAIR_SKEW )
{
if( !constraint.IsNull() )
{
pattern->m_settings.SetTargetSkew( constraint.GetValue() );
pattern->m_settings.m_overrideCustomRules = false;
}
else if( aAllowGUI )
{
WX_UNIT_ENTRY_DIALOG dlg( aFrame, _( "Tune Skew" ), _( "Target skew:" ), 0 );
if( dlg.ShowModal() != wxID_OK )
return nullptr;
pattern->m_settings.SetTargetSkew( dlg.GetValue() );
pattern->m_settings.m_overrideCustomRules = true;
}
else
{
pattern->m_unconstrained = true;
}
}
else
{
if( !constraint.IsNull() )
{
pattern->m_settings.SetTargetLength( constraint.GetValue() );
pattern->m_settings.m_overrideCustomRules = false;
}
else if( aAllowGUI )
else if( aMode == DIFF_PAIR_SKEW )
{
WX_UNIT_ENTRY_DIALOG dlg( aFrame, _( "Tune Length" ), _( "Target length:" ),
100 * PCB_IU_PER_MM );
if( dlg.ShowModal() != wxID_OK )
return nullptr;
pattern->m_settings.SetTargetLength( dlg.GetValue() );
pattern->m_settings.m_overrideCustomRules = true;
pattern->m_settings.SetTargetSkew( 0 );
}
else
{
pattern->m_unconstrained = true;
}
}
pattern->SetFlags( IS_NEW );
@ -2087,7 +2057,7 @@ int DRAWING_TOOL::PlaceTuningPattern( const TOOL_EVENT& aEvent )
if( m_pickerItem )
{
dummyPattern.reset( PCB_TUNING_PATTERN::CreateNew( generatorTool, m_frame,
m_pickerItem, mode, false ) );
m_pickerItem, mode ) );
dummyPattern->SetPosition( m_pickerItem->GetPosition() );
dummyPattern->SetEnd( m_pickerItem->GetPosition() );
}
@ -2200,8 +2170,6 @@ int DRAWING_TOOL::PlaceTuningPattern( const TOOL_EVENT& aEvent )
m_tuningPattern = PCB_TUNING_PATTERN::CreateNew( generatorTool, m_frame,
m_pickerItem, mode );
if( m_tuningPattern )
{
int dummyDist;
int dummyClearance = std::numeric_limits<int>::max() / 2;
VECTOR2I closestPt;
@ -2217,7 +2185,6 @@ int DRAWING_TOOL::PlaceTuningPattern( const TOOL_EVENT& aEvent )
m_preview.Add( m_tuningPattern->Clone() );
}
}
else if( m_pickerItem && m_tuningPattern )
{
// Second click; we're done