mirror of
https://gitlab.com/kicad/code/kicad.git
synced 2025-09-14 02:03:12 +02:00
LTspice import: Support VCenter text justification
This commit is contained in:
parent
1e149704b8
commit
b957c1ad17
@ -699,48 +699,51 @@ SCH_TEXT* LTSPICE_SCH_PARSER::CreateSCH_TEXT( VECTOR2I aOffset, const wxString&
|
||||
|
||||
switch( aJustification )
|
||||
{
|
||||
case LTSPICE_SCHEMATIC::JUSTIFICATION::VLEFT:
|
||||
textItem->SetTextSpinStyle( TEXT_SPIN_STYLE::UP );
|
||||
textItem->Move( { textItem->GetTextSize().x / 2, 0 } );
|
||||
break;
|
||||
|
||||
case LTSPICE_SCHEMATIC::JUSTIFICATION::VTOP:
|
||||
textItem->SetTextSpinStyle( TEXT_SPIN_STYLE::UP );
|
||||
textItem->Move( { -textItem->GetTextSize().x / 2, 0 } );
|
||||
break;
|
||||
|
||||
case LTSPICE_SCHEMATIC::JUSTIFICATION::VBOTTOM:
|
||||
textItem->SetTextSpinStyle( TEXT_SPIN_STYLE::UP );
|
||||
break;
|
||||
|
||||
case LTSPICE_SCHEMATIC::JUSTIFICATION::LEFT:
|
||||
textItem->SetTextSpinStyle( TEXT_SPIN_STYLE::RIGHT );
|
||||
textItem->Move( { 0, textItem->GetTextSize().x / 2 } );
|
||||
break;
|
||||
|
||||
case LTSPICE_SCHEMATIC::JUSTIFICATION::TOP:
|
||||
textItem->SetTextSpinStyle( TEXT_SPIN_STYLE::RIGHT );
|
||||
textItem->Move( { 0, -textItem->GetTextSize().x / 2 } );
|
||||
break;
|
||||
|
||||
case LTSPICE_SCHEMATIC::JUSTIFICATION::BOTTOM:
|
||||
textItem->SetTextSpinStyle( TEXT_SPIN_STYLE::RIGHT );
|
||||
break;
|
||||
|
||||
case LTSPICE_SCHEMATIC::JUSTIFICATION::VRIGHT:
|
||||
textItem->SetTextSpinStyle( TEXT_SPIN_STYLE::BOTTOM );
|
||||
break;
|
||||
|
||||
case LTSPICE_SCHEMATIC::JUSTIFICATION::RIGHT:
|
||||
textItem->SetTextSpinStyle( TEXT_SPIN_STYLE::LEFT );
|
||||
textItem->SetHorizJustify( GR_TEXT_H_ALIGN_LEFT );
|
||||
textItem->SetTextAngle( ANGLE_HORIZONTAL );
|
||||
break;
|
||||
|
||||
case LTSPICE_SCHEMATIC::JUSTIFICATION::CENTER:
|
||||
textItem->SetHorizJustify( GR_TEXT_H_ALIGN_CENTER );
|
||||
textItem->SetTextAngle( ANGLE_HORIZONTAL );
|
||||
break;
|
||||
|
||||
case LTSPICE_SCHEMATIC::JUSTIFICATION::RIGHT:
|
||||
textItem->SetHorizJustify( GR_TEXT_H_ALIGN_RIGHT );
|
||||
textItem->SetTextAngle( ANGLE_HORIZONTAL );
|
||||
break;
|
||||
|
||||
case LTSPICE_SCHEMATIC::JUSTIFICATION::VLEFT:
|
||||
textItem->SetHorizJustify( GR_TEXT_H_ALIGN_LEFT );
|
||||
textItem->SetTextAngle( ANGLE_VERTICAL );
|
||||
break;
|
||||
|
||||
case LTSPICE_SCHEMATIC::JUSTIFICATION::VCENTER:
|
||||
textItem->SetHorizJustify( GR_TEXT_H_ALIGN_CENTER );
|
||||
textItem->SetTextAngle( ANGLE_VERTICAL );
|
||||
break;
|
||||
|
||||
case LTSPICE_SCHEMATIC::JUSTIFICATION::VRIGHT:
|
||||
textItem->SetHorizJustify( GR_TEXT_H_ALIGN_RIGHT );
|
||||
textItem->SetTextAngle( ANGLE_VERTICAL );
|
||||
break;
|
||||
|
||||
case LTSPICE_SCHEMATIC::JUSTIFICATION::VBOTTOM:
|
||||
textItem->SetHorizJustify( GR_TEXT_H_ALIGN_CENTER );
|
||||
textItem->SetVertJustify( GR_TEXT_V_ALIGN_BOTTOM );
|
||||
textItem->SetTextAngle( ANGLE_VERTICAL );
|
||||
break;
|
||||
|
||||
case LTSPICE_SCHEMATIC::JUSTIFICATION::VTOP:
|
||||
textItem->SetHorizJustify( GR_TEXT_H_ALIGN_CENTER );
|
||||
textItem->SetVertJustify( GR_TEXT_V_ALIGN_TOP );
|
||||
textItem->SetTextAngle( ANGLE_VERTICAL );
|
||||
break;
|
||||
|
||||
case LTSPICE_SCHEMATIC::JUSTIFICATION::NONE:
|
||||
break;
|
||||
case LTSPICE_SCHEMATIC::JUSTIFICATION::BOTTOM:
|
||||
case LTSPICE_SCHEMATIC::JUSTIFICATION::TOP: break;
|
||||
}
|
||||
|
||||
return textItem;
|
||||
@ -1138,6 +1141,11 @@ void LTSPICE_SCH_PARSER::CreateFields( LTSPICE_SCHEMATIC::LT_SYMBOL& aLTSymbol,
|
||||
field->SetTextAngle( ANGLE_VERTICAL );
|
||||
break;
|
||||
|
||||
case LTSPICE_SCHEMATIC::JUSTIFICATION::VCENTER:
|
||||
field->SetHorizJustify( GR_TEXT_H_ALIGN_CENTER );
|
||||
field->SetTextAngle( ANGLE_VERTICAL );
|
||||
break;
|
||||
|
||||
case LTSPICE_SCHEMATIC::JUSTIFICATION::VRIGHT:
|
||||
field->SetHorizJustify( GR_TEXT_H_ALIGN_RIGHT );
|
||||
field->SetTextAngle( ANGLE_VERTICAL );
|
||||
|
@ -391,13 +391,14 @@ LTSPICE_SCHEMATIC::JUSTIFICATION LTSPICE_SCHEMATIC::getTextJustification( const
|
||||
justificationMap["RIGHT"] = JUSTIFICATION::RIGHT;
|
||||
justificationMap["VLEFT"] = JUSTIFICATION::VLEFT;
|
||||
justificationMap["VRIGHT"] = JUSTIFICATION::VRIGHT;
|
||||
justificationMap["VCENTER"] = JUSTIFICATION::VCENTER;
|
||||
justificationMap["BOTTOM"] = JUSTIFICATION::CENTER;
|
||||
justificationMap["TOP"] = JUSTIFICATION::TOP;
|
||||
justificationMap["VBOTTOM"] = JUSTIFICATION::VBOTTOM;
|
||||
justificationMap["VTOP"] = JUSTIFICATION::VTOP;
|
||||
|
||||
if( justificationMap.find( aValue.Upper() ) == justificationMap.end() )
|
||||
THROW_IO_ERROR( _( "Expecting LEFT, CENTER, RIGHT, TOP, BOTTOM, VLEFT, VRIGHT, VTOP or VBOTTOM" ) );
|
||||
THROW_IO_ERROR( _( "Expecting LEFT, CENTER, RIGHT, TOP, BOTTOM, VLEFT, VRIGHT, VCENTER, VTOP or VBOTTOM" ) );
|
||||
|
||||
return justificationMap[ aValue.Upper() ];
|
||||
}
|
||||
@ -415,10 +416,11 @@ LTSPICE_SCHEMATIC::JUSTIFICATION LTSPICE_SCHEMATIC::getPinJustification( const w
|
||||
pinJustificationMap["VBOTTOM"] = JUSTIFICATION::VBOTTOM;
|
||||
pinJustificationMap["VLEFT"] = JUSTIFICATION::VLEFT;
|
||||
pinJustificationMap["VRIGHT"] = JUSTIFICATION::VRIGHT;
|
||||
pinJustificationMap["VCENTER"] = JUSTIFICATION::VCENTER;
|
||||
pinJustificationMap["VTOP"] = JUSTIFICATION::VTOP;
|
||||
|
||||
if( pinJustificationMap.find( aValue.Upper() ) == pinJustificationMap.end() )
|
||||
THROW_IO_ERROR( _( "Expecting NONE, BOTTOM, TOP, LEFT, RIGHT, VBOTTOM, VTOP, VLEFT or VRIGHT" ) );
|
||||
THROW_IO_ERROR( _( "Expecting NONE, BOTTOM, TOP, LEFT, RIGHT, VBOTTOM, VTOP, VCENTER, VLEFT or VRIGHT" ) );
|
||||
|
||||
return pinJustificationMap[ aValue.Upper() ];
|
||||
}
|
||||
|
@ -108,6 +108,7 @@ public:
|
||||
VBOTTOM, // Vertical Bottom Justification
|
||||
VLEFT, // Vertical Left Justification
|
||||
VRIGHT, // Vertical Right Justification
|
||||
VCENTER, // Vertical Center Justification
|
||||
VTOP // Vertical Top Justification.
|
||||
};
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user