Loading eeschema/backanno.cpp +44 −29 Original line number Original line Diff line number Diff line Loading @@ -38,17 +38,28 @@ SCH_COMPONENT * WinEDA_SchematicFrame::FindComponentByRef( } } } } } } return NULL; return NULL; } } /**************************************************************/ /**************************************************************/ bool WinEDA_SchematicFrame::ProcessStuffFile( FILE* StuffFile ) bool WinEDA_SchematicFrame::ProcessStuffFile( FILE* StuffFile ) /**************************************************************/ /**************************************************************/ /* Read a "stuff" file created by cvpcb. * That file has lines like: * comp = "C1" module = "CP6" * comp = "C2" module = "C1" * comp = "C3" module = "C1" * "comp =" gives the component reference * "module =" gives the footprint name * */ { { int LineNum = 0; int LineNum = 0; char* cp, Ref[256], FootPrint[256], Line[1024]; char* cp, Ref[256], FootPrint[256], Line[1024]; SCH_COMPONENT* Cmp; SCH_COMPONENT* Cmp; PartTextStruct* TextField; while( GetLine( StuffFile, Line, &LineNum, sizeof(Line) ) ) while( GetLine( StuffFile, Line, &LineNum, sizeof(Line) ) ) { { Loading @@ -68,12 +79,16 @@ bool WinEDA_SchematicFrame::ProcessStuffFile( FILE* StuffFile ) if( Cmp == NULL ) if( Cmp == NULL ) continue; continue; #if defined(DEBUG) /* Give a reasonnable value to the fied position, if printf( " %s %s\n", CONV_TO_UTF8(Cmp->m_Field[REFERENCE].m_Text), * the text is empty at position 0, because it is probably not yet initialised CONV_TO_UTF8(Cmp->m_Field[VALUE].m_Text) ); */ #endif if( Cmp->m_Field[FOOTPRINT].m_Text.IsEmpty() && TextField = &Cmp->m_Field[FOOTPRINT]; ( Cmp->m_Field[FOOTPRINT].m_Pos == wxPoint( 0, 0 ) ) ) TextField->m_Text = CONV_FROM_UTF8( FootPrint ); { Cmp->m_Field[FOOTPRINT].m_Pos = Cmp->m_Field[VALUE].m_Pos; Cmp->m_Field[FOOTPRINT].m_Pos.y -= 100; } Cmp->m_Field[FOOTPRINT].m_Text = CONV_FROM_UTF8( FootPrint ); } } } } Loading eeschema/build_BOM.cpp +50 −48 Original line number Original line Diff line number Diff line Loading @@ -22,9 +22,11 @@ // Filename extension for BOM list // Filename extension for BOM list #define EXT_LIST wxT( ".lst" ) #define EXT_LIST wxT( ".lst" ) // Exported functions int BuildComponentsListFromSchematic( ListComponent* List ); /* fonctions locales */ /* fonctions locales */ static int GenListeGLabels( ListLabel* List ); static int GenListeGLabels( ListLabel* List ); int GenListeCmp( ListComponent* List ); static int ListTriComposantByRef( ListComponent* Objet1, static int ListTriComposantByRef( ListComponent* Objet1, ListComponent* Objet2 ); ListComponent* Objet2 ); static int ListTriComposantByVal( ListComponent* Objet1, static int ListTriComposantByVal( ListComponent* Objet1, Loading Loading @@ -117,7 +119,7 @@ void WinEDA_Build_BOM_Frame::CreateExportList( const wxString& FullFileName, return; return; } } NbItems = GenListeCmp( NULL ); NbItems = BuildComponentsListFromSchematic( NULL ); if( NbItems ) if( NbItems ) { { List = (ListComponent*) MyZMalloc( NbItems * sizeof(ListComponent) ); List = (ListComponent*) MyZMalloc( NbItems * sizeof(ListComponent) ); Loading @@ -127,18 +129,17 @@ void WinEDA_Build_BOM_Frame::CreateExportList( const wxString& FullFileName, return; return; } } GenListeCmp( List ); BuildComponentsListFromSchematic( List ); /* sort component list */ /* sort component list */ qsort( List, NbItems, sizeof( ListComponent ), qsort( List, NbItems, sizeof( ListComponent ), ( int( * ) ( const void*, const void* ) )ListTriComposantByRef ); ( int( * ) ( const void*, const void* ) )ListTriComposantByRef ); // if( ! s_ListWithSubCmponents ) if( !aIncludeSubComponents ) if( !aIncludeSubComponents ) DeleteSubCmp( List, NbItems ); DeleteSubCmp( List, NbItems ); /* create the file */ /* create the file */ PrintListeCmpByRef( f, List, NbItems, TRUE, aIncludeSubComponents ); PrintComponentsListByRef( f, List, NbItems, TRUE, aIncludeSubComponents ); MyFree( List ); MyFree( List ); } } Loading Loading @@ -173,7 +174,7 @@ void WinEDA_Build_BOM_Frame::GenereListeOfItems( const wxString& FullFileName, return; return; } } NbItems = GenListeCmp( NULL ); NbItems = BuildComponentsListFromSchematic( NULL ); if( NbItems ) if( NbItems ) { { List = (ListComponent*) MyZMalloc( NbItems * sizeof(ListComponent) ); List = (ListComponent*) MyZMalloc( NbItems * sizeof(ListComponent) ); Loading @@ -183,7 +184,7 @@ void WinEDA_Build_BOM_Frame::GenereListeOfItems( const wxString& FullFileName, return; return; } } GenListeCmp( List ); BuildComponentsListFromSchematic( List ); /* generation du fichier listing */ /* generation du fichier listing */ DateAndTime( Line ); DateAndTime( Line ); Loading @@ -201,7 +202,7 @@ void WinEDA_Build_BOM_Frame::GenereListeOfItems( const wxString& FullFileName, // if( s_ListByRef ) // if( s_ListByRef ) if( m_ListCmpbyRefItems->GetValue() ) if( m_ListCmpbyRefItems->GetValue() ) { { PrintListeCmpByRef( f, List, NbItems, false, aIncludeSubComponents ); PrintComponentsListByRef( f, List, NbItems, false, aIncludeSubComponents ); } } // if( s_ListByValue ) // if( s_ListByValue ) Loading @@ -209,7 +210,7 @@ void WinEDA_Build_BOM_Frame::GenereListeOfItems( const wxString& FullFileName, { { qsort( List, NbItems, sizeof( ListComponent ), qsort( List, NbItems, sizeof( ListComponent ), ( int( * ) ( const void*, const void* ) )ListTriComposantByVal ); ( int( * ) ( const void*, const void* ) )ListTriComposantByVal ); PrintListeCmpByVal( f, List, NbItems, aIncludeSubComponents ); PrintComponentsListByVal( f, List, NbItems, aIncludeSubComponents ); } } MyFree( List ); MyFree( List ); } } Loading Loading @@ -265,13 +266,12 @@ void WinEDA_Build_BOM_Frame::GenereListeOfItems( const wxString& FullFileName, } } /****************************************/ /*********************************************************/ int GenListeCmp( ListComponent* List ) int BuildComponentsListFromSchematic( ListComponent* List ) /****************************************/ /*********************************************************/ /* Creates the list of components in the schematic /* Creates the list of components found in the whole schematic * * * routine for generating a list of the used components. * if List == null, just returns the count. if not, fills the list. * if List == null, just returns the count. if not, fills the list. * goes through the sheets, not the screens, so that we account for * goes through the sheets, not the screens, so that we account for * multiple instances of a given screen. * multiple instances of a given screen. Loading Loading @@ -581,7 +581,7 @@ void WinEDA_Build_BOM_Frame::PrintFieldData( FILE* f, SCH_COMPONENT* DrawLibItem bool CompactForm ) bool CompactForm ) /*******************************************************************************************/ /*******************************************************************************************/ { { wxCheckBox* FieldListCtrl[FIELD8 - FIELD1 + 1] = { wxCheckBox* FieldListCtrl[] = { m_AddField1, m_AddField1, m_AddField2, m_AddField2, m_AddField3, m_AddField3, Loading @@ -599,6 +599,8 @@ void WinEDA_Build_BOM_Frame::PrintFieldData( FILE* f, SCH_COMPONENT* DrawLibItem fprintf( f, "%c%s", s_ExportSeparatorSymbol, fprintf( f, "%c%s", s_ExportSeparatorSymbol, CONV_TO_UTF8( DrawLibItem->m_Field[FOOTPRINT].m_Text ) ); CONV_TO_UTF8( DrawLibItem->m_Field[FOOTPRINT].m_Text ) ); } } else if( m_AddFootprintField->IsChecked() ) fprintf( f, "; %-12s", CONV_TO_UTF8( DrawLibItem->m_Field[FOOTPRINT].m_Text ) ); for( ii = FIELD1; ii <= FIELD8; ii++ ) for( ii = FIELD1; ii <= FIELD8; ii++ ) { { Loading @@ -617,7 +619,7 @@ void WinEDA_Build_BOM_Frame::PrintFieldData( FILE* f, SCH_COMPONENT* DrawLibItem /*********************************************************************************************/ /*********************************************************************************************/ int WinEDA_Build_BOM_Frame::PrintListeCmpByRef( FILE* f, ListComponent* List, int NbItems, int WinEDA_Build_BOM_Frame::PrintComponentsListByRef( FILE* f, ListComponent* List, int NbItems, bool CompactForm, bool aIncludeSubComponents ) bool CompactForm, bool aIncludeSubComponents ) /*********************************************************************************************/ /*********************************************************************************************/ Loading Loading @@ -732,7 +734,7 @@ int WinEDA_Build_BOM_Frame::PrintListeCmpByRef( FILE* f, ListComponent* List, in /*********************************************************************************************/ /*********************************************************************************************/ int WinEDA_Build_BOM_Frame::PrintListeCmpByVal( FILE* f, ListComponent* List, int NbItems, int WinEDA_Build_BOM_Frame::PrintComponentsListByVal( FILE* f, ListComponent* List, int NbItems, bool aIncludeSubComponents ) bool aIncludeSubComponents ) /**********************************************************************************************/ /**********************************************************************************************/ { { Loading eeschema/dialog_build_BOM.cpp +5 −4 Original line number Original line Diff line number Diff line Loading @@ -507,7 +507,8 @@ void WinEDA_Build_BOM_Frame::SavePreferences() if( s_OutputSeparatorOpt < 0 ) if( s_OutputSeparatorOpt < 0 ) s_OutputSeparatorOpt = 0; s_OutputSeparatorOpt = 0; // Determine current settings of all 8 "Fields to add" checkboxes // Determine current settings of all "Fields to add" checkboxes s_Add_FpField_state = m_AddFootprintField->GetValue(); s_Add_F1_state = m_AddField1->GetValue(); s_Add_F1_state = m_AddField1->GetValue(); s_Add_F2_state = m_AddField2->GetValue(); s_Add_F2_state = m_AddField2->GetValue(); s_Add_F3_state = m_AddField3->GetValue(); s_Add_F3_state = m_AddField3->GetValue(); Loading @@ -521,7 +522,7 @@ void WinEDA_Build_BOM_Frame::SavePreferences() m_Parent->m_Parent->m_EDA_Config->Write( OPTION_BOM_FORMAT, (long) s_OutputFormOpt ); m_Parent->m_Parent->m_EDA_Config->Write( OPTION_BOM_FORMAT, (long) s_OutputFormOpt ); m_Parent->m_Parent->m_EDA_Config->Write( OPTION_BOM_SEPARATOR, (long) s_OutputSeparatorOpt ); m_Parent->m_Parent->m_EDA_Config->Write( OPTION_BOM_SEPARATOR, (long) s_OutputSeparatorOpt ); // Now save current settings of all 8 "Fields to add" checkboxes // Now save current settings of all "Fields to add" checkboxes long addfields = 0; long addfields = 0; for( int ii = 0, bitmask = 1; s_AddFieldList[ii] != NULL; ii++ ) for( int ii = 0, bitmask = 1; s_AddFieldList[ii] != NULL; ii++ ) { { Loading eeschema/dialog_build_BOM.h +2 −2 Original line number Original line Diff line number Diff line Loading @@ -134,9 +134,9 @@ public: bool aRunBrowser); bool aRunBrowser); void GenereListeOfItems(const wxString & FullFileName, bool aIncludeSubComponents ); void GenereListeOfItems(const wxString & FullFileName, bool aIncludeSubComponents ); void CreateExportList(const wxString & FullFileName, bool aIncludeSubComponents); void CreateExportList(const wxString & FullFileName, bool aIncludeSubComponents); int PrintListeCmpByRef( FILE * f, ListComponent * List, int NbItems, int PrintComponentsListByRef( FILE * f, ListComponent * List, int NbItems, bool CompactForm, bool aIncludeSubComponents ); bool CompactForm, bool aIncludeSubComponents ); int PrintListeCmpByVal( FILE *f, ListComponent * List, int NbItems, int PrintComponentsListByVal( FILE *f, ListComponent * List, int NbItems, bool aIncludeSubComponents); bool aIncludeSubComponents); void PrintFieldData(FILE * f, SCH_COMPONENT * DrawLibItem, bool CompactForm = FALSE); void PrintFieldData(FILE * f, SCH_COMPONENT * DrawLibItem, bool CompactForm = FALSE); void SavePreferences(); void SavePreferences(); Loading eeschema/libarch.cpp +6 −7 Original line number Original line Diff line number Diff line Loading @@ -14,13 +14,12 @@ #include "protos.h" #include "protos.h" /* fonctions exportees */ /* Imported functions */ int BuildComponentsListFromSchematic( ListComponent* List ); /* fonctions locales */ /* Local functions*/ static int TriListEntry(EDA_LibComponentStruct **Objet1, static int TriListEntry(EDA_LibComponentStruct **Objet1, EDA_LibComponentStruct **Objet2); EDA_LibComponentStruct **Objet2); /* Variable locales */ /*******************************************************************/ /*******************************************************************/ Loading @@ -42,14 +41,14 @@ const wxChar * Text; /* Creation de la liste des elements */ /* Creation de la liste des elements */ NbItems = GenListeCmp(NULL ); // Comptage des composants NbItems = BuildComponentsListFromSchematic(NULL ); // Comptage des composants if ( NbItems == 0 ) return FALSE; if ( NbItems == 0 ) return FALSE; List = (ListComponent *) MyZMalloc( NbItems * sizeof( ListComponent ) ); List = (ListComponent *) MyZMalloc( NbItems * sizeof( ListComponent ) ); if (List == NULL ) return FALSE; if (List == NULL ) return FALSE; /* Calcul de la liste des composants */ /* Calcul de la liste des composants */ GenListeCmp(List); BuildComponentsListFromSchematic(List); /* Calcul de la liste des Entrees de librairie /* Calcul de la liste des Entrees de librairie et Remplacement des alias par les composants "Root" */ et Remplacement des alias par les composants "Root" */ Loading Loading
eeschema/backanno.cpp +44 −29 Original line number Original line Diff line number Diff line Loading @@ -38,17 +38,28 @@ SCH_COMPONENT * WinEDA_SchematicFrame::FindComponentByRef( } } } } } } return NULL; return NULL; } } /**************************************************************/ /**************************************************************/ bool WinEDA_SchematicFrame::ProcessStuffFile( FILE* StuffFile ) bool WinEDA_SchematicFrame::ProcessStuffFile( FILE* StuffFile ) /**************************************************************/ /**************************************************************/ /* Read a "stuff" file created by cvpcb. * That file has lines like: * comp = "C1" module = "CP6" * comp = "C2" module = "C1" * comp = "C3" module = "C1" * "comp =" gives the component reference * "module =" gives the footprint name * */ { { int LineNum = 0; int LineNum = 0; char* cp, Ref[256], FootPrint[256], Line[1024]; char* cp, Ref[256], FootPrint[256], Line[1024]; SCH_COMPONENT* Cmp; SCH_COMPONENT* Cmp; PartTextStruct* TextField; while( GetLine( StuffFile, Line, &LineNum, sizeof(Line) ) ) while( GetLine( StuffFile, Line, &LineNum, sizeof(Line) ) ) { { Loading @@ -68,12 +79,16 @@ bool WinEDA_SchematicFrame::ProcessStuffFile( FILE* StuffFile ) if( Cmp == NULL ) if( Cmp == NULL ) continue; continue; #if defined(DEBUG) /* Give a reasonnable value to the fied position, if printf( " %s %s\n", CONV_TO_UTF8(Cmp->m_Field[REFERENCE].m_Text), * the text is empty at position 0, because it is probably not yet initialised CONV_TO_UTF8(Cmp->m_Field[VALUE].m_Text) ); */ #endif if( Cmp->m_Field[FOOTPRINT].m_Text.IsEmpty() && TextField = &Cmp->m_Field[FOOTPRINT]; ( Cmp->m_Field[FOOTPRINT].m_Pos == wxPoint( 0, 0 ) ) ) TextField->m_Text = CONV_FROM_UTF8( FootPrint ); { Cmp->m_Field[FOOTPRINT].m_Pos = Cmp->m_Field[VALUE].m_Pos; Cmp->m_Field[FOOTPRINT].m_Pos.y -= 100; } Cmp->m_Field[FOOTPRINT].m_Text = CONV_FROM_UTF8( FootPrint ); } } } } Loading
eeschema/build_BOM.cpp +50 −48 Original line number Original line Diff line number Diff line Loading @@ -22,9 +22,11 @@ // Filename extension for BOM list // Filename extension for BOM list #define EXT_LIST wxT( ".lst" ) #define EXT_LIST wxT( ".lst" ) // Exported functions int BuildComponentsListFromSchematic( ListComponent* List ); /* fonctions locales */ /* fonctions locales */ static int GenListeGLabels( ListLabel* List ); static int GenListeGLabels( ListLabel* List ); int GenListeCmp( ListComponent* List ); static int ListTriComposantByRef( ListComponent* Objet1, static int ListTriComposantByRef( ListComponent* Objet1, ListComponent* Objet2 ); ListComponent* Objet2 ); static int ListTriComposantByVal( ListComponent* Objet1, static int ListTriComposantByVal( ListComponent* Objet1, Loading Loading @@ -117,7 +119,7 @@ void WinEDA_Build_BOM_Frame::CreateExportList( const wxString& FullFileName, return; return; } } NbItems = GenListeCmp( NULL ); NbItems = BuildComponentsListFromSchematic( NULL ); if( NbItems ) if( NbItems ) { { List = (ListComponent*) MyZMalloc( NbItems * sizeof(ListComponent) ); List = (ListComponent*) MyZMalloc( NbItems * sizeof(ListComponent) ); Loading @@ -127,18 +129,17 @@ void WinEDA_Build_BOM_Frame::CreateExportList( const wxString& FullFileName, return; return; } } GenListeCmp( List ); BuildComponentsListFromSchematic( List ); /* sort component list */ /* sort component list */ qsort( List, NbItems, sizeof( ListComponent ), qsort( List, NbItems, sizeof( ListComponent ), ( int( * ) ( const void*, const void* ) )ListTriComposantByRef ); ( int( * ) ( const void*, const void* ) )ListTriComposantByRef ); // if( ! s_ListWithSubCmponents ) if( !aIncludeSubComponents ) if( !aIncludeSubComponents ) DeleteSubCmp( List, NbItems ); DeleteSubCmp( List, NbItems ); /* create the file */ /* create the file */ PrintListeCmpByRef( f, List, NbItems, TRUE, aIncludeSubComponents ); PrintComponentsListByRef( f, List, NbItems, TRUE, aIncludeSubComponents ); MyFree( List ); MyFree( List ); } } Loading Loading @@ -173,7 +174,7 @@ void WinEDA_Build_BOM_Frame::GenereListeOfItems( const wxString& FullFileName, return; return; } } NbItems = GenListeCmp( NULL ); NbItems = BuildComponentsListFromSchematic( NULL ); if( NbItems ) if( NbItems ) { { List = (ListComponent*) MyZMalloc( NbItems * sizeof(ListComponent) ); List = (ListComponent*) MyZMalloc( NbItems * sizeof(ListComponent) ); Loading @@ -183,7 +184,7 @@ void WinEDA_Build_BOM_Frame::GenereListeOfItems( const wxString& FullFileName, return; return; } } GenListeCmp( List ); BuildComponentsListFromSchematic( List ); /* generation du fichier listing */ /* generation du fichier listing */ DateAndTime( Line ); DateAndTime( Line ); Loading @@ -201,7 +202,7 @@ void WinEDA_Build_BOM_Frame::GenereListeOfItems( const wxString& FullFileName, // if( s_ListByRef ) // if( s_ListByRef ) if( m_ListCmpbyRefItems->GetValue() ) if( m_ListCmpbyRefItems->GetValue() ) { { PrintListeCmpByRef( f, List, NbItems, false, aIncludeSubComponents ); PrintComponentsListByRef( f, List, NbItems, false, aIncludeSubComponents ); } } // if( s_ListByValue ) // if( s_ListByValue ) Loading @@ -209,7 +210,7 @@ void WinEDA_Build_BOM_Frame::GenereListeOfItems( const wxString& FullFileName, { { qsort( List, NbItems, sizeof( ListComponent ), qsort( List, NbItems, sizeof( ListComponent ), ( int( * ) ( const void*, const void* ) )ListTriComposantByVal ); ( int( * ) ( const void*, const void* ) )ListTriComposantByVal ); PrintListeCmpByVal( f, List, NbItems, aIncludeSubComponents ); PrintComponentsListByVal( f, List, NbItems, aIncludeSubComponents ); } } MyFree( List ); MyFree( List ); } } Loading Loading @@ -265,13 +266,12 @@ void WinEDA_Build_BOM_Frame::GenereListeOfItems( const wxString& FullFileName, } } /****************************************/ /*********************************************************/ int GenListeCmp( ListComponent* List ) int BuildComponentsListFromSchematic( ListComponent* List ) /****************************************/ /*********************************************************/ /* Creates the list of components in the schematic /* Creates the list of components found in the whole schematic * * * routine for generating a list of the used components. * if List == null, just returns the count. if not, fills the list. * if List == null, just returns the count. if not, fills the list. * goes through the sheets, not the screens, so that we account for * goes through the sheets, not the screens, so that we account for * multiple instances of a given screen. * multiple instances of a given screen. Loading Loading @@ -581,7 +581,7 @@ void WinEDA_Build_BOM_Frame::PrintFieldData( FILE* f, SCH_COMPONENT* DrawLibItem bool CompactForm ) bool CompactForm ) /*******************************************************************************************/ /*******************************************************************************************/ { { wxCheckBox* FieldListCtrl[FIELD8 - FIELD1 + 1] = { wxCheckBox* FieldListCtrl[] = { m_AddField1, m_AddField1, m_AddField2, m_AddField2, m_AddField3, m_AddField3, Loading @@ -599,6 +599,8 @@ void WinEDA_Build_BOM_Frame::PrintFieldData( FILE* f, SCH_COMPONENT* DrawLibItem fprintf( f, "%c%s", s_ExportSeparatorSymbol, fprintf( f, "%c%s", s_ExportSeparatorSymbol, CONV_TO_UTF8( DrawLibItem->m_Field[FOOTPRINT].m_Text ) ); CONV_TO_UTF8( DrawLibItem->m_Field[FOOTPRINT].m_Text ) ); } } else if( m_AddFootprintField->IsChecked() ) fprintf( f, "; %-12s", CONV_TO_UTF8( DrawLibItem->m_Field[FOOTPRINT].m_Text ) ); for( ii = FIELD1; ii <= FIELD8; ii++ ) for( ii = FIELD1; ii <= FIELD8; ii++ ) { { Loading @@ -617,7 +619,7 @@ void WinEDA_Build_BOM_Frame::PrintFieldData( FILE* f, SCH_COMPONENT* DrawLibItem /*********************************************************************************************/ /*********************************************************************************************/ int WinEDA_Build_BOM_Frame::PrintListeCmpByRef( FILE* f, ListComponent* List, int NbItems, int WinEDA_Build_BOM_Frame::PrintComponentsListByRef( FILE* f, ListComponent* List, int NbItems, bool CompactForm, bool aIncludeSubComponents ) bool CompactForm, bool aIncludeSubComponents ) /*********************************************************************************************/ /*********************************************************************************************/ Loading Loading @@ -732,7 +734,7 @@ int WinEDA_Build_BOM_Frame::PrintListeCmpByRef( FILE* f, ListComponent* List, in /*********************************************************************************************/ /*********************************************************************************************/ int WinEDA_Build_BOM_Frame::PrintListeCmpByVal( FILE* f, ListComponent* List, int NbItems, int WinEDA_Build_BOM_Frame::PrintComponentsListByVal( FILE* f, ListComponent* List, int NbItems, bool aIncludeSubComponents ) bool aIncludeSubComponents ) /**********************************************************************************************/ /**********************************************************************************************/ { { Loading
eeschema/dialog_build_BOM.cpp +5 −4 Original line number Original line Diff line number Diff line Loading @@ -507,7 +507,8 @@ void WinEDA_Build_BOM_Frame::SavePreferences() if( s_OutputSeparatorOpt < 0 ) if( s_OutputSeparatorOpt < 0 ) s_OutputSeparatorOpt = 0; s_OutputSeparatorOpt = 0; // Determine current settings of all 8 "Fields to add" checkboxes // Determine current settings of all "Fields to add" checkboxes s_Add_FpField_state = m_AddFootprintField->GetValue(); s_Add_F1_state = m_AddField1->GetValue(); s_Add_F1_state = m_AddField1->GetValue(); s_Add_F2_state = m_AddField2->GetValue(); s_Add_F2_state = m_AddField2->GetValue(); s_Add_F3_state = m_AddField3->GetValue(); s_Add_F3_state = m_AddField3->GetValue(); Loading @@ -521,7 +522,7 @@ void WinEDA_Build_BOM_Frame::SavePreferences() m_Parent->m_Parent->m_EDA_Config->Write( OPTION_BOM_FORMAT, (long) s_OutputFormOpt ); m_Parent->m_Parent->m_EDA_Config->Write( OPTION_BOM_FORMAT, (long) s_OutputFormOpt ); m_Parent->m_Parent->m_EDA_Config->Write( OPTION_BOM_SEPARATOR, (long) s_OutputSeparatorOpt ); m_Parent->m_Parent->m_EDA_Config->Write( OPTION_BOM_SEPARATOR, (long) s_OutputSeparatorOpt ); // Now save current settings of all 8 "Fields to add" checkboxes // Now save current settings of all "Fields to add" checkboxes long addfields = 0; long addfields = 0; for( int ii = 0, bitmask = 1; s_AddFieldList[ii] != NULL; ii++ ) for( int ii = 0, bitmask = 1; s_AddFieldList[ii] != NULL; ii++ ) { { Loading
eeschema/dialog_build_BOM.h +2 −2 Original line number Original line Diff line number Diff line Loading @@ -134,9 +134,9 @@ public: bool aRunBrowser); bool aRunBrowser); void GenereListeOfItems(const wxString & FullFileName, bool aIncludeSubComponents ); void GenereListeOfItems(const wxString & FullFileName, bool aIncludeSubComponents ); void CreateExportList(const wxString & FullFileName, bool aIncludeSubComponents); void CreateExportList(const wxString & FullFileName, bool aIncludeSubComponents); int PrintListeCmpByRef( FILE * f, ListComponent * List, int NbItems, int PrintComponentsListByRef( FILE * f, ListComponent * List, int NbItems, bool CompactForm, bool aIncludeSubComponents ); bool CompactForm, bool aIncludeSubComponents ); int PrintListeCmpByVal( FILE *f, ListComponent * List, int NbItems, int PrintComponentsListByVal( FILE *f, ListComponent * List, int NbItems, bool aIncludeSubComponents); bool aIncludeSubComponents); void PrintFieldData(FILE * f, SCH_COMPONENT * DrawLibItem, bool CompactForm = FALSE); void PrintFieldData(FILE * f, SCH_COMPONENT * DrawLibItem, bool CompactForm = FALSE); void SavePreferences(); void SavePreferences(); Loading
eeschema/libarch.cpp +6 −7 Original line number Original line Diff line number Diff line Loading @@ -14,13 +14,12 @@ #include "protos.h" #include "protos.h" /* fonctions exportees */ /* Imported functions */ int BuildComponentsListFromSchematic( ListComponent* List ); /* fonctions locales */ /* Local functions*/ static int TriListEntry(EDA_LibComponentStruct **Objet1, static int TriListEntry(EDA_LibComponentStruct **Objet1, EDA_LibComponentStruct **Objet2); EDA_LibComponentStruct **Objet2); /* Variable locales */ /*******************************************************************/ /*******************************************************************/ Loading @@ -42,14 +41,14 @@ const wxChar * Text; /* Creation de la liste des elements */ /* Creation de la liste des elements */ NbItems = GenListeCmp(NULL ); // Comptage des composants NbItems = BuildComponentsListFromSchematic(NULL ); // Comptage des composants if ( NbItems == 0 ) return FALSE; if ( NbItems == 0 ) return FALSE; List = (ListComponent *) MyZMalloc( NbItems * sizeof( ListComponent ) ); List = (ListComponent *) MyZMalloc( NbItems * sizeof( ListComponent ) ); if (List == NULL ) return FALSE; if (List == NULL ) return FALSE; /* Calcul de la liste des composants */ /* Calcul de la liste des composants */ GenListeCmp(List); BuildComponentsListFromSchematic(List); /* Calcul de la liste des Entrees de librairie /* Calcul de la liste des Entrees de librairie et Remplacement des alias par les composants "Root" */ et Remplacement des alias par les composants "Root" */ Loading