Loading eeschema/dialogs/dialog_edit_component_in_schematic.cpp +10 −9 Original line number Diff line number Diff line Loading @@ -233,7 +233,7 @@ void DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::OnOKButtonClick( wxCommandEvent& event // change all field positions from relative to absolute for( unsigned i = 0; i<m_FieldsBuf.size(); ++i ) { m_FieldsBuf[i].SetPosition( m_FieldsBuf[i].GetPosition() + m_Cmp->m_Pos ); m_FieldsBuf[i].SetTextPosition( m_FieldsBuf[i].GetTextPosition() + m_Cmp->m_Pos ); } // Delete any fields with no name before we copy all of m_FieldsBuf back into the component. Loading Loading @@ -458,7 +458,7 @@ void DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::InitBuffers( SCH_COMPONENT* aComponent m_FieldsBuf.push_back( aComponent->m_Fields[i] ); // make the editable field position relative to the component m_FieldsBuf[i].SetPosition( m_FieldsBuf[i].GetPosition() - m_Cmp->m_Pos ); m_FieldsBuf[i].SetTextPosition( m_FieldsBuf[i].GetTextPosition() - m_Cmp->m_Pos ); } // Add template fieldnames: Loading Loading @@ -491,7 +491,7 @@ void DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::InitBuffers( SCH_COMPONENT* aComponent fld = *schField; // make the editable field position relative to the component fld.SetPosition( fld.GetPosition() - m_Cmp->m_Pos ); fld.SetTextPosition( fld.GetTextPosition() - m_Cmp->m_Pos ); } m_FieldsBuf.push_back( fld ); Loading @@ -510,7 +510,8 @@ void DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::InitBuffers( SCH_COMPONENT* aComponent m_FieldsBuf.push_back( *cmp ); // make the editable field position relative to the component m_FieldsBuf[newNdx].SetPosition( m_FieldsBuf[newNdx].GetPosition() - m_Cmp->m_Pos ); m_FieldsBuf[newNdx].SetTextPosition( m_FieldsBuf[newNdx].GetTextPosition() - m_Cmp->m_Pos ); } } Loading Loading @@ -644,7 +645,7 @@ void DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::copySelectedFieldToPanel() textSizeTextCtrl->SetValue( EDA_GRAPHIC_TEXT_CTRL::FormatSize( g_UserUnit, field.GetSize().x ) ); wxPoint coord = field.GetPosition(); wxPoint coord = field.GetTextPosition(); wxPoint zero = -m_Cmp->m_Pos; // relative zero // If the field value is empty and the position is at relative zero, we Loading @@ -655,10 +656,10 @@ void DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::copySelectedFieldToPanel() { rotateCheckBox->SetValue( m_FieldsBuf[REFERENCE].GetOrientation() == TEXT_ORIENT_VERT ); coord.x = m_FieldsBuf[REFERENCE].GetPosition().x coord.x = m_FieldsBuf[REFERENCE].GetTextPosition().x + ( fieldNdx - MANDATORY_FIELDS + 1 ) * 100; coord.y = m_FieldsBuf[REFERENCE].GetPosition().y coord.y = m_FieldsBuf[REFERENCE].GetTextPosition().y + ( fieldNdx - MANDATORY_FIELDS + 1 ) * 100; // coord can compute negative if field is < MANDATORY_FIELDS, e.g. FOOTPRINT. Loading Loading @@ -844,11 +845,11 @@ void DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::SetInitCmp( wxCommandEvent& event ) // Perhaps the FOOTPRINT field should also be considered, // but for most of components it is not set in library LIB_FIELD& refField = entry->GetReferenceField(); m_Cmp->GetField( REFERENCE )->SetPosition( refField.GetPosition() + m_Cmp->m_Pos ); m_Cmp->GetField( REFERENCE )->SetTextPosition( refField.GetTextPosition() + m_Cmp->m_Pos ); m_Cmp->GetField( REFERENCE )->ImportValues( refField ); LIB_FIELD& valField = entry->GetValueField(); m_Cmp->GetField( VALUE )->SetPosition( valField.GetPosition() + m_Cmp->m_Pos ); m_Cmp->GetField( VALUE )->SetTextPosition( valField.GetTextPosition() + m_Cmp->m_Pos ); m_Cmp->GetField( VALUE )->ImportValues( valField ); m_Cmp->SetOrientation( CMP_NORMAL ); Loading eeschema/dialogs/dialog_edit_libentry_fields_in_lib.cpp +6 −4 Original line number Diff line number Diff line Loading @@ -661,7 +661,7 @@ void DIALOG_EDIT_LIBENTRY_FIELDS_IN_LIB::copySelectedFieldToPanel() textSizeTextCtrl->SetValue( EDA_GRAPHIC_TEXT_CTRL::FormatSize( g_UserUnit, field.GetSize().x ) ); wxPoint coord = field.GetPosition(); wxPoint coord = field.GetTextPosition(); wxPoint zero; // If the field value is empty and the position is at relative zero, we set the Loading @@ -672,8 +672,10 @@ void DIALOG_EDIT_LIBENTRY_FIELDS_IN_LIB::copySelectedFieldToPanel() { rotateCheckBox->SetValue( m_FieldsBuf[REFERENCE].GetOrientation() == TEXT_ORIENT_VERT ); coord.x = m_FieldsBuf[REFERENCE].GetPosition().x + (fieldNdx - MANDATORY_FIELDS + 1) * 100; coord.y = m_FieldsBuf[REFERENCE].GetPosition().y + (fieldNdx - MANDATORY_FIELDS + 1) * 100; coord.x = m_FieldsBuf[REFERENCE].GetTextPosition().x + (fieldNdx - MANDATORY_FIELDS + 1) * 100; coord.y = m_FieldsBuf[REFERENCE].GetTextPosition().y + (fieldNdx - MANDATORY_FIELDS + 1) * 100; // coord can compute negative if field is < MANDATORY_FIELDS, e.g. FOOTPRINT. // That is ok, we basically don't want all the new empty fields on Loading Loading @@ -761,7 +763,7 @@ bool DIALOG_EDIT_LIBENTRY_FIELDS_IN_LIB::copyPanelToSelectedField() // and the screen axis is top to bottom: we must change the y coord sign for editing NEGATE( pos.y ); field.SetPosition( pos ); field.SetTextPosition( pos ); return true; } eeschema/sch_component.cpp +11 −11 Original line number Diff line number Diff line Loading @@ -157,7 +157,7 @@ SCH_COMPONENT::SCH_COMPONENT( LIB_COMPONENT& libComponent, SCH_SHEET_PATH* sheet schField = AddField( fld ); } schField->SetPosition( m_Pos + it->GetPosition() ); schField->SetTextPosition( m_Pos + it->GetTextPosition() ); schField->ImportValues( *it ); Loading Loading @@ -490,11 +490,11 @@ void SCH_COMPONENT::SetRef( const SCH_SHEET_PATH* sheet, const wxString& ref ) SCH_FIELD* rf = GetField( REFERENCE ); if( rf->GetText().IsEmpty() || ( abs( rf->GetPosition().x - m_Pos.x ) + abs( rf->GetPosition().y - m_Pos.y ) > 10000 ) ) || ( abs( rf->GetTextPosition().x - m_Pos.x ) + abs( rf->GetTextPosition().y - m_Pos.y ) > 10000 ) ) { // move it to a reasonable position rf->SetPosition( m_Pos + wxPoint( 50, 50 ) ); rf->SetTextPosition( m_Pos + wxPoint( 50, 50 ) ); } rf->SetText( ref ); // for drawing. Loading Loading @@ -1206,7 +1206,7 @@ bool SCH_COMPONENT::Load( LINE_READER& aLine, wxString& aErrorMsg ) for( int i = 0; i<GetFieldCount(); i++ ) { if( GetField( i )->GetText().IsEmpty() ) GetField( i )->SetPosition( m_Pos ); GetField( i )->SetTextPosition( m_Pos ); } } else if( line[0] == 'A' && line[1] == 'R' ) Loading Loading @@ -1511,9 +1511,9 @@ void SCH_COMPONENT::MirrorY( int aYaxis_position ) for( int ii = 0; ii < GetFieldCount(); ii++ ) { // Move the fields to the new position because the component itself has moved. wxPoint pos = GetField( ii )->GetPosition(); wxPoint pos = GetField( ii )->GetTextPosition(); pos.x -= dx; GetField( ii )->SetPosition( pos ); GetField( ii )->SetTextPosition( pos ); } } Loading @@ -1531,9 +1531,9 @@ void SCH_COMPONENT::MirrorX( int aXaxis_position ) for( int ii = 0; ii < GetFieldCount(); ii++ ) { // Move the fields to the new position because the component itself has moved. wxPoint pos = GetField( ii )->GetPosition(); wxPoint pos = GetField( ii )->GetTextPosition(); pos.y -= dy; GetField( ii )->SetPosition( pos ); GetField( ii )->SetTextPosition( pos ); } } Loading @@ -1550,10 +1550,10 @@ void SCH_COMPONENT::Rotate( wxPoint aPosition ) for( int ii = 0; ii < GetFieldCount(); ii++ ) { // Move the fields to the new position because the component itself has moved. wxPoint pos = GetField( ii )->GetPosition(); wxPoint pos = GetField( ii )->GetTextPosition(); pos.x -= prev.x - m_Pos.x; pos.y -= prev.y - m_Pos.y; GetField( ii )->SetPosition( pos ); GetField( ii )->SetTextPosition( pos ); } } Loading eeschema/sch_screen.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -1084,10 +1084,10 @@ bool SCH_SCREEN::SetComponentFootprint( SCH_SHEET_PATH* aSheetPath, const wxStri */ SCH_FIELD * fpfield = component->GetField( FOOTPRINT ); if( fpfield->GetText().IsEmpty() && ( fpfield->GetPosition() == component->GetPosition() ) ) && ( fpfield->GetTextPosition() == component->GetPosition() ) ) { fpfield->SetOrientation( component->GetField( VALUE )->GetOrientation() ); fpfield->SetPosition( component->GetField( VALUE )->GetPosition() ); fpfield->SetTextPosition( component->GetField( VALUE )->GetTextPosition() ); fpfield->SetSize( component->GetField( VALUE )->GetSize() ); if( fpfield->GetOrientation() == 0 ) Loading Loading
eeschema/dialogs/dialog_edit_component_in_schematic.cpp +10 −9 Original line number Diff line number Diff line Loading @@ -233,7 +233,7 @@ void DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::OnOKButtonClick( wxCommandEvent& event // change all field positions from relative to absolute for( unsigned i = 0; i<m_FieldsBuf.size(); ++i ) { m_FieldsBuf[i].SetPosition( m_FieldsBuf[i].GetPosition() + m_Cmp->m_Pos ); m_FieldsBuf[i].SetTextPosition( m_FieldsBuf[i].GetTextPosition() + m_Cmp->m_Pos ); } // Delete any fields with no name before we copy all of m_FieldsBuf back into the component. Loading Loading @@ -458,7 +458,7 @@ void DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::InitBuffers( SCH_COMPONENT* aComponent m_FieldsBuf.push_back( aComponent->m_Fields[i] ); // make the editable field position relative to the component m_FieldsBuf[i].SetPosition( m_FieldsBuf[i].GetPosition() - m_Cmp->m_Pos ); m_FieldsBuf[i].SetTextPosition( m_FieldsBuf[i].GetTextPosition() - m_Cmp->m_Pos ); } // Add template fieldnames: Loading Loading @@ -491,7 +491,7 @@ void DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::InitBuffers( SCH_COMPONENT* aComponent fld = *schField; // make the editable field position relative to the component fld.SetPosition( fld.GetPosition() - m_Cmp->m_Pos ); fld.SetTextPosition( fld.GetTextPosition() - m_Cmp->m_Pos ); } m_FieldsBuf.push_back( fld ); Loading @@ -510,7 +510,8 @@ void DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::InitBuffers( SCH_COMPONENT* aComponent m_FieldsBuf.push_back( *cmp ); // make the editable field position relative to the component m_FieldsBuf[newNdx].SetPosition( m_FieldsBuf[newNdx].GetPosition() - m_Cmp->m_Pos ); m_FieldsBuf[newNdx].SetTextPosition( m_FieldsBuf[newNdx].GetTextPosition() - m_Cmp->m_Pos ); } } Loading Loading @@ -644,7 +645,7 @@ void DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::copySelectedFieldToPanel() textSizeTextCtrl->SetValue( EDA_GRAPHIC_TEXT_CTRL::FormatSize( g_UserUnit, field.GetSize().x ) ); wxPoint coord = field.GetPosition(); wxPoint coord = field.GetTextPosition(); wxPoint zero = -m_Cmp->m_Pos; // relative zero // If the field value is empty and the position is at relative zero, we Loading @@ -655,10 +656,10 @@ void DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::copySelectedFieldToPanel() { rotateCheckBox->SetValue( m_FieldsBuf[REFERENCE].GetOrientation() == TEXT_ORIENT_VERT ); coord.x = m_FieldsBuf[REFERENCE].GetPosition().x coord.x = m_FieldsBuf[REFERENCE].GetTextPosition().x + ( fieldNdx - MANDATORY_FIELDS + 1 ) * 100; coord.y = m_FieldsBuf[REFERENCE].GetPosition().y coord.y = m_FieldsBuf[REFERENCE].GetTextPosition().y + ( fieldNdx - MANDATORY_FIELDS + 1 ) * 100; // coord can compute negative if field is < MANDATORY_FIELDS, e.g. FOOTPRINT. Loading Loading @@ -844,11 +845,11 @@ void DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::SetInitCmp( wxCommandEvent& event ) // Perhaps the FOOTPRINT field should also be considered, // but for most of components it is not set in library LIB_FIELD& refField = entry->GetReferenceField(); m_Cmp->GetField( REFERENCE )->SetPosition( refField.GetPosition() + m_Cmp->m_Pos ); m_Cmp->GetField( REFERENCE )->SetTextPosition( refField.GetTextPosition() + m_Cmp->m_Pos ); m_Cmp->GetField( REFERENCE )->ImportValues( refField ); LIB_FIELD& valField = entry->GetValueField(); m_Cmp->GetField( VALUE )->SetPosition( valField.GetPosition() + m_Cmp->m_Pos ); m_Cmp->GetField( VALUE )->SetTextPosition( valField.GetTextPosition() + m_Cmp->m_Pos ); m_Cmp->GetField( VALUE )->ImportValues( valField ); m_Cmp->SetOrientation( CMP_NORMAL ); Loading
eeschema/dialogs/dialog_edit_libentry_fields_in_lib.cpp +6 −4 Original line number Diff line number Diff line Loading @@ -661,7 +661,7 @@ void DIALOG_EDIT_LIBENTRY_FIELDS_IN_LIB::copySelectedFieldToPanel() textSizeTextCtrl->SetValue( EDA_GRAPHIC_TEXT_CTRL::FormatSize( g_UserUnit, field.GetSize().x ) ); wxPoint coord = field.GetPosition(); wxPoint coord = field.GetTextPosition(); wxPoint zero; // If the field value is empty and the position is at relative zero, we set the Loading @@ -672,8 +672,10 @@ void DIALOG_EDIT_LIBENTRY_FIELDS_IN_LIB::copySelectedFieldToPanel() { rotateCheckBox->SetValue( m_FieldsBuf[REFERENCE].GetOrientation() == TEXT_ORIENT_VERT ); coord.x = m_FieldsBuf[REFERENCE].GetPosition().x + (fieldNdx - MANDATORY_FIELDS + 1) * 100; coord.y = m_FieldsBuf[REFERENCE].GetPosition().y + (fieldNdx - MANDATORY_FIELDS + 1) * 100; coord.x = m_FieldsBuf[REFERENCE].GetTextPosition().x + (fieldNdx - MANDATORY_FIELDS + 1) * 100; coord.y = m_FieldsBuf[REFERENCE].GetTextPosition().y + (fieldNdx - MANDATORY_FIELDS + 1) * 100; // coord can compute negative if field is < MANDATORY_FIELDS, e.g. FOOTPRINT. // That is ok, we basically don't want all the new empty fields on Loading Loading @@ -761,7 +763,7 @@ bool DIALOG_EDIT_LIBENTRY_FIELDS_IN_LIB::copyPanelToSelectedField() // and the screen axis is top to bottom: we must change the y coord sign for editing NEGATE( pos.y ); field.SetPosition( pos ); field.SetTextPosition( pos ); return true; }
eeschema/sch_component.cpp +11 −11 Original line number Diff line number Diff line Loading @@ -157,7 +157,7 @@ SCH_COMPONENT::SCH_COMPONENT( LIB_COMPONENT& libComponent, SCH_SHEET_PATH* sheet schField = AddField( fld ); } schField->SetPosition( m_Pos + it->GetPosition() ); schField->SetTextPosition( m_Pos + it->GetTextPosition() ); schField->ImportValues( *it ); Loading Loading @@ -490,11 +490,11 @@ void SCH_COMPONENT::SetRef( const SCH_SHEET_PATH* sheet, const wxString& ref ) SCH_FIELD* rf = GetField( REFERENCE ); if( rf->GetText().IsEmpty() || ( abs( rf->GetPosition().x - m_Pos.x ) + abs( rf->GetPosition().y - m_Pos.y ) > 10000 ) ) || ( abs( rf->GetTextPosition().x - m_Pos.x ) + abs( rf->GetTextPosition().y - m_Pos.y ) > 10000 ) ) { // move it to a reasonable position rf->SetPosition( m_Pos + wxPoint( 50, 50 ) ); rf->SetTextPosition( m_Pos + wxPoint( 50, 50 ) ); } rf->SetText( ref ); // for drawing. Loading Loading @@ -1206,7 +1206,7 @@ bool SCH_COMPONENT::Load( LINE_READER& aLine, wxString& aErrorMsg ) for( int i = 0; i<GetFieldCount(); i++ ) { if( GetField( i )->GetText().IsEmpty() ) GetField( i )->SetPosition( m_Pos ); GetField( i )->SetTextPosition( m_Pos ); } } else if( line[0] == 'A' && line[1] == 'R' ) Loading Loading @@ -1511,9 +1511,9 @@ void SCH_COMPONENT::MirrorY( int aYaxis_position ) for( int ii = 0; ii < GetFieldCount(); ii++ ) { // Move the fields to the new position because the component itself has moved. wxPoint pos = GetField( ii )->GetPosition(); wxPoint pos = GetField( ii )->GetTextPosition(); pos.x -= dx; GetField( ii )->SetPosition( pos ); GetField( ii )->SetTextPosition( pos ); } } Loading @@ -1531,9 +1531,9 @@ void SCH_COMPONENT::MirrorX( int aXaxis_position ) for( int ii = 0; ii < GetFieldCount(); ii++ ) { // Move the fields to the new position because the component itself has moved. wxPoint pos = GetField( ii )->GetPosition(); wxPoint pos = GetField( ii )->GetTextPosition(); pos.y -= dy; GetField( ii )->SetPosition( pos ); GetField( ii )->SetTextPosition( pos ); } } Loading @@ -1550,10 +1550,10 @@ void SCH_COMPONENT::Rotate( wxPoint aPosition ) for( int ii = 0; ii < GetFieldCount(); ii++ ) { // Move the fields to the new position because the component itself has moved. wxPoint pos = GetField( ii )->GetPosition(); wxPoint pos = GetField( ii )->GetTextPosition(); pos.x -= prev.x - m_Pos.x; pos.y -= prev.y - m_Pos.y; GetField( ii )->SetPosition( pos ); GetField( ii )->SetTextPosition( pos ); } } Loading
eeschema/sch_screen.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -1084,10 +1084,10 @@ bool SCH_SCREEN::SetComponentFootprint( SCH_SHEET_PATH* aSheetPath, const wxStri */ SCH_FIELD * fpfield = component->GetField( FOOTPRINT ); if( fpfield->GetText().IsEmpty() && ( fpfield->GetPosition() == component->GetPosition() ) ) && ( fpfield->GetTextPosition() == component->GetPosition() ) ) { fpfield->SetOrientation( component->GetField( VALUE )->GetOrientation() ); fpfield->SetPosition( component->GetField( VALUE )->GetPosition() ); fpfield->SetTextPosition( component->GetField( VALUE )->GetTextPosition() ); fpfield->SetSize( component->GetField( VALUE )->GetSize() ); if( fpfield->GetOrientation() == 0 ) Loading