seuls les noms des rectangles et connecteurs du pere sont conserves.

il semble que tous les noms sont mis a plat (mis dans le pere) ce qui cause
des problemes au parser qui ne peut reattribuer les noms au bons rectangles.
This commit is contained in:
Franck Wajsburt 2002-04-18 19:16:43 +00:00
parent d583752f77
commit ae0ab264d6
2 changed files with 22 additions and 7 deletions

View File

@ -42,6 +42,9 @@
| Constants |
| |
\------------------------------------------------------------*/
int FIRST_MODEL;
/*------------------------------------------------------------\
| |
| Macros |
@ -369,7 +372,8 @@ coord_t tab[6]; /* last one reserved for text */
/* If the rectangle contains some text, even if it is not a connector,
we drive the text: nodes should be sufficients.
Frederic Petrot: 10/04/96 */
if (rect->NAME != NULL) {
/* sauve uniquement les noms du premier model (le pere) 18/04/2002 FW */
if (FIRST_MODEL && rect->NAME != NULL) {
entete(TEXT, 0);
entete(LAYER0, sizeof(short));
@ -667,10 +671,12 @@ ptype_list *model_list;
free(m_unit);
controle(1);
FIRST_MODEL = 1;
while (model_list) {
if (pv_sauve_modele((rdsfig_list *)model_list->DATA, fp, &date) < 0)
EXIT(1);
model_list = model_list->NEXT;
FIRST_MODEL = 0;
}
entete(ENDLIB, 0);

View File

@ -145,12 +145,24 @@ static node_list *HEAD_NODE; /* text list in the GDS file */
( Y >= Scan->Y ) &&
( X <= Scan->X + Scan->DX ) &&
( Y <= Scan->Y + Scan->DY ) &&
( Scan->NAME == NULL ) &&
IsRdsReference (Scan))
{
return Scan;
}
}
for ( Scan = Figure->LAYERTAB[ (int)Layer ];
Scan != (rdsrec_list * )NULL;
Scan = Scan->NEXT)
{
if ( ( X >= Scan->X ) &&
( Y >= Scan->Y ) &&
( X <= Scan->X + Scan->DX ) &&
( Y <= Scan->Y + Scan->DY ) )
{
return Scan;
}
}
return ( (rdsrec_list * )NULL );
}
@ -1146,16 +1158,13 @@ rdsrec_list *Rec;
ScanNode != (node_list *)NULL;
ScanNode = ScanNode->NEXT )
{
Rec = GdsGetRectangle( Figure, ScanNode->X, ScanNode->Y,
ScanNode->LAYER );
Rec = GdsGetRectangle( Figure, ScanNode->X, ScanNode->Y, ScanNode->LAYER );
if ( Rec == (rdsrec_list *)NULL )
{
sprintf(poubelle, "X: %ld, Y: %ld, Rds Layer: %d Name: %s",
ScanNode->X, ScanNode->Y,
ScanNode->LAYER, ScanNode->NAME);
pv_emet_warning(Figure->NAME, "Unconnected node :",
poubelle);
pv_emet_warning(Figure->NAME, "Unconnected node :", poubelle);
}
else
Rec->NAME = ScanNode->NAME;