Repair Eagle importer page number handling.
The root sheet needs a page number, and the other sheets need to not have their last step in the path duplicated. Fixes https://gitlab.com/kicad/code/kicad/issues/11409
This commit is contained in:
parent
046045f9de
commit
aaff163d7c
|
@ -692,15 +692,21 @@ void SCH_EAGLE_PLUGIN::loadSchematic( wxXmlNode* aSchematicNode )
|
||||||
if( sheet_count > 1 )
|
if( sheet_count > 1 )
|
||||||
{
|
{
|
||||||
int x, y, i;
|
int x, y, i;
|
||||||
i = 1;
|
i = 2;
|
||||||
x = 1;
|
x = 1;
|
||||||
y = 1;
|
y = 1;
|
||||||
|
|
||||||
|
SCH_SHEET_PATH rootsheetpath;
|
||||||
|
rootsheetpath.push_back( m_rootSheet );
|
||||||
|
m_rootSheet->AddInstance( rootsheetpath );
|
||||||
|
m_rootSheet->SetPageNumber( rootsheetpath, "1" );
|
||||||
|
|
||||||
while( sheetNode )
|
while( sheetNode )
|
||||||
{
|
{
|
||||||
VECTOR2I pos = VECTOR2I( x * Mils2iu( 1000 ), y * Mils2iu( 1000 ) );
|
VECTOR2I pos = VECTOR2I( x * Mils2iu( 1000 ), y * Mils2iu( 1000 ) );
|
||||||
std::unique_ptr<SCH_SHEET> sheet = std::make_unique<SCH_SHEET>( m_rootSheet, pos );
|
std::unique_ptr<SCH_SHEET> sheet = std::make_unique<SCH_SHEET>( m_rootSheet, pos );
|
||||||
SCH_SCREEN* screen = new SCH_SCREEN( m_schematic );
|
SCH_SCREEN* screen = new SCH_SCREEN( m_schematic );
|
||||||
|
wxString pageNo = wxString::Format( "%d", i );
|
||||||
|
|
||||||
sheet->SetScreen( screen );
|
sheet->SetScreen( screen );
|
||||||
sheet->GetScreen()->SetFileName( sheet->GetFileName() );
|
sheet->GetScreen()->SetFileName( sheet->GetFileName() );
|
||||||
|
@ -711,10 +717,10 @@ void SCH_EAGLE_PLUGIN::loadSchematic( wxXmlNode* aSchematicNode )
|
||||||
|
|
||||||
SCH_SHEET_PATH sheetpath;
|
SCH_SHEET_PATH sheetpath;
|
||||||
m_rootSheet->LocatePathOfScreen( m_currentSheet->GetScreen(), &sheetpath );
|
m_rootSheet->LocatePathOfScreen( m_currentSheet->GetScreen(), &sheetpath );
|
||||||
sheetpath.push_back( m_currentSheet );
|
m_currentSheet->AddInstance( sheetpath );
|
||||||
|
m_currentSheet->SetPageNumber( sheetpath, pageNo );
|
||||||
m_rootSheet->AddInstance( sheetpath );
|
m_rootSheet->AddInstance( sheetpath );
|
||||||
m_rootSheet->SetPageNumber( sheetpath, wxString::Format( "%d", i ) );
|
m_rootSheet->SetPageNumber( sheetpath, pageNo );
|
||||||
|
|
||||||
sheetNode = sheetNode->GetNext();
|
sheetNode = sheetNode->GetNext();
|
||||||
x += 2;
|
x += 2;
|
||||||
|
|
Loading…
Reference in New Issue