mirror of
https://gitlab.com/kicad/code/kicad.git
synced 2025-04-11 14:50:11 +00:00
Cleanup.
This commit is contained in:
parent
92cdca69b3
commit
931b1b0231
@ -37,7 +37,7 @@
|
||||
#include <board_commit.h>
|
||||
|
||||
|
||||
DIALOG_TRACK_VIA_PROPERTIES::DIALOG_TRACK_VIA_PROPERTIES( PCB_BASE_FRAME* aParent,
|
||||
DIALOG_TRACK_VIA_PROPERTIES::DIALOG_TRACK_VIA_PROPERTIES( PCB_BASE_EDIT_FRAME* aParent,
|
||||
const PCB_SELECTION& aItems ) :
|
||||
DIALOG_TRACK_VIA_PROPERTIES_BASE( aParent ),
|
||||
m_frame( aParent ),
|
||||
@ -537,7 +537,7 @@ void DIALOG_TRACK_VIA_PROPERTIES::onUnitsChanged( wxCommandEvent& aEvent )
|
||||
}
|
||||
|
||||
|
||||
bool DIALOG_TRACK_VIA_PROPERTIES::confirmPadChange( const std::vector<PAD*>& changingPads )
|
||||
bool DIALOG_TRACK_VIA_PROPERTIES::confirmPadChange( const std::set<PAD*>& changingPads )
|
||||
{
|
||||
wxString msg;
|
||||
|
||||
@ -577,6 +577,14 @@ bool DIALOG_TRACK_VIA_PROPERTIES::confirmPadChange( const std::vector<PAD*>& cha
|
||||
|
||||
bool DIALOG_TRACK_VIA_PROPERTIES::TransferDataFromWindow()
|
||||
{
|
||||
std::vector<PCB_TRACK*> tracks;
|
||||
|
||||
for( EDA_ITEM* item : m_items )
|
||||
{
|
||||
if( PCB_TRACK* track = dynamic_cast<PCB_TRACK*>( item ) )
|
||||
tracks.push_back( track );
|
||||
}
|
||||
|
||||
// Check for malformed data ONLY; design rules and constraints are the business of DRC.
|
||||
|
||||
if( m_vias )
|
||||
@ -628,51 +636,50 @@ bool DIALOG_TRACK_VIA_PROPERTIES::TransferDataFromWindow()
|
||||
bool changeLock = m_lockedCbox->Get3StateValue() != wxCHK_UNDETERMINED;
|
||||
bool setLock = m_lockedCbox->Get3StateValue() == wxCHK_CHECKED;
|
||||
|
||||
for( EDA_ITEM* item : m_items )
|
||||
for( PCB_TRACK* track : tracks )
|
||||
{
|
||||
commit.Modify( item );
|
||||
commit.Modify( track );
|
||||
|
||||
switch( item->Type() )
|
||||
switch( track->Type() )
|
||||
{
|
||||
case PCB_TRACE_T:
|
||||
case PCB_ARC_T:
|
||||
{
|
||||
wxASSERT( m_tracks );
|
||||
PCB_TRACK* t = static_cast<PCB_TRACK*>( item );
|
||||
|
||||
if( !m_trackStartX.IsIndeterminate() )
|
||||
t->SetStartX( m_trackStartX.GetIntValue() );
|
||||
track->SetStartX( m_trackStartX.GetIntValue() );
|
||||
|
||||
if( !m_trackStartY.IsIndeterminate() )
|
||||
t->SetStartY( m_trackStartY.GetIntValue() );
|
||||
track->SetStartY( m_trackStartY.GetIntValue() );
|
||||
|
||||
if( !m_trackEndX.IsIndeterminate() )
|
||||
t->SetEndX( m_trackEndX.GetIntValue() );
|
||||
track->SetEndX( m_trackEndX.GetIntValue() );
|
||||
|
||||
if( !m_trackEndY.IsIndeterminate() )
|
||||
t->SetEndY( m_trackEndY.GetIntValue() );
|
||||
track->SetEndY( m_trackEndY.GetIntValue() );
|
||||
|
||||
if( !m_trackWidth.IsIndeterminate() )
|
||||
t->SetWidth( m_trackWidth.GetIntValue() );
|
||||
track->SetWidth( m_trackWidth.GetIntValue() );
|
||||
|
||||
int layer = m_TrackLayerCtrl->GetLayerSelection();
|
||||
|
||||
if( layer != UNDEFINED_LAYER )
|
||||
t->SetLayer( (PCB_LAYER_ID) layer );
|
||||
track->SetLayer( (PCB_LAYER_ID) layer );
|
||||
|
||||
if ( m_trackHasSolderMask->Get3StateValue() != wxCHK_UNDETERMINED )
|
||||
t->SetHasSolderMask( m_trackHasSolderMask->GetValue() );
|
||||
track->SetHasSolderMask( m_trackHasSolderMask->GetValue() );
|
||||
|
||||
if( !m_trackMaskMargin.IsIndeterminate() )
|
||||
{
|
||||
if( m_trackMaskMargin.IsNull() )
|
||||
t->SetLocalSolderMaskMargin( {} );
|
||||
track->SetLocalSolderMaskMargin( {} );
|
||||
else
|
||||
t->SetLocalSolderMaskMargin( m_trackMaskMargin.GetIntValue() );
|
||||
track->SetLocalSolderMaskMargin( m_trackMaskMargin.GetIntValue() );
|
||||
}
|
||||
|
||||
if( changeLock )
|
||||
t->SetLocked( setLock );
|
||||
track->SetLocked( setLock );
|
||||
|
||||
break;
|
||||
}
|
||||
@ -680,30 +687,30 @@ bool DIALOG_TRACK_VIA_PROPERTIES::TransferDataFromWindow()
|
||||
case PCB_VIA_T:
|
||||
{
|
||||
wxASSERT( m_vias );
|
||||
PCB_VIA* v = static_cast<PCB_VIA*>( item );
|
||||
PCB_VIA* via = static_cast<PCB_VIA*>( track );
|
||||
|
||||
if( !m_viaX.IsIndeterminate() )
|
||||
v->SetPosition( VECTOR2I( m_viaX.GetIntValue(), v->GetPosition().y ) );
|
||||
via->SetPosition( VECTOR2I( m_viaX.GetIntValue(), via->GetPosition().y ) );
|
||||
|
||||
if( !m_viaY.IsIndeterminate() )
|
||||
v->SetPosition( VECTOR2I( v->GetPosition().x, m_viaY.GetIntValue() ) );
|
||||
via->SetPosition( VECTOR2I( via->GetPosition().x, m_viaY.GetIntValue() ) );
|
||||
|
||||
if( m_viaNotFree->Get3StateValue() != wxCHK_UNDETERMINED )
|
||||
v->SetIsFree( !m_viaNotFree->GetValue() );
|
||||
via->SetIsFree( !m_viaNotFree->GetValue() );
|
||||
|
||||
if( !m_viaDiameter.IsIndeterminate() )
|
||||
v->SetPadstack( *m_viaStack );
|
||||
via->SetPadstack( *m_viaStack );
|
||||
|
||||
switch( m_ViaTypeChoice->GetSelection() )
|
||||
{
|
||||
case 0:
|
||||
v->SetViaType( VIATYPE::THROUGH );
|
||||
via->SetViaType( VIATYPE::THROUGH );
|
||||
break;
|
||||
case 1:
|
||||
v->SetViaType( VIATYPE::MICROVIA );
|
||||
via->SetViaType( VIATYPE::MICROVIA );
|
||||
break;
|
||||
case 2:
|
||||
v->SetViaType( VIATYPE::BLIND_BURIED );
|
||||
via->SetViaType( VIATYPE::BLIND_BURIED );
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
@ -715,29 +722,29 @@ bool DIALOG_TRACK_VIA_PROPERTIES::TransferDataFromWindow()
|
||||
if( startLayer != UNDEFINED_LAYER )
|
||||
{
|
||||
m_viaStack->Drill().start = startLayer;
|
||||
v->SetTopLayer( startLayer );
|
||||
via->SetTopLayer( startLayer );
|
||||
}
|
||||
|
||||
if( endLayer != UNDEFINED_LAYER )
|
||||
{
|
||||
m_viaStack->Drill().end = endLayer;
|
||||
v->SetBottomLayer( endLayer );
|
||||
via->SetBottomLayer( endLayer );
|
||||
}
|
||||
|
||||
v->SanitizeLayers();
|
||||
via->SanitizeLayers();
|
||||
|
||||
switch( m_annularRingsCtrl->GetSelection() )
|
||||
{
|
||||
case 0:
|
||||
v->Padstack().SetUnconnectedLayerMode(
|
||||
via->Padstack().SetUnconnectedLayerMode(
|
||||
PADSTACK::UNCONNECTED_LAYER_MODE::KEEP_ALL );
|
||||
break;
|
||||
case 1:
|
||||
v->Padstack().SetUnconnectedLayerMode(
|
||||
via->Padstack().SetUnconnectedLayerMode(
|
||||
PADSTACK::UNCONNECTED_LAYER_MODE::REMOVE_EXCEPT_START_AND_END );
|
||||
break;
|
||||
case 2:
|
||||
v->Padstack().SetUnconnectedLayerMode(
|
||||
via->Padstack().SetUnconnectedLayerMode(
|
||||
PADSTACK::UNCONNECTED_LAYER_MODE::REMOVE_ALL );
|
||||
break;
|
||||
default:
|
||||
@ -747,23 +754,23 @@ bool DIALOG_TRACK_VIA_PROPERTIES::TransferDataFromWindow()
|
||||
switch( m_tentingFrontCtrl->GetSelection() )
|
||||
{
|
||||
default:
|
||||
case 0: v->Padstack().FrontOuterLayers().has_solder_mask.reset(); break;
|
||||
case 1: v->Padstack().FrontOuterLayers().has_solder_mask = true; break;
|
||||
case 2: v->Padstack().FrontOuterLayers().has_solder_mask = false; break;
|
||||
case 0: via->Padstack().FrontOuterLayers().has_solder_mask.reset(); break;
|
||||
case 1: via->Padstack().FrontOuterLayers().has_solder_mask = true; break;
|
||||
case 2: via->Padstack().FrontOuterLayers().has_solder_mask = false; break;
|
||||
}
|
||||
|
||||
switch( m_tentingBackCtrl->GetSelection() )
|
||||
{
|
||||
default:
|
||||
case 0: v->Padstack().BackOuterLayers().has_solder_mask.reset(); break;
|
||||
case 1: v->Padstack().BackOuterLayers().has_solder_mask = true; break;
|
||||
case 2: v->Padstack().BackOuterLayers().has_solder_mask = false; break;
|
||||
case 0: via->Padstack().BackOuterLayers().has_solder_mask.reset(); break;
|
||||
case 1: via->Padstack().BackOuterLayers().has_solder_mask = true; break;
|
||||
case 2: via->Padstack().BackOuterLayers().has_solder_mask = false; break;
|
||||
}
|
||||
|
||||
if( !m_viaDrill.IsIndeterminate() )
|
||||
v->SetDrill( m_viaDrill.GetIntValue() );
|
||||
via->SetDrill( m_viaDrill.GetIntValue() );
|
||||
|
||||
TEARDROP_PARAMETERS* targetParams = &v->GetTeardropParams();
|
||||
TEARDROP_PARAMETERS* targetParams = &via->GetTeardropParams();
|
||||
|
||||
if( m_cbTeardrops->Get3StateValue() != wxCHK_UNDETERMINED )
|
||||
targetParams->m_Enabled = m_cbTeardrops->GetValue();
|
||||
@ -791,7 +798,7 @@ bool DIALOG_TRACK_VIA_PROPERTIES::TransferDataFromWindow()
|
||||
targetParams->m_CurvedEdges = m_curvedEdges->GetValue();
|
||||
|
||||
if( changeLock )
|
||||
v->SetLocked( setLock );
|
||||
via->SetLocked( setLock );
|
||||
|
||||
break;
|
||||
}
|
||||
@ -807,18 +814,18 @@ bool DIALOG_TRACK_VIA_PROPERTIES::TransferDataFromWindow()
|
||||
// Pushing the commit will have updated the connectivity so we can now test to see if we
|
||||
// need to update any pad nets.
|
||||
|
||||
auto connectivity = m_frame->GetBoard()->GetConnectivity();
|
||||
int newNetCode = m_netSelector->GetSelectedNetcode();
|
||||
bool updateNets = false;
|
||||
std::vector<PAD*> changingPads;
|
||||
auto connectivity = m_frame->GetBoard()->GetConnectivity();
|
||||
int newNetCode = m_netSelector->GetSelectedNetcode();
|
||||
bool updateNets = false;
|
||||
std::set<PAD*> changingPads;
|
||||
|
||||
if ( !m_netSelector->IsIndeterminate() )
|
||||
{
|
||||
updateNets = true;
|
||||
|
||||
for( EDA_ITEM* item : m_items )
|
||||
for( PCB_TRACK* track : tracks )
|
||||
{
|
||||
BOARD_CONNECTED_ITEM* boardItem = static_cast<BOARD_CONNECTED_ITEM*>( item );
|
||||
BOARD_CONNECTED_ITEM* boardItem = static_cast<BOARD_CONNECTED_ITEM*>( track );
|
||||
auto connectedItems = connectivity->GetConnectedItems( boardItem,
|
||||
{ PCB_TRACE_T, PCB_ARC_T, PCB_PAD_T, PCB_VIA_T, PCB_FOOTPRINT_T }, true );
|
||||
|
||||
@ -828,8 +835,8 @@ bool DIALOG_TRACK_VIA_PROPERTIES::TransferDataFromWindow()
|
||||
{
|
||||
PAD* pad = static_cast<PAD*>( citem );
|
||||
|
||||
if( pad->GetNetCode() != newNetCode && !alg::contains( changingPads, citem ) )
|
||||
changingPads.push_back( pad );
|
||||
if( pad->GetNetCode() != newNetCode )
|
||||
changingPads.insert( pad );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -29,14 +29,14 @@
|
||||
#include <layer_ids.h>
|
||||
|
||||
class PCB_SELECTION;
|
||||
class PCB_BASE_FRAME;
|
||||
class PCB_BASE_EDIT_FRAME;
|
||||
class PAD;
|
||||
class PADSTACK;
|
||||
|
||||
class DIALOG_TRACK_VIA_PROPERTIES : public DIALOG_TRACK_VIA_PROPERTIES_BASE
|
||||
{
|
||||
public:
|
||||
DIALOG_TRACK_VIA_PROPERTIES( PCB_BASE_FRAME* aParent, const PCB_SELECTION& aItems );
|
||||
DIALOG_TRACK_VIA_PROPERTIES( PCB_BASE_EDIT_FRAME* aParent, const PCB_SELECTION& aItems );
|
||||
|
||||
~DIALOG_TRACK_VIA_PROPERTIES();
|
||||
|
||||
@ -58,13 +58,13 @@ private:
|
||||
void onUnitsChanged( wxCommandEvent& aEvent );
|
||||
void onTeardropsUpdateUi( wxUpdateUIEvent& event ) override;
|
||||
|
||||
bool confirmPadChange( const std::vector<PAD*>& connectedPads );
|
||||
bool confirmPadChange( const std::set<PAD*>& connectedPads );
|
||||
|
||||
int getLayerDepth();
|
||||
void afterPadstackModeChanged();
|
||||
|
||||
private:
|
||||
PCB_BASE_FRAME* m_frame;
|
||||
PCB_BASE_EDIT_FRAME* m_frame;
|
||||
const PCB_SELECTION& m_items; // List of items to be modified.
|
||||
|
||||
UNIT_BINDER m_trackStartX, m_trackStartY;
|
||||
|
Loading…
Reference in New Issue
Block a user