Added support for decoupling stored text from shown text in EDA_TEXT
Factored out text ellipsing support to max 15 character (for generating menu items)
This commit is contained in:
parent
3132690c0b
commit
260ca0e79f
|
@ -129,7 +129,7 @@ void PlotWorkSheet( PLOTTER* plotter, const TITLE_BLOCK& aTitleBlock,
|
||||||
{
|
{
|
||||||
WS_DRAW_ITEM_TEXT* text = (WS_DRAW_ITEM_TEXT*) item;
|
WS_DRAW_ITEM_TEXT* text = (WS_DRAW_ITEM_TEXT*) item;
|
||||||
plotter->Text( text->GetTextPosition(), text->GetColor(),
|
plotter->Text( text->GetTextPosition(), text->GetColor(),
|
||||||
text->GetText(), text->GetOrientation(),
|
text->GetShownText(), text->GetOrientation(),
|
||||||
text->GetSize(),
|
text->GetSize(),
|
||||||
text->GetHorizJustify(), text->GetVertJustify(),
|
text->GetHorizJustify(), text->GetVertJustify(),
|
||||||
text->GetPenWidth(),
|
text->GetPenWidth(),
|
||||||
|
|
|
@ -90,6 +90,21 @@ int EDA_TEXT::LenSize( const wxString& aLine ) const
|
||||||
return GraphicTextWidth( aLine, m_Size.x, m_Italic, m_Bold );
|
return GraphicTextWidth( aLine, m_Size.x, m_Italic, m_Bold );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
wxString EDA_TEXT::ShortenedShownText() const
|
||||||
|
{
|
||||||
|
wxString tmp = GetShownText();
|
||||||
|
tmp.Replace( wxT( "\n" ), wxT( " " ) );
|
||||||
|
tmp.Replace( wxT( "\r" ), wxT( " " ) );
|
||||||
|
tmp.Replace( wxT( "\t" ), wxT( " " ) );
|
||||||
|
|
||||||
|
if( tmp.Length() > 15 )
|
||||||
|
tmp = tmp.Left( 12 ) + wxT( "..." );
|
||||||
|
|
||||||
|
return tmp;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function GetInterline
|
* Function GetInterline
|
||||||
* return the distance between 2 text lines
|
* return the distance between 2 text lines
|
||||||
|
@ -106,13 +121,13 @@ EDA_RECT EDA_TEXT::GetTextBox( int aLine, int aThickness, bool aInvertY ) const
|
||||||
EDA_RECT rect;
|
EDA_RECT rect;
|
||||||
wxPoint pos;
|
wxPoint pos;
|
||||||
wxArrayString* list = NULL;
|
wxArrayString* list = NULL;
|
||||||
wxString text = m_Text;
|
wxString text = GetShownText();
|
||||||
int thickness = ( aThickness < 0 ) ? m_Thickness : aThickness;
|
int thickness = ( aThickness < 0 ) ? m_Thickness : aThickness;
|
||||||
int linecount = 1;
|
int linecount = 1;
|
||||||
|
|
||||||
if( m_MultilineAllowed )
|
if( m_MultilineAllowed )
|
||||||
{
|
{
|
||||||
list = wxStringSplit( m_Text, '\n' );
|
list = wxStringSplit( text, '\n' );
|
||||||
|
|
||||||
if ( list->GetCount() ) // GetCount() == 0 for void strings
|
if ( list->GetCount() ) // GetCount() == 0 for void strings
|
||||||
{
|
{
|
||||||
|
@ -129,7 +144,7 @@ EDA_RECT EDA_TEXT::GetTextBox( int aLine, int aThickness, bool aInvertY ) const
|
||||||
int dx = LenSize( text );
|
int dx = LenSize( text );
|
||||||
int dy = GetInterline( aThickness );
|
int dy = GetInterline( aThickness );
|
||||||
|
|
||||||
/* Creates bounding box (rectangle) for an horizontal text */
|
// Creates bounding box (rectangle) for an horizontal text
|
||||||
wxSize textsize = wxSize( dx, dy );
|
wxSize textsize = wxSize( dx, dy );
|
||||||
|
|
||||||
if( aInvertY )
|
if( aInvertY )
|
||||||
|
@ -257,7 +272,7 @@ void EDA_TEXT::Draw( EDA_RECT* aClipBox, wxDC* aDC, const wxPoint& aOffset,
|
||||||
if( m_MultilineAllowed )
|
if( m_MultilineAllowed )
|
||||||
{
|
{
|
||||||
std::vector<wxPoint> positions;
|
std::vector<wxPoint> positions;
|
||||||
wxArrayString* list = wxStringSplit( m_Text, '\n' );
|
wxArrayString* list = wxStringSplit( GetShownText(), '\n' );
|
||||||
positions.reserve( list->Count() );
|
positions.reserve( list->Count() );
|
||||||
|
|
||||||
GetPositionsOfLinesOfMultilineText(positions, list->Count() );
|
GetPositionsOfLinesOfMultilineText(positions, list->Count() );
|
||||||
|
@ -273,7 +288,7 @@ void EDA_TEXT::Draw( EDA_RECT* aClipBox, wxDC* aDC, const wxPoint& aOffset,
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
drawOneLineOfText( aClipBox, aDC, aOffset, aColor,
|
drawOneLineOfText( aClipBox, aDC, aOffset, aColor,
|
||||||
aDrawMode, aFillMode, m_Text, m_Pos );
|
aDrawMode, aFillMode, GetShownText(), m_Pos );
|
||||||
|
|
||||||
// Draw text anchor, if requested
|
// Draw text anchor, if requested
|
||||||
if( aAnchor_color != UNSPECIFIED_COLOR )
|
if( aAnchor_color != UNSPECIFIED_COLOR )
|
||||||
|
@ -330,7 +345,7 @@ void EDA_TEXT::GetPositionsOfLinesOfMultilineText(
|
||||||
void EDA_TEXT::drawOneLineOfText( EDA_RECT* aClipBox, wxDC* aDC,
|
void EDA_TEXT::drawOneLineOfText( EDA_RECT* aClipBox, wxDC* aDC,
|
||||||
const wxPoint& aOffset, EDA_COLOR_T aColor,
|
const wxPoint& aOffset, EDA_COLOR_T aColor,
|
||||||
GR_DRAWMODE aDrawMode, EDA_DRAW_MODE_T aFillMode,
|
GR_DRAWMODE aDrawMode, EDA_DRAW_MODE_T aFillMode,
|
||||||
wxString& aText, wxPoint aPos )
|
const wxString& aText, const wxPoint &aPos )
|
||||||
{
|
{
|
||||||
int width = m_Thickness;
|
int width = m_Thickness;
|
||||||
|
|
||||||
|
@ -474,7 +489,7 @@ void EDA_TEXT::TransformTextShapeToSegmentList( std::vector<wxPoint>& aCornerBuf
|
||||||
|
|
||||||
if( IsMultilineAllowed() )
|
if( IsMultilineAllowed() )
|
||||||
{
|
{
|
||||||
wxArrayString* list = wxStringSplit( GetText(), '\n' );
|
wxArrayString* list = wxStringSplit( GetShownText(), '\n' );
|
||||||
std::vector<wxPoint> positions;
|
std::vector<wxPoint> positions;
|
||||||
positions.reserve( list->Count() );
|
positions.reserve( list->Count() );
|
||||||
GetPositionsOfLinesOfMultilineText( positions, list->Count() );
|
GetPositionsOfLinesOfMultilineText( positions, list->Count() );
|
||||||
|
|
|
@ -192,7 +192,7 @@ void WORKSHEET_VIEWITEM::draw( const WS_DRAW_ITEM_TEXT* aItem, GAL* aGal ) const
|
||||||
aGal->SetStrokeColor( COLOR4D( aItem->GetColor() ) );
|
aGal->SetStrokeColor( COLOR4D( aItem->GetColor() ) );
|
||||||
aGal->SetLineWidth( aItem->GetThickness() );
|
aGal->SetLineWidth( aItem->GetThickness() );
|
||||||
aGal->SetTextAttributes( aItem );
|
aGal->SetTextAttributes( aItem );
|
||||||
aGal->StrokeText( aItem->GetText(), VECTOR2D( 0, 0 ), 0.0 );
|
aGal->StrokeText( aItem->GetShownText(), VECTOR2D( 0, 0 ), 0.0 );
|
||||||
aGal->Restore();
|
aGal->Restore();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -452,7 +452,7 @@ void LIB_PART::PlotLibFields( PLOTTER* aPlotter, int aUnit, int aConvert,
|
||||||
// The reference is a special case: we shoud change the basic text
|
// The reference is a special case: we shoud change the basic text
|
||||||
// to add '?' and the part id
|
// to add '?' and the part id
|
||||||
LIB_FIELD& field = (LIB_FIELD&) item;
|
LIB_FIELD& field = (LIB_FIELD&) item;
|
||||||
wxString tmp = field.GetText();
|
wxString tmp = field.GetShownText();
|
||||||
if( field.GetId() == REFERENCE )
|
if( field.GetId() == REFERENCE )
|
||||||
{
|
{
|
||||||
wxString text = field.GetFullText( aUnit );
|
wxString text = field.GetFullText( aUnit );
|
||||||
|
|
|
@ -110,7 +110,7 @@ SCH_ITEM* SCH_EDIT_FRAME::LocateAndShowItem( const wxPoint& aPosition, const KIC
|
||||||
|
|
||||||
if( LibItem )
|
if( LibItem )
|
||||||
items.push_back( MSG_PANEL_ITEM( LibItem->GetRef( m_CurrentSheet ),
|
items.push_back( MSG_PANEL_ITEM( LibItem->GetRef( m_CurrentSheet ),
|
||||||
LibItem->GetField( VALUE )->GetText(), DARKCYAN ) );
|
LibItem->GetField( VALUE )->GetShownText(), DARKCYAN ) );
|
||||||
|
|
||||||
SetMsgPanel( items );
|
SetMsgPanel( items );
|
||||||
|
|
||||||
|
|
|
@ -152,7 +152,7 @@ void DIALOG_LABEL_EDITOR::InitDialog()
|
||||||
|
|
||||||
if ( !multiLine )
|
if ( !multiLine )
|
||||||
{
|
{
|
||||||
max_len =m_CurrentText->GetText().Length();
|
max_len = m_CurrentText->GetText().Length();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
|
@ -175,23 +175,25 @@ void SCH_EDIT_FRAME::OnConvertTextType( wxCommandEvent& aEvent )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
SCH_TEXT* newtext;
|
SCH_TEXT* newtext;
|
||||||
|
const wxPoint &position = text->GetPosition();
|
||||||
|
const wxString &txt = text->GetText();
|
||||||
|
|
||||||
switch( type )
|
switch( type )
|
||||||
{
|
{
|
||||||
case SCH_LABEL_T:
|
case SCH_LABEL_T:
|
||||||
newtext = new SCH_LABEL( text->GetPosition(), text->GetText() );
|
newtext = new SCH_LABEL( position, txt );
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SCH_GLOBAL_LABEL_T:
|
case SCH_GLOBAL_LABEL_T:
|
||||||
newtext = new SCH_GLOBALLABEL( text->GetPosition(), text->GetText() );
|
newtext = new SCH_GLOBALLABEL( position, txt );
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SCH_HIERARCHICAL_LABEL_T:
|
case SCH_HIERARCHICAL_LABEL_T:
|
||||||
newtext = new SCH_HIERLABEL( text->GetPosition(), text->GetText() );
|
newtext = new SCH_HIERLABEL( position, txt );
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SCH_TEXT_T:
|
case SCH_TEXT_T:
|
||||||
newtext = new SCH_TEXT( text->GetPosition(), text->GetText() );
|
newtext = new SCH_TEXT( position, txt );
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
|
|
@ -173,7 +173,7 @@ SCH_ITEM* SCH_EDIT_FRAME::FindComponentAndItem( const wxString& aReference,
|
||||||
case FIND_VALUE: // find value
|
case FIND_VALUE: // find value
|
||||||
pos = pSch->GetPosition();
|
pos = pSch->GetPosition();
|
||||||
|
|
||||||
if( aSearchText.CmpNoCase( pSch->GetField( VALUE )->GetText() ) != 0 )
|
if( aSearchText.CmpNoCase( pSch->GetField( VALUE )->GetShownText() ) != 0 )
|
||||||
break;
|
break;
|
||||||
|
|
||||||
notFound = false;
|
notFound = false;
|
||||||
|
|
|
@ -164,7 +164,7 @@ bool LIB_FIELD::Load( LINE_READER& aLineReader, wxString& errorMsg )
|
||||||
|
|
||||||
// Doctor the *.lib file field which has a "~" in blank fields. New saves will
|
// Doctor the *.lib file field which has a "~" in blank fields. New saves will
|
||||||
// not save like this, and eventually these two lines can be removed.
|
// not save like this, and eventually these two lines can be removed.
|
||||||
if( m_Text.size()==1 && m_Text[0]==wxChar( '~' ) )
|
if( m_Text.size() == 1 && m_Text[0] == wxChar( '~' ) )
|
||||||
m_Text.clear();
|
m_Text.clear();
|
||||||
|
|
||||||
memset( textVJustify, 0, sizeof( textVJustify ) );
|
memset( textVJustify, 0, sizeof( textVJustify ) );
|
||||||
|
@ -491,7 +491,7 @@ void LIB_FIELD::Plot( PLOTTER* aPlotter, const wxPoint& aOffset, bool aFill,
|
||||||
wxPoint textpos = aTransform.TransformCoordinate( BoundaryBox.Centre() )
|
wxPoint textpos = aTransform.TransformCoordinate( BoundaryBox.Centre() )
|
||||||
+ aOffset;
|
+ aOffset;
|
||||||
|
|
||||||
aPlotter->Text( textpos, GetDefaultColor(), m_Text, orient, m_Size,
|
aPlotter->Text( textpos, GetDefaultColor(), GetShownText(), orient, m_Size,
|
||||||
hjustify, vjustify,
|
hjustify, vjustify,
|
||||||
GetPenSize(), m_Italic, m_Bold );
|
GetPenSize(), m_Italic, m_Bold );
|
||||||
}
|
}
|
||||||
|
@ -500,9 +500,9 @@ void LIB_FIELD::Plot( PLOTTER* aPlotter, const wxPoint& aOffset, bool aFill,
|
||||||
wxString LIB_FIELD::GetFullText( int unit )
|
wxString LIB_FIELD::GetFullText( int unit )
|
||||||
{
|
{
|
||||||
if( m_id != REFERENCE )
|
if( m_id != REFERENCE )
|
||||||
return m_Text;
|
return GetText();
|
||||||
|
|
||||||
wxString text = m_Text;
|
wxString text = GetText();
|
||||||
text << wxT( "?" );
|
text << wxT( "?" );
|
||||||
|
|
||||||
if( GetParent()->IsMulti() )
|
if( GetParent()->IsMulti() )
|
||||||
|
@ -642,7 +642,7 @@ void LIB_FIELD::SetName( const wxString& aName )
|
||||||
|
|
||||||
void LIB_FIELD::SetText( const wxString& aText )
|
void LIB_FIELD::SetText( const wxString& aText )
|
||||||
{
|
{
|
||||||
if( aText == m_Text )
|
if( aText == GetText() )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
wxString oldName = m_Text;
|
wxString oldName = m_Text;
|
||||||
|
@ -673,7 +673,7 @@ wxString LIB_FIELD::GetSelectMenuText() const
|
||||||
{
|
{
|
||||||
return wxString::Format( _( "Field %s %s" ),
|
return wxString::Format( _( "Field %s %s" ),
|
||||||
GetChars( GetName() ),
|
GetChars( GetName() ),
|
||||||
GetChars( GetText() ) );
|
GetChars( ShortenedShownText() ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -763,5 +763,5 @@ void LIB_FIELD::GetMsgPanelInfo( MSG_PANEL_ITEMS& aList )
|
||||||
aList.push_back( MSG_PANEL_ITEM( _( "Field" ), msg, BROWN ) );
|
aList.push_back( MSG_PANEL_ITEM( _( "Field" ), msg, BROWN ) );
|
||||||
|
|
||||||
// Display field text:
|
// Display field text:
|
||||||
aList.push_back( MSG_PANEL_ITEM( _( "Value" ), m_Text, BROWN ) );
|
aList.push_back( MSG_PANEL_ITEM( _( "Value" ), GetShownText(), BROWN ) );
|
||||||
}
|
}
|
||||||
|
|
|
@ -221,12 +221,12 @@ EDA_ITEM* LIB_TEXT::Clone() const
|
||||||
newitem->m_Convert = m_Convert;
|
newitem->m_Convert = m_Convert;
|
||||||
newitem->m_Flags = m_Flags;
|
newitem->m_Flags = m_Flags;
|
||||||
newitem->m_Text = m_Text;
|
newitem->m_Text = m_Text;
|
||||||
newitem->m_Thickness = m_Thickness;
|
newitem->m_Thickness = m_Thickness;
|
||||||
newitem->m_Italic = m_Italic;
|
newitem->m_Italic = m_Italic;
|
||||||
newitem->m_Bold = m_Bold;
|
newitem->m_Bold = m_Bold;
|
||||||
newitem->m_HJustify = m_HJustify;
|
newitem->m_HJustify = m_HJustify;
|
||||||
newitem->m_VJustify = m_VJustify;
|
newitem->m_VJustify = m_VJustify;
|
||||||
return (EDA_ITEM*) newitem;
|
return newitem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -320,7 +320,7 @@ void LIB_TEXT::Plot( PLOTTER* plotter, const wxPoint& offset, bool fill,
|
||||||
else
|
else
|
||||||
color = BLACK;
|
color = BLACK;
|
||||||
|
|
||||||
plotter->Text( pos, color, m_Text,
|
plotter->Text( pos, color, GetShownText(),
|
||||||
t1 ? TEXT_ORIENT_HORIZ : TEXT_ORIENT_VERT,
|
t1 ? TEXT_ORIENT_HORIZ : TEXT_ORIENT_VERT,
|
||||||
m_Size, GR_TEXT_HJUSTIFY_CENTER, GR_TEXT_VJUSTIFY_CENTER,
|
m_Size, GR_TEXT_HJUSTIFY_CENTER, GR_TEXT_VJUSTIFY_CENTER,
|
||||||
GetPenSize(), m_Italic, m_Bold );
|
GetPenSize(), m_Italic, m_Bold );
|
||||||
|
@ -349,7 +349,7 @@ void LIB_TEXT::drawGraphic( EDA_DRAW_PANEL* aPanel, wxDC* aDC, const wxPoint& aO
|
||||||
EDA_COLOR_T aColor, GR_DRAWMODE aDrawMode, void* aData,
|
EDA_COLOR_T aColor, GR_DRAWMODE aDrawMode, void* aData,
|
||||||
const TRANSFORM& aTransform )
|
const TRANSFORM& aTransform )
|
||||||
{
|
{
|
||||||
EDA_COLOR_T color = GetDefaultColor();
|
EDA_COLOR_T color = GetDefaultColor();
|
||||||
|
|
||||||
if( aColor < 0 ) // Used normal color or selected color
|
if( aColor < 0 ) // Used normal color or selected color
|
||||||
{
|
{
|
||||||
|
@ -394,7 +394,7 @@ void LIB_TEXT::drawGraphic( EDA_DRAW_PANEL* aPanel, wxDC* aDC, const wxPoint& aO
|
||||||
txtpos = aTransform.TransformCoordinate( txtpos ) + aOffset;
|
txtpos = aTransform.TransformCoordinate( txtpos ) + aOffset;
|
||||||
|
|
||||||
EDA_RECT* clipbox = aPanel? aPanel->GetClipBox() : NULL;
|
EDA_RECT* clipbox = aPanel? aPanel->GetClipBox() : NULL;
|
||||||
DrawGraphicText( clipbox, aDC, txtpos, (EDA_COLOR_T) color, m_Text, orient, m_Size,
|
DrawGraphicText( clipbox, aDC, txtpos, color, GetShownText(), orient, m_Size,
|
||||||
GR_TEXT_HJUSTIFY_CENTER, GR_TEXT_VJUSTIFY_CENTER, GetPenSize(),
|
GR_TEXT_HJUSTIFY_CENTER, GR_TEXT_VJUSTIFY_CENTER, GetPenSize(),
|
||||||
m_Italic, m_Bold );
|
m_Italic, m_Bold );
|
||||||
|
|
||||||
|
@ -478,14 +478,8 @@ void LIB_TEXT::SetText( const wxString& aText )
|
||||||
|
|
||||||
wxString LIB_TEXT::GetSelectMenuText() const
|
wxString LIB_TEXT::GetSelectMenuText() const
|
||||||
{
|
{
|
||||||
wxString tmp = GetText();
|
|
||||||
tmp.Replace( wxT( "\n" ), wxT( " " ) );
|
|
||||||
tmp.Replace( wxT( "\r" ), wxT( " " ) );
|
|
||||||
tmp.Replace( wxT( "\t" ), wxT( " " ) );
|
|
||||||
tmp =( tmp.Length() > 15 ) ? tmp.Left( 12 ) + wxT( "..." ) : tmp;
|
|
||||||
|
|
||||||
wxString msg;
|
wxString msg;
|
||||||
msg.Printf( _( "Graphic Text %s" ), GetChars( tmp ) );
|
msg.Printf( _( "Graphic Text %s" ), GetChars( ShortenedShownText() ) );
|
||||||
return msg;
|
return msg;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -517,7 +517,7 @@ public:
|
||||||
|
|
||||||
wxString GetText() const
|
wxString GetText() const
|
||||||
{
|
{
|
||||||
const SCH_TEXT* tmp = (SCH_TEXT*) m_label;
|
const SCH_TEXT* tmp = static_cast<SCH_TEXT*>( m_label );
|
||||||
return tmp->GetText();
|
return tmp->GetText();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
@ -1496,7 +1496,7 @@ void SCH_COMPONENT::GetMsgPanelInfo( MSG_PANEL_ITEMS& aList )
|
||||||
|
|
||||||
wxString msg = part->IsPower() ? _( "Power symbol" ) : _( "Value" );
|
wxString msg = part->IsPower() ? _( "Power symbol" ) : _( "Value" );
|
||||||
|
|
||||||
aList.push_back( MSG_PANEL_ITEM( msg, GetField( VALUE )->GetText(), DARKCYAN ) );
|
aList.push_back( MSG_PANEL_ITEM( msg, GetField( VALUE )->GetShownText(), DARKCYAN ) );
|
||||||
|
|
||||||
// Display component reference in library and library
|
// Display component reference in library and library
|
||||||
aList.push_back( MSG_PANEL_ITEM( _( "Component" ), GetPartName(), BROWN ) );
|
aList.push_back( MSG_PANEL_ITEM( _( "Component" ), GetPartName(), BROWN ) );
|
||||||
|
@ -1508,7 +1508,7 @@ void SCH_COMPONENT::GetMsgPanelInfo( MSG_PANEL_ITEMS& aList )
|
||||||
|
|
||||||
// Display the current associated footprint, if exists.
|
// Display the current associated footprint, if exists.
|
||||||
if( !GetField( FOOTPRINT )->IsVoid() )
|
if( !GetField( FOOTPRINT )->IsVoid() )
|
||||||
msg = GetField( FOOTPRINT )->GetText();
|
msg = GetField( FOOTPRINT )->GetShownText();
|
||||||
else
|
else
|
||||||
msg = _( "<Unknown>" );
|
msg = _( "<Unknown>" );
|
||||||
|
|
||||||
|
@ -1683,7 +1683,7 @@ wxString SCH_COMPONENT::GetSelectMenuText() const
|
||||||
wxString tmp;
|
wxString tmp;
|
||||||
tmp.Printf( _( "Component %s, %s" ),
|
tmp.Printf( _( "Component %s, %s" ),
|
||||||
GetChars( GetPartName() ),
|
GetChars( GetPartName() ),
|
||||||
GetChars( GetField( REFERENCE )->GetText() ) );
|
GetChars( GetField( REFERENCE )->GetShownText() ) );
|
||||||
return tmp;
|
return tmp;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -565,19 +565,8 @@ void SCH_FIELD::Plot( PLOTTER* aPlotter )
|
||||||
|
|
||||||
int thickness = GetPenSize();
|
int thickness = GetPenSize();
|
||||||
|
|
||||||
if( (parent->GetUnitCount() <= 1) || (m_id != REFERENCE) )
|
aPlotter->Text( textpos, color, GetFullyQualifiedText(), orient, m_Size, hjustify, vjustify,
|
||||||
{
|
thickness, m_Italic, m_Bold );
|
||||||
aPlotter->Text( textpos, color, m_Text, orient, m_Size, hjustify, vjustify,
|
|
||||||
thickness, m_Italic, m_Bold );
|
|
||||||
}
|
|
||||||
else /* We plot the reference, for a multiple parts per package */
|
|
||||||
{
|
|
||||||
/* Adding A, B ... to the reference */
|
|
||||||
wxString Text = m_Text + LIB_PART::SubReference( parent->GetUnit() );
|
|
||||||
|
|
||||||
aPlotter->Text( textpos, color, Text, orient, m_Size, hjustify, vjustify,
|
|
||||||
thickness, m_Italic, m_Bold );
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -368,7 +368,7 @@ void SCH_SHEET::RemovePin( SCH_SHEET_PIN* aSheetPin )
|
||||||
}
|
}
|
||||||
|
|
||||||
wxLogDebug( wxT( "Fix me: attempt to remove label %s which is not in sheet %s." ),
|
wxLogDebug( wxT( "Fix me: attempt to remove label %s which is not in sheet %s." ),
|
||||||
GetChars( aSheetPin->GetText() ), GetChars( m_name ) );
|
GetChars( aSheetPin->GetShownText() ), GetChars( m_name ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -401,14 +401,14 @@ bool SCH_SHEET::HasUndefinedPins()
|
||||||
{
|
{
|
||||||
/* Search the schematic for a hierarchical label corresponding to this sheet label. */
|
/* Search the schematic for a hierarchical label corresponding to this sheet label. */
|
||||||
EDA_ITEM* DrawStruct = m_screen->GetDrawItems();
|
EDA_ITEM* DrawStruct = m_screen->GetDrawItems();
|
||||||
SCH_HIERLABEL* HLabel = NULL;
|
const SCH_HIERLABEL* HLabel = NULL;
|
||||||
|
|
||||||
for( ; DrawStruct != NULL; DrawStruct = DrawStruct->Next() )
|
for( ; DrawStruct != NULL; DrawStruct = DrawStruct->Next() )
|
||||||
{
|
{
|
||||||
if( DrawStruct->Type() != SCH_HIERARCHICAL_LABEL_T )
|
if( DrawStruct->Type() != SCH_HIERARCHICAL_LABEL_T )
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
HLabel = (SCH_HIERLABEL*) DrawStruct;
|
HLabel = static_cast<SCH_HIERLABEL*>( DrawStruct );
|
||||||
|
|
||||||
if( pin.GetText().CmpNoCase( HLabel->GetText() ) == 0 )
|
if( pin.GetText().CmpNoCase( HLabel->GetText() ) == 0 )
|
||||||
break; // Found!
|
break; // Found!
|
||||||
|
@ -485,14 +485,14 @@ void SCH_SHEET::CleanupSheet()
|
||||||
{
|
{
|
||||||
/* Search the schematic for a hierarchical label corresponding to this sheet label. */
|
/* Search the schematic for a hierarchical label corresponding to this sheet label. */
|
||||||
EDA_ITEM* DrawStruct = m_screen->GetDrawItems();
|
EDA_ITEM* DrawStruct = m_screen->GetDrawItems();
|
||||||
SCH_HIERLABEL* HLabel = NULL;
|
const SCH_HIERLABEL* HLabel = NULL;
|
||||||
|
|
||||||
for( ; DrawStruct != NULL; DrawStruct = DrawStruct->Next() )
|
for( ; DrawStruct != NULL; DrawStruct = DrawStruct->Next() )
|
||||||
{
|
{
|
||||||
if( DrawStruct->Type() != SCH_HIERARCHICAL_LABEL_T )
|
if( DrawStruct->Type() != SCH_HIERARCHICAL_LABEL_T )
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
HLabel = (SCH_HIERLABEL*) DrawStruct;
|
HLabel = static_cast<SCH_HIERLABEL*>( DrawStruct );
|
||||||
|
|
||||||
if( i->GetText().CmpNoCase( HLabel->GetText() ) == 0 )
|
if( i->GetText().CmpNoCase( HLabel->GetText() ) == 0 )
|
||||||
break; // Found!
|
break; // Found!
|
||||||
|
|
|
@ -479,7 +479,7 @@ void SCH_SHEET_PIN::GetEndPoints( std::vector <DANGLING_END_ITEM>& aItemList )
|
||||||
wxString SCH_SHEET_PIN::GetSelectMenuText() const
|
wxString SCH_SHEET_PIN::GetSelectMenuText() const
|
||||||
{
|
{
|
||||||
wxString tmp;
|
wxString tmp;
|
||||||
tmp.Printf( _( "Hierarchical Sheet Pin %s" ), GetChars( GetText() ) );
|
tmp.Printf( _( "Hierarchical Sheet Pin %s" ), GetChars( ShortenedShownText() ) );
|
||||||
return tmp;
|
return tmp;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -601,14 +601,8 @@ const EDA_RECT SCH_TEXT::GetBoundingBox() const
|
||||||
|
|
||||||
wxString SCH_TEXT::GetSelectMenuText() const
|
wxString SCH_TEXT::GetSelectMenuText() const
|
||||||
{
|
{
|
||||||
wxString tmp = GetText();
|
|
||||||
tmp.Replace( wxT( "\n" ), wxT( " " ) );
|
|
||||||
tmp.Replace( wxT( "\r" ), wxT( " " ) );
|
|
||||||
tmp.Replace( wxT( "\t" ), wxT( " " ) );
|
|
||||||
tmp =( tmp.Length() > 15 ) ? tmp.Left( 12 ) + wxT( "..." ) : tmp;
|
|
||||||
|
|
||||||
wxString msg;
|
wxString msg;
|
||||||
msg.Printf( _( "Graphic Text %s" ), GetChars( tmp ) );
|
msg.Printf( _( "Graphic Text %s" ), GetChars( ShortenedShownText() ) );
|
||||||
return msg;
|
return msg;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -674,7 +668,7 @@ void SCH_TEXT::Plot( PLOTTER* aPlotter )
|
||||||
if( m_MultilineAllowed )
|
if( m_MultilineAllowed )
|
||||||
{
|
{
|
||||||
std::vector<wxPoint> positions;
|
std::vector<wxPoint> positions;
|
||||||
wxArrayString* list = wxStringSplit( m_Text, '\n' );
|
wxArrayString* list = wxStringSplit( GetShownText(), '\n' );
|
||||||
positions.reserve( list->Count() );
|
positions.reserve( list->Count() );
|
||||||
|
|
||||||
GetPositionsOfLinesOfMultilineText(positions, list->Count() );
|
GetPositionsOfLinesOfMultilineText(positions, list->Count() );
|
||||||
|
@ -690,7 +684,7 @@ void SCH_TEXT::Plot( PLOTTER* aPlotter )
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
aPlotter->Text( textpos, color, m_Text, m_Orient, m_Size, m_HJustify,
|
aPlotter->Text( textpos, color, GetShownText(), m_Orient, m_Size, m_HJustify,
|
||||||
m_VJustify, thickness, m_Italic, m_Bold );
|
m_VJustify, thickness, m_Italic, m_Bold );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -737,7 +731,7 @@ void SCH_TEXT::GetMsgPanelInfo( MSG_PANEL_ITEMS& aList )
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
aList.push_back( MSG_PANEL_ITEM( msg, GetText(), DARKCYAN ) );
|
aList.push_back( MSG_PANEL_ITEM( msg, GetShownText(), DARKCYAN ) );
|
||||||
|
|
||||||
switch( GetOrientation() )
|
switch( GetOrientation() )
|
||||||
{
|
{
|
||||||
|
@ -973,7 +967,7 @@ const EDA_RECT SCH_LABEL::GetBoundingBox() const
|
||||||
x = m_Pos.x;
|
x = m_Pos.x;
|
||||||
y = m_Pos.y;
|
y = m_Pos.y;
|
||||||
int width = (m_Thickness == 0) ? GetDefaultLineThickness() : m_Thickness;
|
int width = (m_Thickness == 0) ? GetDefaultLineThickness() : m_Thickness;
|
||||||
length = LenSize( m_Text );
|
length = LenSize( GetShownText() );
|
||||||
height = m_Size.y + width;
|
height = m_Size.y + width;
|
||||||
dx = dy = 0;
|
dx = dy = 0;
|
||||||
|
|
||||||
|
@ -1016,10 +1010,8 @@ const EDA_RECT SCH_LABEL::GetBoundingBox() const
|
||||||
|
|
||||||
wxString SCH_LABEL::GetSelectMenuText() const
|
wxString SCH_LABEL::GetSelectMenuText() const
|
||||||
{
|
{
|
||||||
wxString tmp = ( GetText().Length() > 15 ) ? GetText().Left( 12 ) + wxT( "..." ) : GetText();
|
|
||||||
|
|
||||||
wxString msg;
|
wxString msg;
|
||||||
msg.Printf( _( "Label %s" ), GetChars(tmp) );
|
msg.Printf( _( "Label %s" ), GetChars( ShortenedShownText() ) );
|
||||||
return msg;
|
return msg;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1312,7 +1304,7 @@ void SCH_GLOBALLABEL::CreateGraphicShape( std::vector <wxPoint>& aPoints, const
|
||||||
|
|
||||||
aPoints.clear();
|
aPoints.clear();
|
||||||
|
|
||||||
int symb_len = LenSize( m_Text ) + ( TXTMARGE * 2 );
|
int symb_len = LenSize( GetShownText() ) + ( TXTMARGE * 2 );
|
||||||
|
|
||||||
// Create outline shape : 6 points
|
// Create outline shape : 6 points
|
||||||
int x = symb_len + linewidth + 3;
|
int x = symb_len + linewidth + 3;
|
||||||
|
@ -1406,7 +1398,7 @@ const EDA_RECT SCH_GLOBALLABEL::GetBoundingBox() const
|
||||||
height = ( (m_Size.y * 15) / 10 ) + width + 2 * TXTMARGE;
|
height = ( (m_Size.y * 15) / 10 ) + width + 2 * TXTMARGE;
|
||||||
|
|
||||||
// text X size add height for triangular shapes(bidirectional)
|
// text X size add height for triangular shapes(bidirectional)
|
||||||
length = LenSize( m_Text ) + height + DANGLING_SYMBOL_SIZE;
|
length = LenSize( GetShownText() ) + height + DANGLING_SYMBOL_SIZE;
|
||||||
|
|
||||||
switch( m_schematicOrientation ) // respect orientation
|
switch( m_schematicOrientation ) // respect orientation
|
||||||
{
|
{
|
||||||
|
@ -1447,10 +1439,8 @@ const EDA_RECT SCH_GLOBALLABEL::GetBoundingBox() const
|
||||||
|
|
||||||
wxString SCH_GLOBALLABEL::GetSelectMenuText() const
|
wxString SCH_GLOBALLABEL::GetSelectMenuText() const
|
||||||
{
|
{
|
||||||
wxString tmp = ( GetText().Length() > 15 ) ? GetText().Left( 12 ) + wxT( "..." ) : GetText();
|
|
||||||
|
|
||||||
wxString msg;
|
wxString msg;
|
||||||
msg.Printf( _( "Global Label %s" ), GetChars(tmp) );
|
msg.Printf( _( "Global Label %s" ), GetChars( ShortenedShownText() ) );
|
||||||
return msg;
|
return msg;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1670,7 +1660,7 @@ const EDA_RECT SCH_HIERLABEL::GetBoundingBox() const
|
||||||
|
|
||||||
int width = (m_Thickness == 0) ? GetDefaultLineThickness() : m_Thickness;
|
int width = (m_Thickness == 0) ? GetDefaultLineThickness() : m_Thickness;
|
||||||
height = m_Size.y + width + 2 * TXTMARGE;
|
height = m_Size.y + width + 2 * TXTMARGE;
|
||||||
length = LenSize( m_Text )
|
length = LenSize( GetShownText() )
|
||||||
+ height // add height for triangular shapes
|
+ height // add height for triangular shapes
|
||||||
+ 2 * DANGLING_SYMBOL_SIZE;
|
+ 2 * DANGLING_SYMBOL_SIZE;
|
||||||
|
|
||||||
|
@ -1794,9 +1784,7 @@ void SCH_HIERLABEL::Rotate( wxPoint aPosition )
|
||||||
|
|
||||||
wxString SCH_HIERLABEL::GetSelectMenuText() const
|
wxString SCH_HIERLABEL::GetSelectMenuText() const
|
||||||
{
|
{
|
||||||
wxString tmp = ( GetText().Length() > 15 ) ? GetText().Left( 12 ) + wxT( "..." ) : GetText();
|
|
||||||
|
|
||||||
wxString msg;
|
wxString msg;
|
||||||
msg.Printf( _( "Hierarchical Label %s" ), GetChars( tmp ) );
|
msg.Printf( _( "Hierarchical Label %s" ), GetChars( ShortenedShownText() ) );
|
||||||
return msg;
|
return msg;
|
||||||
}
|
}
|
||||||
|
|
|
@ -80,7 +80,7 @@ enum EDA_DRAW_MODE_T {
|
||||||
class EDA_TEXT
|
class EDA_TEXT
|
||||||
{
|
{
|
||||||
protected:
|
protected:
|
||||||
wxString m_Text;
|
wxString m_Text; ///< The 'base' text, maybe later processed for display
|
||||||
int m_Thickness; ///< pen size used to draw this text
|
int m_Thickness; ///< pen size used to draw this text
|
||||||
double m_Orient; ///< Orient in 0.1 degrees
|
double m_Orient; ///< Orient in 0.1 degrees
|
||||||
wxPoint m_Pos; ///< XY position of anchor text.
|
wxPoint m_Pos; ///< XY position of anchor text.
|
||||||
|
@ -104,14 +104,19 @@ public:
|
||||||
/**
|
/**
|
||||||
* Function GetText
|
* Function GetText
|
||||||
* returns the string associated with the text object.
|
* returns the string associated with the text object.
|
||||||
* <p>
|
*
|
||||||
* This function is virtual to allow derived classes to override getting the
|
* @return a const wxString reference containing the string of the item.
|
||||||
* string to provide a way for modifying the base string by adding a suffix or
|
|
||||||
* prefix to the base string.
|
|
||||||
* </p>
|
|
||||||
* @return a const wxString object containing the string of the item.
|
|
||||||
*/
|
*/
|
||||||
virtual const wxString& GetText() const { return m_Text; }
|
const wxString& GetText() const { return m_Text; }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the string actually shown after processing of the base
|
||||||
|
* text. Default is no processing */
|
||||||
|
virtual wxString GetShownText() const { return m_Text; }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns a shortened version (max 15 characters) of the shown text */
|
||||||
|
wxString ShortenedShownText() const;
|
||||||
|
|
||||||
virtual void SetText( const wxString& aText ) { m_Text = aText; }
|
virtual void SetText( const wxString& aText ) { m_Text = aText; }
|
||||||
|
|
||||||
|
@ -320,7 +325,7 @@ private:
|
||||||
void drawOneLineOfText( EDA_RECT* aClipBox, wxDC* aDC,
|
void drawOneLineOfText( EDA_RECT* aClipBox, wxDC* aDC,
|
||||||
const wxPoint& aOffset, EDA_COLOR_T aColor,
|
const wxPoint& aOffset, EDA_COLOR_T aColor,
|
||||||
GR_DRAWMODE aDrawMode, EDA_DRAW_MODE_T aFillMode,
|
GR_DRAWMODE aDrawMode, EDA_DRAW_MODE_T aFillMode,
|
||||||
wxString& aText, wxPoint aPos );
|
const wxString& aText, const wxPoint &aPos );
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -250,7 +250,7 @@ void MODULE::TransformGraphicShapesWithClearanceToPolygonSet(
|
||||||
NEGATE( size.x );
|
NEGATE( size.x );
|
||||||
|
|
||||||
DrawGraphicText( NULL, NULL, textmod->GetTextPosition(), BLACK,
|
DrawGraphicText( NULL, NULL, textmod->GetTextPosition(), BLACK,
|
||||||
textmod->GetText(), textmod->GetDrawRotation(), size,
|
textmod->GetShownText(), textmod->GetDrawRotation(), size,
|
||||||
textmod->GetHorizJustify(), textmod->GetVertJustify(),
|
textmod->GetHorizJustify(), textmod->GetVertJustify(),
|
||||||
textmod->GetThickness(), textmod->IsItalic(),
|
textmod->GetThickness(), textmod->IsItalic(),
|
||||||
true, addTextSegmToPoly );
|
true, addTextSegmToPoly );
|
||||||
|
@ -379,7 +379,7 @@ void TEXTE_PCB::TransformShapeWithClearanceToPolygonSet(
|
||||||
|
|
||||||
if( IsMultilineAllowed() )
|
if( IsMultilineAllowed() )
|
||||||
{
|
{
|
||||||
wxArrayString* list = wxStringSplit( GetText(), '\n' );
|
wxArrayString* list = wxStringSplit( GetShownText(), '\n' );
|
||||||
std::vector<wxPoint> positions;
|
std::vector<wxPoint> positions;
|
||||||
positions.reserve( list->Count() );
|
positions.reserve( list->Count() );
|
||||||
GetPositionsOfLinesOfMultilineText( positions, list->Count() );
|
GetPositionsOfLinesOfMultilineText( positions, list->Count() );
|
||||||
|
@ -399,7 +399,7 @@ void TEXTE_PCB::TransformShapeWithClearanceToPolygonSet(
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
DrawGraphicText( NULL, NULL, GetTextPosition(), color,
|
DrawGraphicText( NULL, NULL, GetTextPosition(), color,
|
||||||
GetText(), GetOrientation(), size,
|
GetShownText(), GetOrientation(), size,
|
||||||
GetHorizJustify(), GetVertJustify(),
|
GetHorizJustify(), GetVertJustify(),
|
||||||
GetThickness(), IsItalic(),
|
GetThickness(), IsItalic(),
|
||||||
true, addTextSegmToPoly );
|
true, addTextSegmToPoly );
|
||||||
|
|
|
@ -538,7 +538,7 @@ void MODULE::GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList )
|
||||||
char bufcar[512], Line[512];
|
char bufcar[512], Line[512];
|
||||||
wxString msg;
|
wxString msg;
|
||||||
|
|
||||||
aList.push_back( MSG_PANEL_ITEM( m_Reference->GetText(), m_Value->GetText(), DARKCYAN ) );
|
aList.push_back( MSG_PANEL_ITEM( m_Reference->GetShownText(), m_Value->GetShownText(), DARKCYAN ) );
|
||||||
|
|
||||||
// Display last date the component was edited (useful in Module Editor).
|
// Display last date the component was edited (useful in Module Editor).
|
||||||
time_t edit_time = m_LastEditTime;
|
time_t edit_time = m_LastEditTime;
|
||||||
|
|
|
@ -131,9 +131,9 @@ void TEXTE_PCB::GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList )
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if( m_Parent && m_Parent->Type() == PCB_DIMENSION_T )
|
if( m_Parent && m_Parent->Type() == PCB_DIMENSION_T )
|
||||||
aList.push_back( MSG_PANEL_ITEM( _( "Dimension" ), m_Text, DARKGREEN ) );
|
aList.push_back( MSG_PANEL_ITEM( _( "Dimension" ), GetShownText(), DARKGREEN ) );
|
||||||
else
|
else
|
||||||
aList.push_back( MSG_PANEL_ITEM( _( "PCB Text" ), m_Text, DARKGREEN ) );
|
aList.push_back( MSG_PANEL_ITEM( _( "PCB Text" ), GetShownText(), DARKGREEN ) );
|
||||||
|
|
||||||
aList.push_back( MSG_PANEL_ITEM( _( "Layer" ), GetLayerName(), BLUE ) );
|
aList.push_back( MSG_PANEL_ITEM( _( "Layer" ), GetLayerName(), BLUE ) );
|
||||||
|
|
||||||
|
@ -184,15 +184,10 @@ void TEXTE_PCB::Flip(const wxPoint& aCentre )
|
||||||
|
|
||||||
wxString TEXTE_PCB::GetSelectMenuText() const
|
wxString TEXTE_PCB::GetSelectMenuText() const
|
||||||
{
|
{
|
||||||
wxString text, shorttxt;
|
wxString text;
|
||||||
|
|
||||||
if( m_Text.Len() < 12 )
|
|
||||||
shorttxt << m_Text;
|
|
||||||
else
|
|
||||||
shorttxt += m_Text.Left( 10 ) + wxT( "..." );
|
|
||||||
|
|
||||||
text.Printf( _( "Pcb Text \"%s\" on %s"),
|
text.Printf( _( "Pcb Text \"%s\" on %s"),
|
||||||
GetChars ( shorttxt ), GetChars( GetLayerName() ) );
|
GetChars ( ShortenedShownText() ), GetChars( GetLayerName() ) );
|
||||||
|
|
||||||
return text;
|
return text;
|
||||||
}
|
}
|
||||||
|
|
|
@ -319,7 +319,7 @@ void TEXTE_MODULE::Draw( EDA_DRAW_PANEL* panel, wxDC* DC, GR_DRAWMODE draw_mode,
|
||||||
size.x = -size.x;
|
size.x = -size.x;
|
||||||
|
|
||||||
EDA_RECT* clipbox = panel? panel->GetClipBox() : NULL;
|
EDA_RECT* clipbox = panel? panel->GetClipBox() : NULL;
|
||||||
DrawGraphicText( clipbox, DC, pos, color, m_Text, orient,
|
DrawGraphicText( clipbox, DC, pos, color, GetShownText(), orient,
|
||||||
size, m_HJustify, m_VJustify, width, m_Italic, m_Bold );
|
size, m_HJustify, m_VJustify, width, m_Italic, m_Bold );
|
||||||
|
|
||||||
// Enable these line to draw the bounding box (debug tests purposes only)
|
// Enable these line to draw the bounding box (debug tests purposes only)
|
||||||
|
@ -387,7 +387,7 @@ void TEXTE_MODULE::GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList )
|
||||||
Line = module->GetReference();
|
Line = module->GetReference();
|
||||||
aList.push_back( MSG_PANEL_ITEM( _( "Module" ), Line, DARKCYAN ) );
|
aList.push_back( MSG_PANEL_ITEM( _( "Module" ), Line, DARKCYAN ) );
|
||||||
|
|
||||||
Line = m_Text;
|
Line = GetShownText();
|
||||||
aList.push_back( MSG_PANEL_ITEM( _( "Text" ), Line, BROWN ) );
|
aList.push_back( MSG_PANEL_ITEM( _( "Text" ), Line, BROWN ) );
|
||||||
|
|
||||||
wxASSERT( m_Type >= TEXT_is_REFERENCE && m_Type <= TEXT_is_DIVERS );
|
wxASSERT( m_Type >= TEXT_is_REFERENCE && m_Type <= TEXT_is_DIVERS );
|
||||||
|
@ -436,11 +436,11 @@ wxString TEXTE_MODULE::GetSelectMenuText() const
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case TEXT_is_VALUE:
|
case TEXT_is_VALUE:
|
||||||
text.Printf( _( "Value %s of %s" ), GetChars( m_Text ), reference );
|
text.Printf( _( "Value %s of %s" ), GetChars( GetShownText() ), reference );
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default: // wrap this one in quotes:
|
default: // wrap this one in quotes:
|
||||||
text.Printf( _( "Text \"%s\" on %s of %s" ), GetChars( m_Text ),
|
text.Printf( _( "Text \"%s\" on %s of %s" ), GetChars( ShortenedShownText() ),
|
||||||
GetChars( GetLayerName() ), reference );
|
GetChars( GetLayerName() ), reference );
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
@ -124,7 +124,6 @@ void DIALOG_MODULE_MODULE_EDITOR::initModeditProperties()
|
||||||
m_valueCopy->Copy( &m_currentModule->Value() );
|
m_valueCopy->Copy( &m_currentModule->Value() );
|
||||||
m_ReferenceCtrl->SetValue( m_referenceCopy->GetText() );
|
m_ReferenceCtrl->SetValue( m_referenceCopy->GetText() );
|
||||||
m_ValueCtrl->SetValue( m_valueCopy->GetText() );
|
m_ValueCtrl->SetValue( m_valueCopy->GetText() );
|
||||||
m_ValueCtrl->SetValue( m_valueCopy->GetText() );
|
|
||||||
m_FootprintNameCtrl->SetValue( m_currentModule->GetFPID().Format() );
|
m_FootprintNameCtrl->SetValue( m_currentModule->GetFPID().Format() );
|
||||||
|
|
||||||
m_AttributsCtrl->SetItemToolTip( 0, _( "Use this attribute for most non SMD components" ) );
|
m_AttributsCtrl->SetItemToolTip( 0, _( "Use this attribute for most non SMD components" ) );
|
||||||
|
|
|
@ -640,7 +640,7 @@ static void export_vrml_pcbtext( MODEL_VRML& aModel, TEXTE_PCB* text )
|
||||||
|
|
||||||
if( text->IsMultilineAllowed() )
|
if( text->IsMultilineAllowed() )
|
||||||
{
|
{
|
||||||
wxArrayString* list = wxStringSplit( text->GetText(), '\n' );
|
wxArrayString* list = wxStringSplit( text->GetShownText(), '\n' );
|
||||||
std::vector<wxPoint> positions;
|
std::vector<wxPoint> positions;
|
||||||
positions.reserve( list->Count() );
|
positions.reserve( list->Count() );
|
||||||
text->GetPositionsOfLinesOfMultilineText( positions, list->Count() );
|
text->GetPositionsOfLinesOfMultilineText( positions, list->Count() );
|
||||||
|
@ -661,7 +661,7 @@ static void export_vrml_pcbtext( MODEL_VRML& aModel, TEXTE_PCB* text )
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
DrawGraphicText( NULL, NULL, text->GetTextPosition(), color,
|
DrawGraphicText( NULL, NULL, text->GetTextPosition(), color,
|
||||||
text->GetText(), text->GetOrientation(), size,
|
text->GetShownText(), text->GetOrientation(), size,
|
||||||
text->GetHorizJustify(), text->GetVertJustify(),
|
text->GetHorizJustify(), text->GetVertJustify(),
|
||||||
text->GetThickness(), text->IsItalic(),
|
text->GetThickness(), text->IsItalic(),
|
||||||
true,
|
true,
|
||||||
|
@ -941,7 +941,7 @@ static void export_vrml_text_module( TEXTE_MODULE* module )
|
||||||
model_vrml->s_text_width = module->GetThickness();
|
model_vrml->s_text_width = module->GetThickness();
|
||||||
|
|
||||||
DrawGraphicText( NULL, NULL, module->GetTextPosition(), BLACK,
|
DrawGraphicText( NULL, NULL, module->GetTextPosition(), BLACK,
|
||||||
module->GetText(), module->GetDrawRotation(), size,
|
module->GetShownText(), module->GetDrawRotation(), size,
|
||||||
module->GetHorizJustify(), module->GetVertJustify(),
|
module->GetHorizJustify(), module->GetVertJustify(),
|
||||||
module->GetThickness(), module->IsItalic(),
|
module->GetThickness(), module->IsItalic(),
|
||||||
true,
|
true,
|
||||||
|
|
|
@ -767,7 +767,8 @@ void PCB_PAINTER::draw( const DRAWSEGMENT* aSegment, int aLayer )
|
||||||
|
|
||||||
void PCB_PAINTER::draw( const TEXTE_PCB* aText, int aLayer )
|
void PCB_PAINTER::draw( const TEXTE_PCB* aText, int aLayer )
|
||||||
{
|
{
|
||||||
if( aText->GetText().Length() == 0 )
|
wxString shownText( aText->GetShownText() );
|
||||||
|
if( shownText.Length() == 0 )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
const COLOR4D& color = m_pcbSettings.GetColor( aText, aText->GetLayer() );
|
const COLOR4D& color = m_pcbSettings.GetColor( aText, aText->GetLayer() );
|
||||||
|
@ -789,13 +790,14 @@ void PCB_PAINTER::draw( const TEXTE_PCB* aText, int aLayer )
|
||||||
m_gal->SetIsStroke( true );
|
m_gal->SetIsStroke( true );
|
||||||
m_gal->SetStrokeColor( color );
|
m_gal->SetStrokeColor( color );
|
||||||
m_gal->SetTextAttributes( aText );
|
m_gal->SetTextAttributes( aText );
|
||||||
m_gal->StrokeText( aText->GetText(), position, orientation );
|
m_gal->StrokeText( shownText, position, orientation );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void PCB_PAINTER::draw( const TEXTE_MODULE* aText, int aLayer )
|
void PCB_PAINTER::draw( const TEXTE_MODULE* aText, int aLayer )
|
||||||
{
|
{
|
||||||
if( aText->GetLength() == 0 )
|
wxString shownText( aText->GetShownText() );
|
||||||
|
if( shownText.Length() == 0 )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
const COLOR4D& color = m_pcbSettings.GetColor( aText, aLayer );
|
const COLOR4D& color = m_pcbSettings.GetColor( aText, aLayer );
|
||||||
|
@ -817,7 +819,7 @@ void PCB_PAINTER::draw( const TEXTE_MODULE* aText, int aLayer )
|
||||||
m_gal->SetIsStroke( true );
|
m_gal->SetIsStroke( true );
|
||||||
m_gal->SetStrokeColor( color );
|
m_gal->SetStrokeColor( color );
|
||||||
m_gal->SetTextAttributes( aText );
|
m_gal->SetTextAttributes( aText );
|
||||||
m_gal->StrokeText( aText->GetText(), position, orientation );
|
m_gal->StrokeText( shownText, position, orientation );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -941,7 +943,7 @@ void PCB_PAINTER::draw( const DIMENSION* aDimension, int aLayer )
|
||||||
|
|
||||||
m_gal->SetLineWidth( text.GetThickness() );
|
m_gal->SetLineWidth( text.GetThickness() );
|
||||||
m_gal->SetTextAttributes( &text );
|
m_gal->SetTextAttributes( &text );
|
||||||
m_gal->StrokeText( text.GetText(), position, orientation );
|
m_gal->StrokeText( text.GetShownText(), position, orientation );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -235,7 +235,7 @@ void BRDITEMS_PLOTTER::PlotTextModule( TEXTE_MODULE* pt_texte, EDA_COLOR_T aColo
|
||||||
bool allow_bold = pt_texte->IsBold() || thickness;
|
bool allow_bold = pt_texte->IsBold() || thickness;
|
||||||
|
|
||||||
m_plotter->Text( pos, aColor,
|
m_plotter->Text( pos, aColor,
|
||||||
pt_texte->GetText(),
|
pt_texte->GetShownText(),
|
||||||
orient, size,
|
orient, size,
|
||||||
pt_texte->GetHorizJustify(), pt_texte->GetVertJustify(),
|
pt_texte->GetHorizJustify(), pt_texte->GetVertJustify(),
|
||||||
thickness, pt_texte->IsItalic(), allow_bold );
|
thickness, pt_texte->IsItalic(), allow_bold );
|
||||||
|
@ -442,8 +442,9 @@ void BRDITEMS_PLOTTER::PlotTextePcb( TEXTE_PCB* pt_texte )
|
||||||
int thickness;
|
int thickness;
|
||||||
wxPoint pos;
|
wxPoint pos;
|
||||||
wxSize size;
|
wxSize size;
|
||||||
|
wxString shownText( pt_texte->GetShownText() );
|
||||||
|
|
||||||
if( pt_texte->GetText().IsEmpty() )
|
if( shownText.IsEmpty() )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if( !m_layerMask[pt_texte->GetLayer()] )
|
if( !m_layerMask[pt_texte->GetLayer()] )
|
||||||
|
@ -468,7 +469,7 @@ void BRDITEMS_PLOTTER::PlotTextePcb( TEXTE_PCB* pt_texte )
|
||||||
if( pt_texte->IsMultilineAllowed() )
|
if( pt_texte->IsMultilineAllowed() )
|
||||||
{
|
{
|
||||||
std::vector<wxPoint> positions;
|
std::vector<wxPoint> positions;
|
||||||
wxArrayString* list = wxStringSplit( pt_texte->GetText(), '\n' );
|
wxArrayString* list = wxStringSplit( shownText, '\n' );
|
||||||
positions.reserve( list->Count() );
|
positions.reserve( list->Count() );
|
||||||
|
|
||||||
pt_texte->GetPositionsOfLinesOfMultilineText( positions, list->Count() );
|
pt_texte->GetPositionsOfLinesOfMultilineText( positions, list->Count() );
|
||||||
|
@ -485,7 +486,7 @@ void BRDITEMS_PLOTTER::PlotTextePcb( TEXTE_PCB* pt_texte )
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
m_plotter->Text( pos, UNSPECIFIED_COLOR, pt_texte->GetText(), orient, size,
|
m_plotter->Text( pos, UNSPECIFIED_COLOR, shownText, orient, size,
|
||||||
pt_texte->GetHorizJustify(), pt_texte->GetVertJustify(),
|
pt_texte->GetHorizJustify(), pt_texte->GetVertJustify(),
|
||||||
thickness, pt_texte->IsItalic(), allow_bold );
|
thickness, pt_texte->IsItalic(), allow_bold );
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue