diff --git a/pcbnew/dialogs/dialog_track_via_properties.cpp b/pcbnew/dialogs/dialog_track_via_properties.cpp index 54c13ed10e..c7e0ba1e56 100644 --- a/pcbnew/dialogs/dialog_track_via_properties.cpp +++ b/pcbnew/dialogs/dialog_track_via_properties.cpp @@ -172,10 +172,10 @@ DIALOG_TRACK_VIA_PROPERTIES::DIALOG_TRACK_VIA_PROPERTIES( PCB_BASE_FRAME* aParen if( !m_tracks ) // first track in the list { - m_trackStartX.SetValue( t->GetStart().x ); - m_trackStartY.SetValue( t->GetStart().y ); - m_trackEndX.SetValue( t->GetEnd().x ); - m_trackEndY.SetValue( t->GetEnd().y ); + m_trackStartX.SetValue( t->GetStartX() ); + m_trackStartY.SetValue( t->GetStartY() ); + m_trackEndX.SetValue( t->GetEndX() ); + m_trackEndY.SetValue( t->GetEndY() ); m_trackWidth.SetValue( t->GetWidth() ); track_selection_layer = t->GetLayer(); m_trackHasSolderMask->SetValue ( t->HasSolderMask() ); @@ -189,16 +189,16 @@ DIALOG_TRACK_VIA_PROPERTIES::DIALOG_TRACK_VIA_PROPERTIES( PCB_BASE_FRAME* aParen } else // check if values are the same for every selected track { - if( m_trackStartX.GetValue() != t->GetStart().x ) + if( m_trackStartX.GetValue() != t->GetStartX() ) m_trackStartX.SetValue( INDETERMINATE_STATE ); - if( m_trackStartY.GetValue() != t->GetStart().y ) + if( m_trackStartY.GetValue() != t->GetStartY() ) m_trackStartY.SetValue( INDETERMINATE_STATE ); - if( m_trackEndX.GetValue() != t->GetEnd().x ) + if( m_trackEndX.GetValue() != t->GetEndX() ) m_trackEndX.SetValue( INDETERMINATE_STATE ); - if( m_trackEndY.GetValue() != t->GetEnd().y ) + if( m_trackEndY.GetValue() != t->GetEndY() ) m_trackEndY.SetValue( INDETERMINATE_STATE ); if( m_trackWidth.GetValue() != t->GetWidth() ) @@ -640,16 +640,16 @@ bool DIALOG_TRACK_VIA_PROPERTIES::TransferDataFromWindow() PCB_TRACK* t = static_cast( item ); if( !m_trackStartX.IsIndeterminate() ) - t->SetStart( VECTOR2I( m_trackStartX.GetIntValue(), t->GetStart().y ) ); + t->SetStartX( m_trackStartX.GetIntValue() ); if( !m_trackStartY.IsIndeterminate() ) - t->SetStart( VECTOR2I( t->GetStart().x, m_trackStartY.GetIntValue() ) ); + t->SetStartY( m_trackStartY.GetIntValue() ); if( !m_trackEndX.IsIndeterminate() ) - t->SetEnd( VECTOR2I( m_trackEndX.GetIntValue(), t->GetEnd().y ) ); + t->SetEndX( m_trackEndX.GetIntValue() ); if( !m_trackEndY.IsIndeterminate() ) - t->SetEnd( VECTOR2I( t->GetEnd().x, m_trackEndY.GetIntValue() ) ); + t->SetEndY( m_trackEndY.GetIntValue() ); if( !m_trackWidth.IsIndeterminate() ) t->SetWidth( m_trackWidth.GetIntValue() ); diff --git a/pcbnew/pcb_track.cpp b/pcbnew/pcb_track.cpp index 116d9a85a8..a5cd24efe8 100644 --- a/pcbnew/pcb_track.cpp +++ b/pcbnew/pcb_track.cpp @@ -2050,12 +2050,12 @@ static struct TRACK_VIA_DESC propMgr.AddProperty( new PROPERTY( _HKI( "Width" ), &PCB_TRACK::SetWidth, &PCB_TRACK::GetWidth, PROPERTY_DISPLAY::PT_SIZE ) ); propMgr.ReplaceProperty( TYPE_HASH( BOARD_ITEM ), _HKI( "Position X" ), - new PROPERTY( _HKI( "Start X" ), - &PCB_TRACK::SetX, &PCB_TRACK::GetX, PROPERTY_DISPLAY::PT_COORD, + new PROPERTY( _HKI( "Start X" ), + &PCB_TRACK::SetStartX, &PCB_TRACK::GetStartX, PROPERTY_DISPLAY::PT_COORD, ORIGIN_TRANSFORMS::ABS_X_COORD) ); propMgr.ReplaceProperty( TYPE_HASH( BOARD_ITEM ), _HKI( "Position Y" ), - new PROPERTY( _HKI( "Start Y" ), - &PCB_TRACK::SetY, &PCB_TRACK::GetY, PROPERTY_DISPLAY::PT_COORD, + new PROPERTY( _HKI( "Start Y" ), + &PCB_TRACK::SetStartY, &PCB_TRACK::GetStartY, PROPERTY_DISPLAY::PT_COORD, ORIGIN_TRANSFORMS::ABS_Y_COORD ) ); propMgr.AddProperty( new PROPERTY( _HKI( "End X" ), &PCB_TRACK::SetEndX, &PCB_TRACK::GetEndX, PROPERTY_DISPLAY::PT_COORD, diff --git a/pcbnew/pcb_track.h b/pcbnew/pcb_track.h index d66b0fb282..f64374d956 100644 --- a/pcbnew/pcb_track.h +++ b/pcbnew/pcb_track.h @@ -121,6 +121,12 @@ public: void SetStart( const VECTOR2I& aStart ) { m_Start = aStart; } const VECTOR2I& GetStart() const { return m_Start; } + void SetStartX( int aX ) { m_Start.x = aX; } + void SetStartY( int aY ) { m_Start.y = aY; } + + int GetStartX() const { return m_Start.x; } + int GetStartY() const { return m_Start.y; } + void SetEndX( int aX ) { m_End.x = aX; } void SetEndY( int aY ) { m_End.y = aY; }