eeschema: problems found. some (not all) solved (see changelog)
This commit is contained in:
parent
36554e68d4
commit
c759be6f52
|
@ -5,6 +5,21 @@ Started 2007-June-11
|
||||||
Please add newer entries at the top, list the date and your name with
|
Please add newer entries at the top, list the date and your name with
|
||||||
email address.
|
email address.
|
||||||
|
|
||||||
|
2008-Feb-21 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
|
||||||
|
================================================================================
|
||||||
|
+eeschema
|
||||||
|
added : full text conversion between text, label, global label and hierarchical label
|
||||||
|
some problems fixed:
|
||||||
|
- annotation incorrectly cleared.
|
||||||
|
- reference not copied in component copy.
|
||||||
|
- incorrect redo when changing the chip name in component edition
|
||||||
|
|
||||||
|
bugs not fixed
|
||||||
|
- undo/redo problems when changing a text type between text, label, global label and hierarchical label
|
||||||
|
- incorrect annotation in complex hierarchy with multi parts per package (duplicates created).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
2008-Feb-20 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
|
2008-Feb-20 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
|
||||||
================================================================================
|
================================================================================
|
||||||
+eeschema
|
+eeschema
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
#include "macros.h"
|
#include "macros.h"
|
||||||
|
|
||||||
#include <wx/arrimpl.cpp>
|
#include <wx/arrimpl.cpp>
|
||||||
WX_DEFINE_OBJARRAY(ArrayOfSheetLists);
|
WX_DEFINE_OBJARRAY( ArrayOfSheetLists );
|
||||||
/***************************/
|
/***************************/
|
||||||
/* class DrawPartStruct */
|
/* class DrawPartStruct */
|
||||||
/* class EDA_SchComponentStruct */
|
/* class EDA_SchComponentStruct */
|
||||||
|
@ -28,8 +28,8 @@ DrawPartStruct::DrawPartStruct( KICAD_T struct_type, const wxPoint& pos ) :
|
||||||
EDA_BaseStruct( struct_type )
|
EDA_BaseStruct( struct_type )
|
||||||
/***********************************************************************************/
|
/***********************************************************************************/
|
||||||
{
|
{
|
||||||
m_Layer = 0;
|
m_Layer = 0;
|
||||||
m_Pos = pos;
|
m_Pos = pos;
|
||||||
m_TimeStamp = 0;
|
m_TimeStamp = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -52,128 +52,145 @@ const wxString& ReturnDefaultFieldName( int aFieldNdx )
|
||||||
{
|
{
|
||||||
// avoid unnecessarily copying wxStrings at runtime.
|
// avoid unnecessarily copying wxStrings at runtime.
|
||||||
static const wxString FieldDefaultNameList[] = {
|
static const wxString FieldDefaultNameList[] = {
|
||||||
_( "Ref" ), /* Reference of part, i.e. "IC21" */
|
_( "Ref" ), /* Reference of part, i.e. "IC21" */
|
||||||
_( "Value" ), /* Value of part, i.e. "3.3K" */
|
_( "Value" ), /* Value of part, i.e. "3.3K" */
|
||||||
_( "Footprint" ), /* Footprint, used by cvpcb or pcbnew, i.e. "16DIP300" */
|
_( "Footprint" ), /* Footprint, used by cvpcb or pcbnew, i.e. "16DIP300" */
|
||||||
_( "Sheet" ), /* for components which are a schematic file, schematic file name, i.e. "cnt16.sch" */
|
_( "Sheet" ), /* for components which are a schematic file, schematic file name, i.e. "cnt16.sch" */
|
||||||
wxString(_( "Field" ))+wxT("1"),
|
wxString( _( "Field" ) ) + wxT( "1" ),
|
||||||
wxString(_( "Field" ))+wxT("2"),
|
wxString( _( "Field" ) ) + wxT( "2" ),
|
||||||
wxString(_( "Field" ))+wxT("3"),
|
wxString( _( "Field" ) ) + wxT( "3" ),
|
||||||
wxString(_( "Field" ))+wxT("4"),
|
wxString( _( "Field" ) ) + wxT( "4" ),
|
||||||
wxString(_( "Field" ))+wxT("5"),
|
wxString( _( "Field" ) ) + wxT( "5" ),
|
||||||
wxString(_( "Field" ))+wxT("6"),
|
wxString( _( "Field" ) ) + wxT( "6" ),
|
||||||
wxString(_( "Field" ))+wxT("7"),
|
wxString( _( "Field" ) ) + wxT( "7" ),
|
||||||
wxString(_( "Field" ))+wxT("8"),
|
wxString( _( "Field" ) ) + wxT( "8" ),
|
||||||
wxT( "badFieldNdx!" ) // error, and "sentinel" value
|
wxT( "badFieldNdx!" ) // error, and "sentinel" value
|
||||||
};
|
};
|
||||||
|
|
||||||
if( (unsigned) aFieldNdx > FIELD8 ) // catches < 0 also
|
if( (unsigned) aFieldNdx > FIELD8 ) // catches < 0 also
|
||||||
aFieldNdx = FIELD8+1; // return the sentinel text
|
aFieldNdx = FIELD8 + 1; // return the sentinel text
|
||||||
|
|
||||||
return FieldDefaultNameList[aFieldNdx];
|
return FieldDefaultNameList[aFieldNdx];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/****************************************************************/
|
/****************************************************************/
|
||||||
const wxString& EDA_SchComponentStruct::ReturnFieldName( int aFieldNdx ) const
|
const wxString& EDA_SchComponentStruct::ReturnFieldName( int aFieldNdx ) const
|
||||||
/****************************************************************/
|
/****************************************************************/
|
||||||
|
|
||||||
/* Return the Field name from its index (REFERENCE, VALUE ..)
|
/* Return the Field name from its index (REFERENCE, VALUE ..)
|
||||||
*/
|
*/
|
||||||
{
|
{
|
||||||
// avoid unnecessarily copying wxStrings.
|
// avoid unnecessarily copying wxStrings.
|
||||||
|
|
||||||
if( aFieldNdx < FIELD1 || m_Field[aFieldNdx].m_Name.IsEmpty() )
|
if( aFieldNdx < FIELD1 || m_Field[aFieldNdx].m_Name.IsEmpty() )
|
||||||
return ReturnDefaultFieldName( aFieldNdx );
|
return ReturnDefaultFieldName( aFieldNdx );
|
||||||
|
|
||||||
return m_Field[aFieldNdx].m_Name;
|
return m_Field[aFieldNdx].m_Name;
|
||||||
}
|
}
|
||||||
|
|
||||||
/************************************/
|
|
||||||
wxString EDA_SchComponentStruct::GetPath(DrawSheetList* sheet)
|
/****************************************************************/
|
||||||
/************************************/
|
wxString EDA_SchComponentStruct::GetPath( DrawSheetList* sheet )
|
||||||
|
/****************************************************************/
|
||||||
{
|
{
|
||||||
wxString str;
|
wxString str;
|
||||||
str.Printf(_("%8.8lX"), m_TimeStamp );
|
|
||||||
return sheet->Path() + str;
|
str.Printf( wxT( "%8.8lX" ), m_TimeStamp );
|
||||||
|
return sheet->Path() + str;
|
||||||
}
|
}
|
||||||
|
|
||||||
/************************************/
|
|
||||||
|
/********************************************************************/
|
||||||
const wxString EDA_SchComponentStruct::GetRef( DrawSheetList* sheet )
|
const wxString EDA_SchComponentStruct::GetRef( DrawSheetList* sheet )
|
||||||
/************************************/
|
/********************************************************************/
|
||||||
{
|
{
|
||||||
wxString path = GetPath( sheet );
|
wxString path = GetPath( sheet );
|
||||||
unsigned int i;
|
unsigned int i;
|
||||||
for(i=0; i<m_Paths.GetCount(); i++){
|
|
||||||
if( m_Paths[i].Cmp(path) == 0 ){
|
for( i = 0; i<m_Paths.GetCount(); i++ )
|
||||||
/*printf("GetRef path: %s ref: %s\n",
|
{
|
||||||
CONV_TO_UTF8(m_Paths[i]),
|
if( m_Paths[i].Cmp( path ) == 0 )
|
||||||
CONV_TO_UTF8(m_References[i])); */
|
{
|
||||||
return m_References[i];
|
/*printf("GetRef path: %s ref: %s\n",
|
||||||
}
|
* CONV_TO_UTF8(m_Paths[i]),
|
||||||
}
|
* CONV_TO_UTF8(m_References[i])); */
|
||||||
//if it was not found in m_Paths array, then see if it is in
|
return m_References[i];
|
||||||
// m_Field[REFERENCE] -- if so, use this as a default for this path.
|
}
|
||||||
// this will happen if we load a version 1 schematic file.
|
}
|
||||||
// it will also mean that multiple instances of the same sheet by default
|
|
||||||
// all have the same component references, but perhaps this is best.
|
//if it was not found in m_Paths array, then see if it is in
|
||||||
if( !m_Field[REFERENCE].m_Text.IsEmpty() ){
|
// m_Field[REFERENCE] -- if so, use this as a default for this path.
|
||||||
SetRef( sheet, m_Field[REFERENCE].m_Text );
|
// this will happen if we load a version 1 schematic file.
|
||||||
return m_Field[REFERENCE].m_Text;
|
// it will also mean that multiple instances of the same sheet by default
|
||||||
}
|
// all have the same component references, but perhaps this is best.
|
||||||
return m_PrefixString;
|
if( !m_Field[REFERENCE].m_Text.IsEmpty() )
|
||||||
|
{
|
||||||
|
SetRef( sheet, m_Field[REFERENCE].m_Text );
|
||||||
|
return m_Field[REFERENCE].m_Text;
|
||||||
|
}
|
||||||
|
return m_PrefixString;
|
||||||
}
|
}
|
||||||
|
|
||||||
/************************************/
|
|
||||||
|
/***********************************************************************/
|
||||||
void EDA_SchComponentStruct::SetRef( DrawSheetList* sheet, wxString ref )
|
void EDA_SchComponentStruct::SetRef( DrawSheetList* sheet, wxString ref )
|
||||||
/************************************/
|
/***********************************************************************/
|
||||||
{
|
{
|
||||||
//check to see if it is already there before inserting it
|
//check to see if it is already there before inserting it
|
||||||
wxString path = GetPath( sheet );
|
wxString path = GetPath( sheet );
|
||||||
printf("SetRef path: %s ref: %s\n",
|
|
||||||
CONV_TO_UTF8(path),
|
printf( "SetRef path: %s ref: %s\n",
|
||||||
CONV_TO_UTF8(ref));
|
CONV_TO_UTF8( path ),
|
||||||
unsigned int i;
|
CONV_TO_UTF8( ref ) );
|
||||||
bool notInArray = true;
|
unsigned int i;
|
||||||
for(i=0; i<m_Paths.GetCount(); i++){
|
bool notInArray = true;
|
||||||
if(m_Paths[i].Cmp(path) == 0){
|
for( i = 0; i<m_Paths.GetCount(); i++ )
|
||||||
//just update the reference text, not the timestamp.
|
{
|
||||||
m_References.RemoveAt(i);
|
if( m_Paths[i].Cmp( path ) == 0 )
|
||||||
m_References.Insert(ref, i);
|
{
|
||||||
notInArray = false;
|
//just update the reference text, not the timestamp.
|
||||||
}
|
m_References.RemoveAt( i );
|
||||||
}
|
m_References.Insert( ref, i );
|
||||||
if(notInArray){
|
notInArray = false;
|
||||||
m_References.Add(ref);
|
}
|
||||||
m_Paths.Add(path);
|
}
|
||||||
}
|
|
||||||
if(m_Field[REFERENCE].m_Text.IsEmpty() ||
|
if( notInArray )
|
||||||
( abs(m_Field[REFERENCE].m_Pos.x - m_Pos.x) +
|
{
|
||||||
abs(m_Field[REFERENCE].m_Pos.y - m_Pos.y) > 1000)) {
|
m_References.Add( ref );
|
||||||
//move it to a reasonable position..
|
m_Paths.Add( path );
|
||||||
m_Field[REFERENCE].m_Pos = m_Pos;
|
}
|
||||||
m_Field[REFERENCE].m_Pos.x += 50; //a slight offset..
|
if( m_Field[REFERENCE].m_Text.IsEmpty()
|
||||||
m_Field[REFERENCE].m_Pos.y += 50;
|
|| ( abs( m_Field[REFERENCE].m_Pos.x - m_Pos.x ) +
|
||||||
}
|
abs( m_Field[REFERENCE].m_Pos.y - m_Pos.y ) > 1000) )
|
||||||
m_Field[REFERENCE].m_Text = ref; //for drawing.
|
{
|
||||||
|
//move it to a reasonable position..
|
||||||
|
m_Field[REFERENCE].m_Pos = m_Pos;
|
||||||
|
m_Field[REFERENCE].m_Pos.x += 50; //a slight offset..
|
||||||
|
m_Field[REFERENCE].m_Pos.y += 50;
|
||||||
|
}
|
||||||
|
m_Field[REFERENCE].m_Text = ref; //for drawing.
|
||||||
}
|
}
|
||||||
|
|
||||||
/************************************/
|
|
||||||
|
/**************************************/
|
||||||
void EDA_SchComponentStruct::ClearRefs()
|
void EDA_SchComponentStruct::ClearRefs()
|
||||||
/************************************/
|
/**************************************/
|
||||||
{
|
{
|
||||||
m_Paths.Empty();
|
m_Paths.Empty();
|
||||||
m_References.Empty();
|
m_References.Empty();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
const wxString& EDA_SchComponentStruct::GetFieldValue( int aFieldNdx ) const
|
const wxString& EDA_SchComponentStruct::GetFieldValue( int aFieldNdx ) const
|
||||||
{
|
{
|
||||||
// avoid unnecessarily copying wxStrings.
|
// avoid unnecessarily copying wxStrings.
|
||||||
static const wxString myEmpty = wxEmptyString;
|
static const wxString myEmpty = wxEmptyString;
|
||||||
|
|
||||||
if( (unsigned) aFieldNdx > FIELD8 || m_Field[aFieldNdx].m_Text.IsEmpty() )
|
if( (unsigned) aFieldNdx > FIELD8 || m_Field[aFieldNdx].m_Text.IsEmpty() )
|
||||||
return myEmpty;
|
return myEmpty;
|
||||||
|
|
||||||
return m_Field[aFieldNdx].m_Text;
|
return m_Field[aFieldNdx].m_Text;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -186,10 +203,11 @@ EDA_SchComponentStruct::EDA_SchComponentStruct( const wxPoint& pos ) :
|
||||||
int ii;
|
int ii;
|
||||||
|
|
||||||
m_Multi = 0; /* In multi unit chip - which unit to draw. */
|
m_Multi = 0; /* In multi unit chip - which unit to draw. */
|
||||||
|
|
||||||
//m_FlagControlMulti = 0;
|
//m_FlagControlMulti = 0;
|
||||||
m_UsedOnSheets.Clear();
|
m_UsedOnSheets.Clear();
|
||||||
m_Convert = 0; /* Gestion des mutiples representations (conversion De Morgan) */
|
m_Convert = 0; /* Gestion des mutiples representations (conversion De Morgan) */
|
||||||
|
|
||||||
/* The rotation/mirror transformation matrix. pos normal*/
|
/* The rotation/mirror transformation matrix. pos normal*/
|
||||||
m_Transform[0][0] = 1;
|
m_Transform[0][0] = 1;
|
||||||
m_Transform[0][1] = 0;
|
m_Transform[0][1] = 0;
|
||||||
|
@ -209,14 +227,14 @@ EDA_SchComponentStruct::EDA_SchComponentStruct( const wxPoint& pos ) :
|
||||||
m_Field[REFERENCE].m_Layer = LAYER_REFERENCEPART;
|
m_Field[REFERENCE].m_Layer = LAYER_REFERENCEPART;
|
||||||
|
|
||||||
m_PinIsDangling = NULL;
|
m_PinIsDangling = NULL;
|
||||||
|
|
||||||
m_PrefixString = wxString(_("U"));
|
m_PrefixString = wxString( _( "U" ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**********************************************************************/
|
/************************************************/
|
||||||
EDA_Rect EDA_SchComponentStruct::GetBoundaryBox()
|
EDA_Rect EDA_SchComponentStruct::GetBoundaryBox()
|
||||||
/**********************************************************************/
|
/************************************************/
|
||||||
{
|
{
|
||||||
EDA_LibComponentStruct* Entry = FindLibPart( m_ChipName.GetData(), wxEmptyString, FIND_ROOT );
|
EDA_LibComponentStruct* Entry = FindLibPart( m_ChipName.GetData(), wxEmptyString, FIND_ROOT );
|
||||||
EDA_Rect BoundaryBox;
|
EDA_Rect BoundaryBox;
|
||||||
|
@ -230,7 +248,7 @@ EDA_Rect EDA_SchComponentStruct::GetBoundaryBox()
|
||||||
|
|
||||||
// We must reverse Y values, because matrix orientation
|
// We must reverse Y values, because matrix orientation
|
||||||
// suppose Y axis normal for the library items coordinates,
|
// suppose Y axis normal for the library items coordinates,
|
||||||
// m_Transform reverse Y values, but BoundaryBox ais already reversed!
|
// m_Transform reverse Y values, but BoundaryBox is already reversed!
|
||||||
y0 = -BoundaryBox.GetY();
|
y0 = -BoundaryBox.GetY();
|
||||||
ym = -BoundaryBox.GetBottom();
|
ym = -BoundaryBox.GetBottom();
|
||||||
}
|
}
|
||||||
|
@ -254,7 +272,7 @@ EDA_Rect EDA_SchComponentStruct::GetBoundaryBox()
|
||||||
EXCHG( x2, x1 );
|
EXCHG( x2, x1 );
|
||||||
if( y2 < y1 )
|
if( y2 < y1 )
|
||||||
EXCHG( y2, y1 );
|
EXCHG( y2, y1 );
|
||||||
|
|
||||||
BoundaryBox.SetX( x1 ); BoundaryBox.SetY( y1 );
|
BoundaryBox.SetX( x1 ); BoundaryBox.SetY( y1 );
|
||||||
BoundaryBox.SetWidth( x2 - x1 );
|
BoundaryBox.SetWidth( x2 - x1 );
|
||||||
BoundaryBox.SetHeight( y2 - y1 );
|
BoundaryBox.SetHeight( y2 - y1 );
|
||||||
|
@ -262,6 +280,8 @@ EDA_Rect EDA_SchComponentStruct::GetBoundaryBox()
|
||||||
BoundaryBox.Offset( m_Pos );
|
BoundaryBox.Offset( m_Pos );
|
||||||
return BoundaryBox;
|
return BoundaryBox;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**************************************************************************/
|
/**************************************************************************/
|
||||||
void PartTextStruct::SwapData( PartTextStruct* copyitem )
|
void PartTextStruct::SwapData( PartTextStruct* copyitem )
|
||||||
/**************************************************************************/
|
/**************************************************************************/
|
||||||
|
@ -295,6 +315,7 @@ void EDA_SchComponentStruct::SwapData( EDA_SchComponentStruct* copyitem )
|
||||||
* swap data between this and copyitem
|
* swap data between this and copyitem
|
||||||
*/
|
*/
|
||||||
{
|
{
|
||||||
|
EXCHG( m_ChipName, copyitem->m_ChipName );
|
||||||
EXCHG( m_Pos, copyitem->m_Pos );
|
EXCHG( m_Pos, copyitem->m_Pos );
|
||||||
EXCHG( m_Multi, copyitem->m_Multi );
|
EXCHG( m_Multi, copyitem->m_Multi );
|
||||||
EXCHG( m_Convert, copyitem->m_Convert );
|
EXCHG( m_Convert, copyitem->m_Convert );
|
||||||
|
@ -320,13 +341,13 @@ void EDA_SchComponentStruct::Place( WinEDA_DrawFrame* frame, wxDC* DC )
|
||||||
{
|
{
|
||||||
/* restore old values and save new ones */
|
/* restore old values and save new ones */
|
||||||
SwapData( (EDA_SchComponentStruct*) g_ItemToUndoCopy );
|
SwapData( (EDA_SchComponentStruct*) g_ItemToUndoCopy );
|
||||||
|
|
||||||
/* save in undo list */
|
/* save in undo list */
|
||||||
( (WinEDA_SchematicFrame*) frame )->SaveCopyInUndoList( this, IS_CHANGED );
|
( (WinEDA_SchematicFrame*) frame )->SaveCopyInUndoList( this, IS_CHANGED );
|
||||||
|
|
||||||
/* restore new values */
|
/* restore new values */
|
||||||
SwapData( (EDA_SchComponentStruct*) g_ItemToUndoCopy );
|
SwapData( (EDA_SchComponentStruct*) g_ItemToUndoCopy );
|
||||||
|
|
||||||
SAFE_DELETE( g_ItemToUndoCopy );
|
SAFE_DELETE( g_ItemToUndoCopy );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -341,14 +362,20 @@ void EDA_SchComponentStruct::ClearAnnotation()
|
||||||
/* Suppress annotation ( i.i IC23 changed to IC? and part reset to 1)
|
/* Suppress annotation ( i.i IC23 changed to IC? and part reset to 1)
|
||||||
*/
|
*/
|
||||||
{
|
{
|
||||||
wxString defRef = m_PrefixString;
|
wxString defRef = m_PrefixString;
|
||||||
defRef.Append( _("?") );
|
|
||||||
m_References.Empty();
|
|
||||||
unsigned int i;
|
|
||||||
for(i=0; i< m_Paths.GetCount(); i++){
|
|
||||||
m_References.Add(defRef);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
while( defRef.Last() == '?' )
|
||||||
|
defRef.RemoveLast();
|
||||||
|
|
||||||
|
defRef.Append( wxT( "?" ) );
|
||||||
|
m_References.Empty();
|
||||||
|
unsigned int i;
|
||||||
|
for( i = 0; i< m_Paths.GetCount(); i++ )
|
||||||
|
{
|
||||||
|
m_References.Add( defRef );
|
||||||
|
}
|
||||||
|
|
||||||
|
m_Field[REFERENCE].m_Text = defRef; //for drawing.
|
||||||
EDA_LibComponentStruct* Entry;
|
EDA_LibComponentStruct* Entry;
|
||||||
Entry = FindLibPart( m_ChipName.GetData(), wxEmptyString, FIND_ROOT );
|
Entry = FindLibPart( m_ChipName.GetData(), wxEmptyString, FIND_ROOT );
|
||||||
|
|
||||||
|
@ -367,8 +394,10 @@ EDA_SchComponentStruct* EDA_SchComponentStruct::GenCopy()
|
||||||
|
|
||||||
new_item->m_Multi = m_Multi;
|
new_item->m_Multi = m_Multi;
|
||||||
new_item->m_ChipName = m_ChipName;
|
new_item->m_ChipName = m_ChipName;
|
||||||
|
new_item->m_PrefixString = m_PrefixString;
|
||||||
|
|
||||||
//new_item->m_FlagControlMulti = m_FlagControlMulti;
|
//new_item->m_FlagControlMulti = m_FlagControlMulti;
|
||||||
new_item->m_UsedOnSheets = m_UsedOnSheets;
|
new_item->m_UsedOnSheets = m_UsedOnSheets;
|
||||||
new_item->m_Convert = m_Convert;
|
new_item->m_Convert = m_Convert;
|
||||||
new_item->m_Transform[0][0] = m_Transform[0][0];
|
new_item->m_Transform[0][0] = m_Transform[0][0];
|
||||||
new_item->m_Transform[0][1] = m_Transform[0][1];
|
new_item->m_Transform[0][1] = m_Transform[0][1];
|
||||||
|
@ -499,15 +528,15 @@ void EDA_SchComponentStruct::SetRotationMiroir( int type_rotate )
|
||||||
}
|
}
|
||||||
|
|
||||||
if( Transform )
|
if( Transform )
|
||||||
{/* The new matrix transform is the old matrix transform modified by the
|
{ /* The new matrix transform is the old matrix transform modified by the
|
||||||
* requested transformation, which is the TempMat transform (rot, mirror ..)
|
* requested transformation, which is the TempMat transform (rot, mirror ..)
|
||||||
* in order to have (in term of matrix transform):
|
* in order to have (in term of matrix transform):
|
||||||
* transform coord = new_m_Transform * coord
|
* transform coord = new_m_Transform * coord
|
||||||
* where transform coord is the coord modified by new_m_Transform from the initial
|
* where transform coord is the coord modified by new_m_Transform from the initial
|
||||||
* value coord.
|
* value coord.
|
||||||
* new_m_Transform is computed (from old_m_Transform and TempMat) to have:
|
* new_m_Transform is computed (from old_m_Transform and TempMat) to have:
|
||||||
* transform coord = old_m_Transform * coord * TempMat
|
* transform coord = old_m_Transform * coord * TempMat
|
||||||
*/
|
*/
|
||||||
int NewMatrix[2][2];
|
int NewMatrix[2][2];
|
||||||
|
|
||||||
NewMatrix[0][0] = m_Transform[0][0] * TempMat[0][0] +
|
NewMatrix[0][0] = m_Transform[0][0] * TempMat[0][0] +
|
||||||
|
@ -612,12 +641,12 @@ wxPoint EDA_SchComponentStruct::GetScreenCoord( const wxPoint& coord )
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#if defined (DEBUG)
|
||||||
|
|
||||||
#if defined(DEBUG)
|
|
||||||
/**
|
/**
|
||||||
* Function Show
|
* Function Show
|
||||||
* is used to output the object tree, currently for debugging only.
|
* is used to output the object tree, currently for debugging only.
|
||||||
* @param nestLevel An aid to prettier tree indenting, and is the level
|
* @param nestLevel An aid to prettier tree indenting, and is the level
|
||||||
* of nesting of this object within the overall tree.
|
* of nesting of this object within the overall tree.
|
||||||
* @param os The ostream& to output to.
|
* @param os The ostream& to output to.
|
||||||
*/
|
*/
|
||||||
|
@ -625,35 +654,36 @@ void EDA_SchComponentStruct::Show( int nestLevel, std::ostream& os )
|
||||||
{
|
{
|
||||||
// for now, make it look like XML:
|
// for now, make it look like XML:
|
||||||
NestedSpace( nestLevel, os ) << '<' << GetClass().Lower().mb_str() <<
|
NestedSpace( nestLevel, os ) << '<' << GetClass().Lower().mb_str() <<
|
||||||
" ref=\"" << ReturnFieldName(0) << '"' <<
|
" ref=\"" << ReturnFieldName( 0 ) << '"' <<
|
||||||
" chipName=\"" << m_ChipName.mb_str() << '"' <<
|
" chipName=\"" << m_ChipName.mb_str() << '"' <<
|
||||||
m_Pos <<
|
m_Pos <<
|
||||||
" layer=\"" << m_Layer << '"' <<
|
" layer=\"" << m_Layer << '"' <<
|
||||||
"/>\n";
|
"/>\n";
|
||||||
|
|
||||||
// skip the reference, it's been output already.
|
// skip the reference, it's been output already.
|
||||||
for( int i=1; i<NUMBER_OF_FIELDS; ++i )
|
for( int i = 1; i<NUMBER_OF_FIELDS; ++i )
|
||||||
{
|
{
|
||||||
wxString value = GetFieldValue( i );
|
wxString value = GetFieldValue( i );
|
||||||
|
|
||||||
if( !value.IsEmpty() )
|
if( !value.IsEmpty() )
|
||||||
{
|
{
|
||||||
NestedSpace( nestLevel+1, os ) << "<field" <<
|
NestedSpace( nestLevel + 1, os ) << "<field" <<
|
||||||
" name=\"" << ReturnFieldName(i).mb_str() << '"' <<
|
" name=\"" << ReturnFieldName( i ).mb_str() << '"' <<
|
||||||
" value=\"" << value.mb_str() << "\"/>\n";
|
" value=\"" << value.mb_str() << "\"/>\n";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
NestedSpace( nestLevel, os ) << "</" << GetClass().Lower().mb_str() << ">\n";
|
NestedSpace( nestLevel, os ) << "</" << GetClass().Lower().mb_str() << ">\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/***************************************************************************/
|
/***************************************************************************/
|
||||||
PartTextStruct::PartTextStruct( const wxPoint& pos, const wxString& text ) :
|
PartTextStruct::PartTextStruct( const wxPoint& pos, const wxString& text ) :
|
||||||
EDA_BaseStruct( DRAW_PART_TEXT_STRUCT_TYPE ), EDA_TextStruct( text )
|
EDA_BaseStruct( DRAW_PART_TEXT_STRUCT_TYPE )
|
||||||
|
, EDA_TextStruct( text )
|
||||||
/***************************************************************************/
|
/***************************************************************************/
|
||||||
{
|
{
|
||||||
m_Pos = pos;
|
m_Pos = pos;
|
||||||
|
@ -708,7 +738,7 @@ EDA_Rect PartTextStruct::GetBoundaryBox()
|
||||||
/* return
|
/* return
|
||||||
* EDA_Rect contains the real (user coordinates) boundary box for a text field,
|
* EDA_Rect contains the real (user coordinates) boundary box for a text field,
|
||||||
* according to the component position, rotation, mirror ...
|
* according to the component position, rotation, mirror ...
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
{
|
{
|
||||||
EDA_Rect BoundaryBox;
|
EDA_Rect BoundaryBox;
|
||||||
|
|
|
@ -117,7 +117,7 @@ void WinEDA_SchematicFrame::EditSchematicText( DrawTextStruct* TextStruct,
|
||||||
wxDC* DC )
|
wxDC* DC )
|
||||||
/*************************************************************************/
|
/*************************************************************************/
|
||||||
|
|
||||||
/* Edit the properties of the text (Label, Gloab label, graphic text).. )
|
/* Edit the properties of the text (Label, Global label, graphic text).. )
|
||||||
* pointed by "TextStruct"
|
* pointed by "TextStruct"
|
||||||
*/
|
*/
|
||||||
{
|
{
|
||||||
|
@ -330,7 +330,7 @@ void WinEDA_SchematicFrame::ConvertTextType( DrawTextStruct* Text,
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
/* Routine to change a text type to an other one (GraphicText, label or Glabel).
|
/* Routine to change a text type to an other one (GraphicText, label or Glabel).
|
||||||
* A new test, label or global label is created from the old text.
|
* A new test, label or hierarchical or global label is created from the old text.
|
||||||
* the old text is deleted
|
* the old text is deleted
|
||||||
*/
|
*/
|
||||||
{
|
{
|
||||||
|
@ -389,10 +389,10 @@ void WinEDA_SchematicFrame::ConvertTextType( DrawTextStruct* Text,
|
||||||
{
|
{
|
||||||
DrawPanel->ForceCloseManageCurseur( DrawPanel, DC );
|
DrawPanel->ForceCloseManageCurseur( DrawPanel, DC );
|
||||||
}
|
}
|
||||||
if( (flags & IS_NEW) == 0 ) // Delete old text and save it in undo list
|
if( (flags & IS_NEW) == 0 ) // Remove old text from current list and save it in undo list
|
||||||
{
|
{
|
||||||
Text->m_Flags = 0;
|
Text->m_Flags = 0;
|
||||||
DeleteStruct( DrawPanel, DC, Text );
|
DeleteStruct( DrawPanel, DC, Text ); // old text is really saved in undo list
|
||||||
GetScreen()->SetCurItem( NULL );
|
GetScreen()->SetCurItem( NULL );
|
||||||
g_ItemToRepeat = NULL;
|
g_ItemToRepeat = NULL;
|
||||||
}
|
}
|
||||||
|
|
|
@ -380,6 +380,8 @@ void AddMenusForGLabel( wxMenu* PopMenu, DrawGlobalLabelStruct* GLabel )
|
||||||
_( "Change to Label" ), glabel2label_xpm );
|
_( "Change to Label" ), glabel2label_xpm );
|
||||||
ADD_MENUITEM( menu_change_type, ID_POPUP_SCH_CHANGE_TYPE_TEXT_TO_COMMENT,
|
ADD_MENUITEM( menu_change_type, ID_POPUP_SCH_CHANGE_TYPE_TEXT_TO_COMMENT,
|
||||||
_( "Change to Text" ), glabel2text_xpm );
|
_( "Change to Text" ), glabel2text_xpm );
|
||||||
|
ADD_MENUITEM( menu_change_type, ID_POPUP_SCH_CHANGE_TYPE_TEXT_TO_HLABEL,
|
||||||
|
_( "Change to Hierarchical Label" ), label2glabel_xpm );
|
||||||
ADD_MENUITEM_WITH_SUBMENU( PopMenu, menu_change_type,
|
ADD_MENUITEM_WITH_SUBMENU( PopMenu, menu_change_type,
|
||||||
ID_POPUP_SCH_CHANGE_TYPE_TEXT, _( "Change Type" ), gl_change_xpm );
|
ID_POPUP_SCH_CHANGE_TYPE_TEXT, _( "Change Type" ), gl_change_xpm );
|
||||||
}
|
}
|
||||||
|
@ -402,6 +404,8 @@ void AddMenusForHLabel( wxMenu* PopMenu, DrawHierLabelStruct* HLabel )
|
||||||
_( "Change to Label" ), glabel2label_xpm );
|
_( "Change to Label" ), glabel2label_xpm );
|
||||||
ADD_MENUITEM( menu_change_type, ID_POPUP_SCH_CHANGE_TYPE_TEXT_TO_COMMENT,
|
ADD_MENUITEM( menu_change_type, ID_POPUP_SCH_CHANGE_TYPE_TEXT_TO_COMMENT,
|
||||||
_( "Change to Text" ), glabel2text_xpm );
|
_( "Change to Text" ), glabel2text_xpm );
|
||||||
|
ADD_MENUITEM( menu_change_type, ID_POPUP_SCH_CHANGE_TYPE_TEXT_TO_GLABEL,
|
||||||
|
_( "Change to Global label" ), label2glabel_xpm );
|
||||||
ADD_MENUITEM_WITH_SUBMENU( PopMenu, menu_change_type,
|
ADD_MENUITEM_WITH_SUBMENU( PopMenu, menu_change_type,
|
||||||
ID_POPUP_SCH_CHANGE_TYPE_TEXT, _( "Change Type" ), gl_change_xpm );
|
ID_POPUP_SCH_CHANGE_TYPE_TEXT, _( "Change Type" ), gl_change_xpm );
|
||||||
}
|
}
|
||||||
|
@ -424,9 +428,11 @@ void AddMenusForLabel( wxMenu* PopMenu, DrawLabelStruct* Label )
|
||||||
|
|
||||||
// add menu change type text (to label, glabel, text):
|
// add menu change type text (to label, glabel, text):
|
||||||
ADD_MENUITEM( menu_change_type, ID_POPUP_SCH_CHANGE_TYPE_TEXT_TO_GLABEL,
|
ADD_MENUITEM( menu_change_type, ID_POPUP_SCH_CHANGE_TYPE_TEXT_TO_GLABEL,
|
||||||
_( "Change to Glabel" ), label2glabel_xpm );
|
_( "Change to Global label" ), label2glabel_xpm );
|
||||||
ADD_MENUITEM( menu_change_type, ID_POPUP_SCH_CHANGE_TYPE_TEXT_TO_COMMENT,
|
ADD_MENUITEM( menu_change_type, ID_POPUP_SCH_CHANGE_TYPE_TEXT_TO_COMMENT,
|
||||||
_( "Change to Text" ), label2text_xpm );
|
_( "Change to Text" ), label2text_xpm );
|
||||||
|
ADD_MENUITEM( menu_change_type, ID_POPUP_SCH_CHANGE_TYPE_TEXT_TO_HLABEL,
|
||||||
|
_( "Change to Hierarchical Label" ), label2glabel_xpm );
|
||||||
ADD_MENUITEM_WITH_SUBMENU( PopMenu, menu_change_type,
|
ADD_MENUITEM_WITH_SUBMENU( PopMenu, menu_change_type,
|
||||||
ID_POPUP_SCH_CHANGE_TYPE_TEXT, _( "Change Type" ), gl_change_xpm );
|
ID_POPUP_SCH_CHANGE_TYPE_TEXT, _( "Change Type" ), gl_change_xpm );
|
||||||
}
|
}
|
||||||
|
@ -450,6 +456,8 @@ void AddMenusForText( wxMenu* PopMenu, DrawTextStruct* Text )
|
||||||
// add menu change type text (to label, glabel, text):
|
// add menu change type text (to label, glabel, text):
|
||||||
ADD_MENUITEM( menu_change_type, ID_POPUP_SCH_CHANGE_TYPE_TEXT_TO_LABEL,
|
ADD_MENUITEM( menu_change_type, ID_POPUP_SCH_CHANGE_TYPE_TEXT_TO_LABEL,
|
||||||
_( "Change to Label" ), label2text_xpm );
|
_( "Change to Label" ), label2text_xpm );
|
||||||
|
ADD_MENUITEM( menu_change_type, ID_POPUP_SCH_CHANGE_TYPE_TEXT_TO_HLABEL,
|
||||||
|
_( "Change to Hierarchical Label" ), label2glabel_xpm );
|
||||||
ADD_MENUITEM( menu_change_type, ID_POPUP_SCH_CHANGE_TYPE_TEXT_TO_GLABEL,
|
ADD_MENUITEM( menu_change_type, ID_POPUP_SCH_CHANGE_TYPE_TEXT_TO_GLABEL,
|
||||||
_( "Change to Glabel" ), label2glabel_xpm );
|
_( "Change to Glabel" ), label2glabel_xpm );
|
||||||
ADD_MENUITEM_WITH_SUBMENU( PopMenu, menu_change_type,
|
ADD_MENUITEM_WITH_SUBMENU( PopMenu, menu_change_type,
|
||||||
|
|
|
@ -42,6 +42,7 @@ void WinEDA_SchematicFrame::Process_Special_Functions( wxCommandEvent& event )
|
||||||
case ID_POPUP_SCH_EDIT_TEXT:
|
case ID_POPUP_SCH_EDIT_TEXT:
|
||||||
case ID_POPUP_SCH_CHANGE_TYPE_TEXT_TO_LABEL:
|
case ID_POPUP_SCH_CHANGE_TYPE_TEXT_TO_LABEL:
|
||||||
case ID_POPUP_SCH_CHANGE_TYPE_TEXT_TO_GLABEL:
|
case ID_POPUP_SCH_CHANGE_TYPE_TEXT_TO_GLABEL:
|
||||||
|
case ID_POPUP_SCH_CHANGE_TYPE_TEXT_TO_HLABEL:
|
||||||
case ID_POPUP_SCH_CHANGE_TYPE_TEXT_TO_COMMENT:
|
case ID_POPUP_SCH_CHANGE_TYPE_TEXT_TO_COMMENT:
|
||||||
case ID_POPUP_SCH_SET_SHAPE_TEXT:
|
case ID_POPUP_SCH_SET_SHAPE_TEXT:
|
||||||
case ID_POPUP_SCH_ROTATE_TEXT:
|
case ID_POPUP_SCH_ROTATE_TEXT:
|
||||||
|
@ -395,6 +396,12 @@ void WinEDA_SchematicFrame::Process_Special_Functions( wxCommandEvent& event )
|
||||||
&dc, DRAW_GLOBAL_LABEL_STRUCT_TYPE );
|
&dc, DRAW_GLOBAL_LABEL_STRUCT_TYPE );
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case ID_POPUP_SCH_CHANGE_TYPE_TEXT_TO_HLABEL:
|
||||||
|
DrawPanel->MouseToCursorSchema();
|
||||||
|
ConvertTextType( (DrawTextStruct*) GetScreen()->GetCurItem(),
|
||||||
|
&dc, DRAW_HIER_LABEL_STRUCT_TYPE );
|
||||||
|
break;
|
||||||
|
|
||||||
case ID_POPUP_SCH_CHANGE_TYPE_TEXT_TO_COMMENT:
|
case ID_POPUP_SCH_CHANGE_TYPE_TEXT_TO_COMMENT:
|
||||||
DrawPanel->MouseToCursorSchema();
|
DrawPanel->MouseToCursorSchema();
|
||||||
ConvertTextType( (DrawTextStruct*) GetScreen()->GetCurItem(),
|
ConvertTextType( (DrawTextStruct*) GetScreen()->GetCurItem(),
|
||||||
|
@ -403,7 +410,7 @@ void WinEDA_SchematicFrame::Process_Special_Functions( wxCommandEvent& event )
|
||||||
|
|
||||||
case ID_POPUP_SCH_SET_SHAPE_TEXT:
|
case ID_POPUP_SCH_SET_SHAPE_TEXT:
|
||||||
|
|
||||||
// Non utilis<69>
|
// Not used
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ID_POPUP_SCH_ROTATE_FIELD:
|
case ID_POPUP_SCH_ROTATE_FIELD:
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
|
|
||||||
COMMON_GLOBL wxString g_BuildVersion
|
COMMON_GLOBL wxString g_BuildVersion
|
||||||
#ifdef EDA_BASE
|
#ifdef EDA_BASE
|
||||||
(wxT("(2008-02-13)"))
|
(wxT("(2008-02-20)"))
|
||||||
#endif
|
#endif
|
||||||
;
|
;
|
||||||
|
|
||||||
|
|
|
@ -355,7 +355,7 @@ enum main_id {
|
||||||
ID_POPUP_SCH_ADD_JUNCTION,
|
ID_POPUP_SCH_ADD_JUNCTION,
|
||||||
ID_POPUP_SCH_ADD_LABEL,
|
ID_POPUP_SCH_ADD_LABEL,
|
||||||
ID_POPUP_SCH_ADD_GLABEL,
|
ID_POPUP_SCH_ADD_GLABEL,
|
||||||
ID_POPUP_SCH_UNUSED0,
|
ID_POPUP_SCH_CHANGE_TYPE_TEXT_TO_HLABEL,
|
||||||
ID_POPUP_SCH_UNUSED1,
|
ID_POPUP_SCH_UNUSED1,
|
||||||
ID_POPUP_SCH_UNUSED2,
|
ID_POPUP_SCH_UNUSED2,
|
||||||
ID_POPUP_SCH_UNUSED3,
|
ID_POPUP_SCH_UNUSED3,
|
||||||
|
|
Binary file not shown.
|
@ -2,7 +2,7 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: kicad\n"
|
"Project-Id-Version: kicad\n"
|
||||||
"POT-Creation-Date: \n"
|
"POT-Creation-Date: \n"
|
||||||
"PO-Revision-Date: 2008-02-20 20:29+0100\n"
|
"PO-Revision-Date: 2008-02-21 07:51+0100\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: kicad team <jean-pierre.charras@ujf-grenoble.fr>\n"
|
"Language-Team: kicad team <jean-pierre.charras@ujf-grenoble.fr>\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
|
@ -3633,9 +3633,8 @@ msgid "Apply"
|
||||||
msgstr "Appliquer"
|
msgstr "Appliquer"
|
||||||
|
|
||||||
#: pcbnew/specctra_import.cpp:74
|
#: pcbnew/specctra_import.cpp:74
|
||||||
#, fuzzy
|
|
||||||
msgid "Merge Specctra Session file:"
|
msgid "Merge Specctra Session file:"
|
||||||
msgstr "Fichier Specctra DSN"
|
msgstr "Fichier Specctra Session à Fusionner:"
|
||||||
|
|
||||||
#: pcbnew/specctra_import.cpp:100
|
#: pcbnew/specctra_import.cpp:100
|
||||||
msgid "BOARD may be corrupted, do not save it."
|
msgid "BOARD may be corrupted, do not save it."
|
||||||
|
@ -3643,17 +3642,17 @@ msgstr "Le PCB peut
|
||||||
|
|
||||||
#: pcbnew/specctra_import.cpp:102
|
#: pcbnew/specctra_import.cpp:102
|
||||||
msgid "Fix problem and try again."
|
msgid "Fix problem and try again."
|
||||||
msgstr ""
|
msgstr "Fixer le problème et recommencer."
|
||||||
|
|
||||||
#: pcbnew/specctra_import.cpp:116
|
#: pcbnew/specctra_import.cpp:116
|
||||||
msgid "Session file imported and merged OK."
|
msgid "Session file imported and merged OK."
|
||||||
msgstr ""
|
msgstr "Fichier Session importé et fusionné correctement."
|
||||||
|
|
||||||
#: pcbnew/specctra_import.cpp:182
|
#: pcbnew/specctra_import.cpp:182
|
||||||
#: pcbnew/specctra_import.cpp:290
|
#: pcbnew/specctra_import.cpp:290
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Session file uses invalid layer id \"%s\""
|
msgid "Session file uses invalid layer id \"%s\""
|
||||||
msgstr ""
|
msgstr "Le Fichier Session utilise une couche invalide n° \"%s\""
|
||||||
|
|
||||||
#: pcbnew/specctra_import.cpp:232
|
#: pcbnew/specctra_import.cpp:232
|
||||||
msgid "Session via padstack has no shapes"
|
msgid "Session via padstack has no shapes"
|
||||||
|
@ -4434,9 +4433,8 @@ msgid "Last Change"
|
||||||
msgstr "Last Change"
|
msgstr "Last Change"
|
||||||
|
|
||||||
#: pcbnew/class_module.cpp:1076
|
#: pcbnew/class_module.cpp:1076
|
||||||
#, fuzzy
|
|
||||||
msgid "Netlist path"
|
msgid "Netlist path"
|
||||||
msgstr "Netliste: "
|
msgstr "Chemin Netliste "
|
||||||
|
|
||||||
#: pcbnew/class_module.cpp:1110
|
#: pcbnew/class_module.cpp:1110
|
||||||
msgid "3D-Shape"
|
msgid "3D-Shape"
|
||||||
|
@ -4575,14 +4573,14 @@ msgid "%s not found"
|
||||||
msgstr "%s non trouvé"
|
msgstr "%s non trouvé"
|
||||||
|
|
||||||
#: pcbnew/cross-probing.cpp:111
|
#: pcbnew/cross-probing.cpp:111
|
||||||
#, fuzzy, c-format
|
#, c-format
|
||||||
msgid "%s pin %s not found"
|
msgid "%s pin %s not found"
|
||||||
msgstr " fichier %s non trouvé"
|
msgstr "%s pin %s non trouvée"
|
||||||
|
|
||||||
#: pcbnew/cross-probing.cpp:113
|
#: pcbnew/cross-probing.cpp:113
|
||||||
#, fuzzy, c-format
|
#, c-format
|
||||||
msgid "%s pin %s found"
|
msgid "%s pin %s found"
|
||||||
msgstr " non trouvé"
|
msgstr "%s pin %s trouvée"
|
||||||
|
|
||||||
#: pcbnew/specctra_export.cpp:64
|
#: pcbnew/specctra_export.cpp:64
|
||||||
msgid "Specctra DSN file:"
|
msgid "Specctra DSN file:"
|
||||||
|
@ -4604,7 +4602,7 @@ msgstr "Le composant avec valeur \"%s\" a une r
|
||||||
#: pcbnew/specctra_export.cpp:728
|
#: pcbnew/specctra_export.cpp:728
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Multiple components have identical reference IDs of \"%s\"."
|
msgid "Multiple components have identical reference IDs of \"%s\"."
|
||||||
msgstr ""
|
msgstr "Multiple composants ont une reference identique \"%s\"."
|
||||||
|
|
||||||
#: pcbnew/class_drawsegment.cpp:161
|
#: pcbnew/class_drawsegment.cpp:161
|
||||||
msgid "Shape"
|
msgid "Shape"
|
||||||
|
@ -5607,9 +5605,9 @@ msgid "Warning HLabel %s not connected to SheetLabel"
|
||||||
msgstr "Attention HLabel %s non connecté a SheetLabel"
|
msgstr "Attention HLabel %s non connecté a SheetLabel"
|
||||||
|
|
||||||
#: eeschema/erc.cpp:562
|
#: eeschema/erc.cpp:562
|
||||||
#, fuzzy, c-format
|
#, c-format
|
||||||
msgid "Warning SheetLabel %s not connected to HLabel"
|
msgid "Warning SheetLabel %s not connected to HLabel"
|
||||||
msgstr "Warning SheetLabel %s non connecté a GLabel"
|
msgstr "Warning SheetLabel %s non connecté a HLabel"
|
||||||
|
|
||||||
#: eeschema/erc.cpp:576
|
#: eeschema/erc.cpp:576
|
||||||
#, c-format
|
#, c-format
|
||||||
|
@ -5645,22 +5643,21 @@ msgid "ERC control"
|
||||||
msgstr "Controle ERC"
|
msgstr "Controle ERC"
|
||||||
|
|
||||||
#: eeschema/erc.cpp:742
|
#: eeschema/erc.cpp:742
|
||||||
#, fuzzy
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"\n"
|
"\n"
|
||||||
"***** Sheet Root\n"
|
"***** Sheet Root\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"\n"
|
"\n"
|
||||||
"***** feuille %d (%s)\n"
|
"***** Feuillet Racine\n"
|
||||||
|
|
||||||
#: eeschema/erc.cpp:745
|
#: eeschema/erc.cpp:745
|
||||||
#, fuzzy, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"\n"
|
"\n"
|
||||||
"***** Sheet %s\n"
|
"***** Sheet %s\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"\n"
|
"\n"
|
||||||
"***** feuille %d (%s)\n"
|
"***** Feuille %s\n"
|
||||||
|
|
||||||
#: eeschema/erc.cpp:762
|
#: eeschema/erc.cpp:762
|
||||||
#, c-format
|
#, c-format
|
||||||
|
@ -6119,14 +6116,14 @@ msgstr ""
|
||||||
"#Cmp ( ordre = Valeur )"
|
"#Cmp ( ordre = Valeur )"
|
||||||
|
|
||||||
#: eeschema/dialog_build_BOM.cpp:1315
|
#: eeschema/dialog_build_BOM.cpp:1315
|
||||||
#, fuzzy, c-format
|
#, c-format
|
||||||
msgid "> %-28.28s %s (Sheet %s) pos: %3.3f, %3.3f\n"
|
msgid "> %-28.28s %s (Sheet %s) pos: %3.3f, %3.3f\n"
|
||||||
msgstr "> %-28.28s Global (feuille %.2d) pos: %3.3f, %3.3f\n"
|
msgstr "> %-28.28s %s (Feuille %s) pos: %3.3f, %3.3f\n"
|
||||||
|
|
||||||
#: eeschema/dialog_build_BOM.cpp:1335
|
#: eeschema/dialog_build_BOM.cpp:1335
|
||||||
#, fuzzy, c-format
|
#, c-format
|
||||||
msgid "> %-28.28s Sheet %-7.7s (Sheet %s) pos: %3.3f, %3.3f\n"
|
msgid "> %-28.28s Sheet %-7.7s (Sheet %s) pos: %3.3f, %3.3f\n"
|
||||||
msgstr "> %-28.28s Sheet %-7.7s (feuille %.2d) pos: %3.3f, %3.3f\n"
|
msgstr "> %-28.28s Sheet %-7.7s (Feuillet %s) pos: %3.3f, %3.3f\n"
|
||||||
|
|
||||||
#: eeschema/dialog_build_BOM.cpp:1349
|
#: eeschema/dialog_build_BOM.cpp:1349
|
||||||
msgid "#End labels\n"
|
msgid "#End labels\n"
|
||||||
|
@ -6834,7 +6831,7 @@ msgstr "Visualisateur des librairies"
|
||||||
|
|
||||||
#: eeschema/sheet.cpp:162
|
#: eeschema/sheet.cpp:162
|
||||||
msgid "Filename (will be created upon save if it does not already exist):"
|
msgid "Filename (will be created upon save if it does not already exist):"
|
||||||
msgstr ""
|
msgstr "Nom Fichier (sera crée à la sauvegarde si il n'existe pas déjà):"
|
||||||
|
|
||||||
#: eeschema/sheet.cpp:174
|
#: eeschema/sheet.cpp:174
|
||||||
msgid "Sheetname:"
|
msgid "Sheetname:"
|
||||||
|
@ -7099,26 +7096,22 @@ msgid "Place the bus to bus entry"
|
||||||
msgstr "Addition d'entrées de bus (type bus vers bus)"
|
msgstr "Addition d'entrées de bus (type bus vers bus)"
|
||||||
|
|
||||||
#: eeschema/menubar.cpp:254
|
#: eeschema/menubar.cpp:254
|
||||||
#, fuzzy
|
|
||||||
msgid "No connect flag"
|
msgid "No connect flag"
|
||||||
msgstr "Addition de symboles de non connexion"
|
msgstr "Symbole de Non Connexion"
|
||||||
|
|
||||||
#: eeschema/menubar.cpp:255
|
#: eeschema/menubar.cpp:255
|
||||||
#: eeschema/tool_sch.cpp:189
|
#: eeschema/tool_sch.cpp:189
|
||||||
#, fuzzy
|
|
||||||
msgid "Place the no connect flag"
|
msgid "Place the no connect flag"
|
||||||
msgstr "Addition de symboles de non connexion"
|
msgstr "Placer le symbole de non connexion"
|
||||||
|
|
||||||
#: eeschema/menubar.cpp:264
|
#: eeschema/menubar.cpp:264
|
||||||
#, fuzzy
|
|
||||||
msgid "Net name"
|
msgid "Net name"
|
||||||
msgstr "NetName"
|
msgstr "Net Name"
|
||||||
|
|
||||||
#: eeschema/menubar.cpp:265
|
#: eeschema/menubar.cpp:265
|
||||||
#: eeschema/tool_sch.cpp:193
|
#: eeschema/tool_sch.cpp:193
|
||||||
#, fuzzy
|
|
||||||
msgid "Place the net name"
|
msgid "Place the net name"
|
||||||
msgstr "Place Feuille"
|
msgstr "Placer le nom de net"
|
||||||
|
|
||||||
#: eeschema/menubar.cpp:272
|
#: eeschema/menubar.cpp:272
|
||||||
msgid "Global label"
|
msgid "Global label"
|
||||||
|
@ -7126,7 +7119,7 @@ msgstr "Label Global"
|
||||||
|
|
||||||
#: eeschema/menubar.cpp:273
|
#: eeschema/menubar.cpp:273
|
||||||
msgid "Place the global label. Warning: all global labels with the same name are connected in whole hierarchy"
|
msgid "Place the global label. Warning: all global labels with the same name are connected in whole hierarchy"
|
||||||
msgstr ""
|
msgstr "Placerun label global. Attention: tous les labels globaux avec le même nom sont connectés dans toute la hierarchie"
|
||||||
|
|
||||||
#: eeschema/menubar.cpp:282
|
#: eeschema/menubar.cpp:282
|
||||||
#: eeschema/eelayer.h:85
|
#: eeschema/eelayer.h:85
|
||||||
|
@ -7215,9 +7208,8 @@ msgid "&Edit"
|
||||||
msgstr "&Editer"
|
msgstr "&Editer"
|
||||||
|
|
||||||
#: eeschema/menubar.cpp:407
|
#: eeschema/menubar.cpp:407
|
||||||
#, fuzzy
|
|
||||||
msgid "&View"
|
msgid "&View"
|
||||||
msgstr "&ViewLogic"
|
msgstr "&Voir"
|
||||||
|
|
||||||
#: eeschema/menubar.cpp:408
|
#: eeschema/menubar.cpp:408
|
||||||
msgid "&Place"
|
msgid "&Place"
|
||||||
|
@ -10562,7 +10554,6 @@ msgid "SheetLabel (Pin Sheet)"
|
||||||
msgstr "Supprimer Connecteur de hiérarchie"
|
msgstr "Supprimer Connecteur de hiérarchie"
|
||||||
|
|
||||||
#: eeschema/eelayer.h:195
|
#: eeschema/eelayer.h:195
|
||||||
#, fuzzy
|
|
||||||
msgid "Hierarchical Label"
|
msgid "Hierarchical Label"
|
||||||
msgstr "Label Hiérarchique"
|
msgstr "Label Hiérarchique"
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue