Loading cvpcb/listlib.cpp +18 −21 Original line number Diff line number Diff line Loading @@ -21,9 +21,9 @@ #include "dialog_load_error.h" /* MDC file strings */ wxString mdc_files_not_found; wxString mdc_files_invalid; /* MDC and MOD file strings */ static wxString s_files_not_found; static wxString s_files_invalid; /* routines locales : */ static void ReadDocLib( const wxString& ModLibName, FOOTPRINT_LIST& list ); Loading Loading @@ -76,7 +76,7 @@ bool LoadFootprintFiles( const wxArrayString& libNames, if( !tmp ) { mdc_files_not_found << filename.GetFullName() << wxT("\n"); s_files_not_found << filename.GetFullName() << wxT("\n"); continue; } Loading @@ -85,7 +85,7 @@ bool LoadFootprintFiles( const wxArrayString& libNames, if( file == NULL ) { mdc_files_invalid << tmp << _(" (file cannot be opened)") << wxT("\n"); s_files_invalid << tmp << _(" (file cannot be opened)") << wxT("\n"); continue; } Loading @@ -93,7 +93,7 @@ bool LoadFootprintFiles( const wxArrayString& libNames, fgets( buffer, 32, file ); if( strncmp( buffer, ENTETE_LIBRAIRIE, L_ENTETE_LIB ) != 0 ) { mdc_files_invalid << tmp << _(" (Not a Kicad file)") << wxT("\n"); s_files_invalid << tmp << _(" (Not a Kicad file)") << wxT("\n"); fclose( file ); continue; } Loading Loading @@ -123,7 +123,7 @@ bool LoadFootprintFiles( const wxArrayString& libNames, if( !end ) { mdc_files_invalid << tmp << _(" (Unexpected end of file)") << wxT("\n"); s_files_invalid << tmp << _(" (Unexpected end of file)") << wxT("\n"); } } } Loading @@ -132,27 +132,24 @@ bool LoadFootprintFiles( const wxArrayString& libNames, ReadDocLib( tmp, list ); } /* Display if there are mdc files not found */ if( !mdc_files_not_found.IsEmpty() || !mdc_files_invalid.IsEmpty() ) if( !s_files_not_found.IsEmpty() || !s_files_invalid.IsEmpty() ) { DIALOG_LOAD_ERROR dialog(NULL); if( !mdc_files_not_found.IsEmpty() ) if( !s_files_not_found.IsEmpty() ) { wxString message = _("Some MDC files could not be found!"); wxString message = _("Some files could not be found!"); dialog.MessageSet(message); dialog.ListSet(mdc_files_not_found); mdc_files_not_found.Empty(); dialog.ListSet(s_files_not_found); s_files_not_found.Empty(); } /* Display if there are mdc files invalid */ if( !mdc_files_invalid.IsEmpty() ) if( !s_files_invalid.IsEmpty() ) { dialog.MessageSet( _("Some MDC files are invalid!")); dialog.ListSet(mdc_files_invalid); mdc_files_invalid.Empty(); dialog.MessageSet( _("Some files are invalid!")); dialog.ListSet(s_files_invalid); s_files_invalid.Empty(); } dialog.ShowModal(); } Loading Loading @@ -184,7 +181,7 @@ ReadDocLib( const wxString& ModLibName, /* Check if mdc file exists and can be opened */ if( ( mdc_file = wxFopen( mdc_filename.GetFullPath(), wxT( "rt" ) ) ) == NULL ) { mdc_files_not_found += mdc_filename.GetFullPath() + wxT("\n"); s_files_not_found += mdc_filename.GetFullPath() + wxT("\n"); return; } Loading @@ -192,7 +189,7 @@ ReadDocLib( const wxString& ModLibName, GetLine( mdc_file, Line, NULL, sizeof(Line) - 1 ); if( strnicmp( Line, ENTETE_LIBDOC, L_ENTETE_LIB ) != 0 ) { mdc_files_invalid += mdc_filename.GetFullPath() + wxT("\n"); s_files_invalid += mdc_filename.GetFullPath() + wxT("\n"); return; } Loading eeschema/netlist.cpp +43 −47 Original line number Diff line number Diff line Loading @@ -83,7 +83,7 @@ void WinEDA_SchematicFrame::BuildNetListBase() */ { int NetNumber; int i, NetCode; int NetCode; DrawSheetPath* sheet; wxString msg, activity; wxBusyCursor Busy; Loading @@ -97,7 +97,6 @@ void WinEDA_SchematicFrame::BuildNetListBase() /* Build the sheet (not screen) list (flattened)*/ EDA_SheetList SheetListList; i = 0; /* Fill g_NetObjectslist with items used in connectivity calculation */ Loading @@ -122,14 +121,16 @@ void WinEDA_SchematicFrame::BuildNetListBase() sheet = &(g_NetObjectslist[0]->m_SheetList); LastNetCode = LastBusNetCode = 1; for( unsigned i = 0, istart = 0; i < g_NetObjectslist.size(); i++ ) for( unsigned ii = 0, istart = 0; ii < g_NetObjectslist.size(); ii++ ) { if( g_NetObjectslist[i]->m_SheetList != *sheet ) NETLIST_OBJECT* net_item = g_NetObjectslist[ii]; if( net_item->m_SheetList != *sheet ) // Sheet change { sheet = &(g_NetObjectslist[i]->m_SheetList); sheet = &(net_item->m_SheetList); istart = ii; } switch( g_NetObjectslist[i]->m_Type ) switch( net_item->m_Type ) { case NET_ITEM_UNSPECIFIED: wxMessageBox(wxT("BuildNetListBase() error")); Loading @@ -138,73 +139,73 @@ void WinEDA_SchematicFrame::BuildNetListBase() case NET_PINLABEL: case NET_SHEETLABEL: case NET_NOCONNECT: if( g_NetObjectslist[i]->GetNet() != 0 ) if( net_item->GetNet() != 0 ) break; /* Deja connecte */ case NET_SEGMENT: /* Controle des connexions type point a point ( Sans BUS ) */ if( g_NetObjectslist[i]->GetNet() == 0 ) if( net_item->GetNet() == 0 ) { g_NetObjectslist[i]->SetNet( LastNetCode ); net_item->SetNet( LastNetCode ); LastNetCode++; } PointToPointConnect( g_NetObjectslist[i], 0, istart ); PointToPointConnect( net_item, 0, istart ); break; case NET_JONCTION: /* Controle des jonction , hors BUS */ if( g_NetObjectslist[i]->GetNet() == 0 ) if( net_item->GetNet() == 0 ) { g_NetObjectslist[i]->SetNet( LastNetCode ); net_item->SetNet( LastNetCode ); LastNetCode++; } SegmentToPointConnect( g_NetObjectslist[i], 0, istart ); SegmentToPointConnect( net_item, 0, istart ); /* Controle des jonction , sur BUS */ if( g_NetObjectslist[i]->m_BusNetCode == 0 ) if( net_item->m_BusNetCode == 0 ) { g_NetObjectslist[i]->m_BusNetCode = LastBusNetCode; net_item->m_BusNetCode = LastBusNetCode; LastBusNetCode++; } SegmentToPointConnect( g_NetObjectslist[i], ISBUS, istart ); SegmentToPointConnect( net_item, ISBUS, istart ); break; case NET_LABEL: case NET_HIERLABEL: case NET_GLOBLABEL: /* Controle des connexions type jonction ( Sans BUS ) */ if( g_NetObjectslist[i]->GetNet() == 0 ) if( net_item->GetNet() == 0 ) { g_NetObjectslist[i]->SetNet( LastNetCode ); net_item->SetNet( LastNetCode ); LastNetCode++; } SegmentToPointConnect( g_NetObjectslist[i], 0, istart ); SegmentToPointConnect( net_item, 0, istart ); break; case NET_SHEETBUSLABELMEMBER: if( g_NetObjectslist[i]->m_BusNetCode != 0 ) if( net_item->m_BusNetCode != 0 ) break; /* Deja connecte */ case NET_BUS: /* Controle des connexions type point a point mode BUS */ if( g_NetObjectslist[i]->m_BusNetCode == 0 ) if( net_item->m_BusNetCode == 0 ) { g_NetObjectslist[i]->m_BusNetCode = LastBusNetCode; net_item->m_BusNetCode = LastBusNetCode; LastBusNetCode++; } PointToPointConnect( g_NetObjectslist[i], ISBUS, istart ); PointToPointConnect( net_item, ISBUS, istart ); break; case NET_BUSLABELMEMBER: case NET_HIERBUSLABELMEMBER: case NET_GLOBBUSLABELMEMBER: /* Controle des connexions semblables a des sur BUS */ if( g_NetObjectslist[i]->GetNet() == 0 ) if( net_item->GetNet() == 0 ) { g_NetObjectslist[i]->m_BusNetCode = LastBusNetCode; net_item->m_BusNetCode = LastBusNetCode; LastBusNetCode++; } SegmentToPointConnect( g_NetObjectslist[i], ISBUS, istart ); SegmentToPointConnect( net_item, ISBUS, istart ); break; } } Loading @@ -225,9 +226,9 @@ void WinEDA_SchematicFrame::BuildNetListBase() SetStatusText( activity ); /* Connections des groupes d'objets par labels identiques */ for( unsigned i = 0; i<g_NetObjectslist.size(); i++ ) for( unsigned ii = 0; ii < g_NetObjectslist.size(); ii++ ) { switch( g_NetObjectslist[i]->m_Type ) switch( g_NetObjectslist[ii]->m_Type ) { case NET_PIN: case NET_SHEETLABEL: Loading @@ -242,7 +243,7 @@ void WinEDA_SchematicFrame::BuildNetListBase() case NET_PINLABEL: case NET_BUSLABELMEMBER: case NET_GLOBBUSLABELMEMBER: LabelConnect( g_NetObjectslist[i] ); LabelConnect( g_NetObjectslist[ii] ); break; case NET_SHEETBUSLABELMEMBER: Loading @@ -265,18 +266,16 @@ void WinEDA_SchematicFrame::BuildNetListBase() /* Connexion des hierarchies */ activity << wxT( "; " ) << _( "Hierar." ); SetStatusText( activity ); for( unsigned i = 0; i< g_NetObjectslist.size(); i++ ) for( unsigned ii = 0; ii < g_NetObjectslist.size(); ii++ ) { if( g_NetObjectslist[i]->m_Type == NET_SHEETLABEL || g_NetObjectslist[i]->m_Type == NET_SHEETBUSLABELMEMBER ) SheetLabelConnect( g_NetObjectslist[i] ); if( g_NetObjectslist[ii]->m_Type == NET_SHEETLABEL || g_NetObjectslist[ii]->m_Type == NET_SHEETBUSLABELMEMBER ) SheetLabelConnect( g_NetObjectslist[ii] ); } /* Sort objects by NetCode */ sort( g_NetObjectslist.begin(), g_NetObjectslist.end(), SortItemsbyNetcode ); #if defined(NETLIST_DEBUG) && defined(DEBUG) std::cout << "after qsort()\n"; dumpNetTable(); Loading @@ -286,22 +285,17 @@ void WinEDA_SchematicFrame::BuildNetListBase() SetStatusText( activity ); /* Compression des numeros de NetCode a des valeurs consecutives */ activity << wxT( "; " ) << _( "Sorting Nets" ); SetStatusText( activity ); LastNetCode = NetCode = 0; for( unsigned i = 0; i < g_NetObjectslist.size(); i++ ) for( unsigned ii = 0; ii < g_NetObjectslist.size(); ii++ ) { if( g_NetObjectslist[i]->GetNet() != LastNetCode ) if( g_NetObjectslist[ii]->GetNet() != LastNetCode ) { NetCode++; LastNetCode = g_NetObjectslist[i]->GetNet(); LastNetCode = g_NetObjectslist[ii]->GetNet(); } g_NetObjectslist[i]->SetNet( NetCode ); g_NetObjectslist[ii]->SetNet( NetCode ); } activity << wxT( " " ) << _( "Done" ); SetStatusText( activity ); /* Affectation du m_FlagOfConnection en fonction de connection ou non */ SetUnconnectedFlag( g_NetObjectslist ); } Loading @@ -319,9 +313,9 @@ static void SheetLabelConnect( NETLIST_OBJECT* SheetLabel ) /* Comparaison du SheetLabel avec les GLABELS de la sous feuille * pour regroupement des NetCodes */ for( unsigned i = 0; i < g_NetObjectslist.size(); i++ ) for( unsigned ii = 0; ii < g_NetObjectslist.size(); ii++ ) { NETLIST_OBJECT* ObjetNet = g_NetObjectslist[i]; NETLIST_OBJECT* ObjetNet = g_NetObjectslist[ii]; if( ObjetNet->m_SheetList != SheetLabel->m_SheetListInclude ) continue; //use SheetInclude, not the sheet!! Loading @@ -332,12 +326,14 @@ static void SheetLabelConnect( NETLIST_OBJECT* SheetLabel ) if( ObjetNet->GetNet() == SheetLabel->GetNet() ) continue; //already connected. wxASSERT(ObjetNet->m_Label); wxASSERT(SheetLabel->m_Label); if( ObjetNet->m_Label->CmpNoCase( *SheetLabel->m_Label ) != 0 ) continue; //different names. /* Propagation du Netcode a tous les Objets de meme NetCode */ if( ObjetNet->GetNet() ) PropageNetCode( ObjetNet[i].GetNet(), SheetLabel->GetNet(), 0 ); PropageNetCode( ObjetNet->GetNet(), SheetLabel->GetNet(), 0 ); else ObjetNet->SetNet( SheetLabel->GetNet() ); } Loading Loading
cvpcb/listlib.cpp +18 −21 Original line number Diff line number Diff line Loading @@ -21,9 +21,9 @@ #include "dialog_load_error.h" /* MDC file strings */ wxString mdc_files_not_found; wxString mdc_files_invalid; /* MDC and MOD file strings */ static wxString s_files_not_found; static wxString s_files_invalid; /* routines locales : */ static void ReadDocLib( const wxString& ModLibName, FOOTPRINT_LIST& list ); Loading Loading @@ -76,7 +76,7 @@ bool LoadFootprintFiles( const wxArrayString& libNames, if( !tmp ) { mdc_files_not_found << filename.GetFullName() << wxT("\n"); s_files_not_found << filename.GetFullName() << wxT("\n"); continue; } Loading @@ -85,7 +85,7 @@ bool LoadFootprintFiles( const wxArrayString& libNames, if( file == NULL ) { mdc_files_invalid << tmp << _(" (file cannot be opened)") << wxT("\n"); s_files_invalid << tmp << _(" (file cannot be opened)") << wxT("\n"); continue; } Loading @@ -93,7 +93,7 @@ bool LoadFootprintFiles( const wxArrayString& libNames, fgets( buffer, 32, file ); if( strncmp( buffer, ENTETE_LIBRAIRIE, L_ENTETE_LIB ) != 0 ) { mdc_files_invalid << tmp << _(" (Not a Kicad file)") << wxT("\n"); s_files_invalid << tmp << _(" (Not a Kicad file)") << wxT("\n"); fclose( file ); continue; } Loading Loading @@ -123,7 +123,7 @@ bool LoadFootprintFiles( const wxArrayString& libNames, if( !end ) { mdc_files_invalid << tmp << _(" (Unexpected end of file)") << wxT("\n"); s_files_invalid << tmp << _(" (Unexpected end of file)") << wxT("\n"); } } } Loading @@ -132,27 +132,24 @@ bool LoadFootprintFiles( const wxArrayString& libNames, ReadDocLib( tmp, list ); } /* Display if there are mdc files not found */ if( !mdc_files_not_found.IsEmpty() || !mdc_files_invalid.IsEmpty() ) if( !s_files_not_found.IsEmpty() || !s_files_invalid.IsEmpty() ) { DIALOG_LOAD_ERROR dialog(NULL); if( !mdc_files_not_found.IsEmpty() ) if( !s_files_not_found.IsEmpty() ) { wxString message = _("Some MDC files could not be found!"); wxString message = _("Some files could not be found!"); dialog.MessageSet(message); dialog.ListSet(mdc_files_not_found); mdc_files_not_found.Empty(); dialog.ListSet(s_files_not_found); s_files_not_found.Empty(); } /* Display if there are mdc files invalid */ if( !mdc_files_invalid.IsEmpty() ) if( !s_files_invalid.IsEmpty() ) { dialog.MessageSet( _("Some MDC files are invalid!")); dialog.ListSet(mdc_files_invalid); mdc_files_invalid.Empty(); dialog.MessageSet( _("Some files are invalid!")); dialog.ListSet(s_files_invalid); s_files_invalid.Empty(); } dialog.ShowModal(); } Loading Loading @@ -184,7 +181,7 @@ ReadDocLib( const wxString& ModLibName, /* Check if mdc file exists and can be opened */ if( ( mdc_file = wxFopen( mdc_filename.GetFullPath(), wxT( "rt" ) ) ) == NULL ) { mdc_files_not_found += mdc_filename.GetFullPath() + wxT("\n"); s_files_not_found += mdc_filename.GetFullPath() + wxT("\n"); return; } Loading @@ -192,7 +189,7 @@ ReadDocLib( const wxString& ModLibName, GetLine( mdc_file, Line, NULL, sizeof(Line) - 1 ); if( strnicmp( Line, ENTETE_LIBDOC, L_ENTETE_LIB ) != 0 ) { mdc_files_invalid += mdc_filename.GetFullPath() + wxT("\n"); s_files_invalid += mdc_filename.GetFullPath() + wxT("\n"); return; } Loading
eeschema/netlist.cpp +43 −47 Original line number Diff line number Diff line Loading @@ -83,7 +83,7 @@ void WinEDA_SchematicFrame::BuildNetListBase() */ { int NetNumber; int i, NetCode; int NetCode; DrawSheetPath* sheet; wxString msg, activity; wxBusyCursor Busy; Loading @@ -97,7 +97,6 @@ void WinEDA_SchematicFrame::BuildNetListBase() /* Build the sheet (not screen) list (flattened)*/ EDA_SheetList SheetListList; i = 0; /* Fill g_NetObjectslist with items used in connectivity calculation */ Loading @@ -122,14 +121,16 @@ void WinEDA_SchematicFrame::BuildNetListBase() sheet = &(g_NetObjectslist[0]->m_SheetList); LastNetCode = LastBusNetCode = 1; for( unsigned i = 0, istart = 0; i < g_NetObjectslist.size(); i++ ) for( unsigned ii = 0, istart = 0; ii < g_NetObjectslist.size(); ii++ ) { if( g_NetObjectslist[i]->m_SheetList != *sheet ) NETLIST_OBJECT* net_item = g_NetObjectslist[ii]; if( net_item->m_SheetList != *sheet ) // Sheet change { sheet = &(g_NetObjectslist[i]->m_SheetList); sheet = &(net_item->m_SheetList); istart = ii; } switch( g_NetObjectslist[i]->m_Type ) switch( net_item->m_Type ) { case NET_ITEM_UNSPECIFIED: wxMessageBox(wxT("BuildNetListBase() error")); Loading @@ -138,73 +139,73 @@ void WinEDA_SchematicFrame::BuildNetListBase() case NET_PINLABEL: case NET_SHEETLABEL: case NET_NOCONNECT: if( g_NetObjectslist[i]->GetNet() != 0 ) if( net_item->GetNet() != 0 ) break; /* Deja connecte */ case NET_SEGMENT: /* Controle des connexions type point a point ( Sans BUS ) */ if( g_NetObjectslist[i]->GetNet() == 0 ) if( net_item->GetNet() == 0 ) { g_NetObjectslist[i]->SetNet( LastNetCode ); net_item->SetNet( LastNetCode ); LastNetCode++; } PointToPointConnect( g_NetObjectslist[i], 0, istart ); PointToPointConnect( net_item, 0, istart ); break; case NET_JONCTION: /* Controle des jonction , hors BUS */ if( g_NetObjectslist[i]->GetNet() == 0 ) if( net_item->GetNet() == 0 ) { g_NetObjectslist[i]->SetNet( LastNetCode ); net_item->SetNet( LastNetCode ); LastNetCode++; } SegmentToPointConnect( g_NetObjectslist[i], 0, istart ); SegmentToPointConnect( net_item, 0, istart ); /* Controle des jonction , sur BUS */ if( g_NetObjectslist[i]->m_BusNetCode == 0 ) if( net_item->m_BusNetCode == 0 ) { g_NetObjectslist[i]->m_BusNetCode = LastBusNetCode; net_item->m_BusNetCode = LastBusNetCode; LastBusNetCode++; } SegmentToPointConnect( g_NetObjectslist[i], ISBUS, istart ); SegmentToPointConnect( net_item, ISBUS, istart ); break; case NET_LABEL: case NET_HIERLABEL: case NET_GLOBLABEL: /* Controle des connexions type jonction ( Sans BUS ) */ if( g_NetObjectslist[i]->GetNet() == 0 ) if( net_item->GetNet() == 0 ) { g_NetObjectslist[i]->SetNet( LastNetCode ); net_item->SetNet( LastNetCode ); LastNetCode++; } SegmentToPointConnect( g_NetObjectslist[i], 0, istart ); SegmentToPointConnect( net_item, 0, istart ); break; case NET_SHEETBUSLABELMEMBER: if( g_NetObjectslist[i]->m_BusNetCode != 0 ) if( net_item->m_BusNetCode != 0 ) break; /* Deja connecte */ case NET_BUS: /* Controle des connexions type point a point mode BUS */ if( g_NetObjectslist[i]->m_BusNetCode == 0 ) if( net_item->m_BusNetCode == 0 ) { g_NetObjectslist[i]->m_BusNetCode = LastBusNetCode; net_item->m_BusNetCode = LastBusNetCode; LastBusNetCode++; } PointToPointConnect( g_NetObjectslist[i], ISBUS, istart ); PointToPointConnect( net_item, ISBUS, istart ); break; case NET_BUSLABELMEMBER: case NET_HIERBUSLABELMEMBER: case NET_GLOBBUSLABELMEMBER: /* Controle des connexions semblables a des sur BUS */ if( g_NetObjectslist[i]->GetNet() == 0 ) if( net_item->GetNet() == 0 ) { g_NetObjectslist[i]->m_BusNetCode = LastBusNetCode; net_item->m_BusNetCode = LastBusNetCode; LastBusNetCode++; } SegmentToPointConnect( g_NetObjectslist[i], ISBUS, istart ); SegmentToPointConnect( net_item, ISBUS, istart ); break; } } Loading @@ -225,9 +226,9 @@ void WinEDA_SchematicFrame::BuildNetListBase() SetStatusText( activity ); /* Connections des groupes d'objets par labels identiques */ for( unsigned i = 0; i<g_NetObjectslist.size(); i++ ) for( unsigned ii = 0; ii < g_NetObjectslist.size(); ii++ ) { switch( g_NetObjectslist[i]->m_Type ) switch( g_NetObjectslist[ii]->m_Type ) { case NET_PIN: case NET_SHEETLABEL: Loading @@ -242,7 +243,7 @@ void WinEDA_SchematicFrame::BuildNetListBase() case NET_PINLABEL: case NET_BUSLABELMEMBER: case NET_GLOBBUSLABELMEMBER: LabelConnect( g_NetObjectslist[i] ); LabelConnect( g_NetObjectslist[ii] ); break; case NET_SHEETBUSLABELMEMBER: Loading @@ -265,18 +266,16 @@ void WinEDA_SchematicFrame::BuildNetListBase() /* Connexion des hierarchies */ activity << wxT( "; " ) << _( "Hierar." ); SetStatusText( activity ); for( unsigned i = 0; i< g_NetObjectslist.size(); i++ ) for( unsigned ii = 0; ii < g_NetObjectslist.size(); ii++ ) { if( g_NetObjectslist[i]->m_Type == NET_SHEETLABEL || g_NetObjectslist[i]->m_Type == NET_SHEETBUSLABELMEMBER ) SheetLabelConnect( g_NetObjectslist[i] ); if( g_NetObjectslist[ii]->m_Type == NET_SHEETLABEL || g_NetObjectslist[ii]->m_Type == NET_SHEETBUSLABELMEMBER ) SheetLabelConnect( g_NetObjectslist[ii] ); } /* Sort objects by NetCode */ sort( g_NetObjectslist.begin(), g_NetObjectslist.end(), SortItemsbyNetcode ); #if defined(NETLIST_DEBUG) && defined(DEBUG) std::cout << "after qsort()\n"; dumpNetTable(); Loading @@ -286,22 +285,17 @@ void WinEDA_SchematicFrame::BuildNetListBase() SetStatusText( activity ); /* Compression des numeros de NetCode a des valeurs consecutives */ activity << wxT( "; " ) << _( "Sorting Nets" ); SetStatusText( activity ); LastNetCode = NetCode = 0; for( unsigned i = 0; i < g_NetObjectslist.size(); i++ ) for( unsigned ii = 0; ii < g_NetObjectslist.size(); ii++ ) { if( g_NetObjectslist[i]->GetNet() != LastNetCode ) if( g_NetObjectslist[ii]->GetNet() != LastNetCode ) { NetCode++; LastNetCode = g_NetObjectslist[i]->GetNet(); LastNetCode = g_NetObjectslist[ii]->GetNet(); } g_NetObjectslist[i]->SetNet( NetCode ); g_NetObjectslist[ii]->SetNet( NetCode ); } activity << wxT( " " ) << _( "Done" ); SetStatusText( activity ); /* Affectation du m_FlagOfConnection en fonction de connection ou non */ SetUnconnectedFlag( g_NetObjectslist ); } Loading @@ -319,9 +313,9 @@ static void SheetLabelConnect( NETLIST_OBJECT* SheetLabel ) /* Comparaison du SheetLabel avec les GLABELS de la sous feuille * pour regroupement des NetCodes */ for( unsigned i = 0; i < g_NetObjectslist.size(); i++ ) for( unsigned ii = 0; ii < g_NetObjectslist.size(); ii++ ) { NETLIST_OBJECT* ObjetNet = g_NetObjectslist[i]; NETLIST_OBJECT* ObjetNet = g_NetObjectslist[ii]; if( ObjetNet->m_SheetList != SheetLabel->m_SheetListInclude ) continue; //use SheetInclude, not the sheet!! Loading @@ -332,12 +326,14 @@ static void SheetLabelConnect( NETLIST_OBJECT* SheetLabel ) if( ObjetNet->GetNet() == SheetLabel->GetNet() ) continue; //already connected. wxASSERT(ObjetNet->m_Label); wxASSERT(SheetLabel->m_Label); if( ObjetNet->m_Label->CmpNoCase( *SheetLabel->m_Label ) != 0 ) continue; //different names. /* Propagation du Netcode a tous les Objets de meme NetCode */ if( ObjetNet->GetNet() ) PropageNetCode( ObjetNet[i].GetNet(), SheetLabel->GetNet(), 0 ); PropageNetCode( ObjetNet->GetNet(), SheetLabel->GetNet(), 0 ); else ObjetNet->SetNet( SheetLabel->GetNet() ); } Loading