eeschema: library order when loading libs fixed (i hope)

This commit is contained in:
charras 2009-04-10 14:53:24 +00:00
parent 9f7ca3444b
commit 82d8faeb40
2 changed files with 270 additions and 259 deletions

View File

@ -164,8 +164,7 @@ void LoadLibraries (WinEDA_DrawFrame* frame)
else else
msg += _( " error!" ); msg += _( " error!" );
frame->PrintMsg( msg ); frame->PrintMsg( msg ); }
}
// reorder the linked list to match the order filename list: // reorder the linked list to match the order filename list:
int NumOfLibs; int NumOfLibs;
@ -186,7 +185,8 @@ void LoadLibraries (WinEDA_DrawFrame* frame)
{ {
if( jj >= NumOfLibs ) if( jj >= NumOfLibs )
break; break;
lib = FindLibrary( g_LibName_List[ii] ); fn = g_LibName_List[ii];
lib = FindLibrary( fn.GetName() );
if( lib ) if( lib )
{ {
lib->m_Flags = 1; lib->m_Flags = 1;
@ -212,8 +212,10 @@ void LoadLibraries (WinEDA_DrawFrame* frame)
MyFree( libs ); MyFree( libs );
for( lib = g_LibraryList; lib != NULL; lib = lib->m_Pnext ) for( lib = g_LibraryList; lib != NULL; lib = lib->m_Pnext )
{
lib->m_Flags = 0; lib->m_Flags = 0;
} }
}
/**************************************************************/ /**************************************************************/

View File

@ -106,6 +106,7 @@ public:
m_CurrentField = aCurrentField; m_CurrentField = aCurrentField;
} }
DrawSheetPath* GetSheet(); DrawSheetPath* GetSheet();
SCH_SCREEN* GetScreen() const; SCH_SCREEN* GetScreen() const;
@ -169,6 +170,7 @@ public:
// Functions used for hierarchy handling // Functions used for hierarchy handling
void InstallPreviousSheet(); void InstallPreviousSheet();
void InstallNextScreen( DrawSheetStruct* Sheet ); void InstallNextScreen( DrawSheetStruct* Sheet );
/** Function GetUniqueFilenameForCurrentSheet /** Function GetUniqueFilenameForCurrentSheet
* @return a filename that can be used in plot and print functions * @return a filename that can be used in plot and print functions
* for the current screen anad sheet path. * for the current screen anad sheet path.
@ -208,7 +210,8 @@ public:
* @param aSetFielsAttributeToVisible = true to set the footprint field flag to visible * @param aSetFielsAttributeToVisible = true to set the footprint field flag to visible
* @return bool - true if success, else true. * @return bool - true if success, else true.
*/ */
bool ProcessStuffFile( FILE* aFilename, bool aSetFielsAttributeToVisible ); bool ProcessStuffFile( FILE* aFilename,
bool aSetFielsAttributeToVisible );
bool SaveEEFile( SCH_SCREEN* screen, int FileSave ); bool SaveEEFile( SCH_SCREEN* screen, int FileSave );
SCH_SCREEN* CreateNewScreen( SCH_SCREEN* OldScreen, int TimeStamp ); SCH_SCREEN* CreateNewScreen( SCH_SCREEN* OldScreen, int TimeStamp );
@ -301,13 +304,19 @@ public:
private: private:
void StartMoveSheet( DrawSheetStruct* sheet, wxDC* DC ); void StartMoveSheet( DrawSheetStruct* sheet, wxDC* DC );
Hierarchical_PIN_Sheet_Struct* Create_PinSheet( DrawSheetStruct* Sheet, wxDC* DC ); Hierarchical_PIN_Sheet_Struct* Create_PinSheet( DrawSheetStruct* Sheet, wxDC* DC );
void Edit_PinSheet( Hierarchical_PIN_Sheet_Struct* SheetLabel, wxDC* DC ); void Edit_PinSheet( Hierarchical_PIN_Sheet_Struct* SheetLabel,
void StartMove_PinSheet( Hierarchical_PIN_Sheet_Struct* SheetLabel, wxDC* DC ); wxDC* DC );
void Place_PinSheet( Hierarchical_PIN_Sheet_Struct* SheetLabel, wxDC* DC ); void StartMove_PinSheet( Hierarchical_PIN_Sheet_Struct* SheetLabel,
wxDC* DC );
void Place_PinSheet( Hierarchical_PIN_Sheet_Struct* SheetLabel,
wxDC* DC );
Hierarchical_PIN_Sheet_Struct* Import_PinSheet( DrawSheetStruct* Sheet, wxDC* DC ); Hierarchical_PIN_Sheet_Struct* Import_PinSheet( DrawSheetStruct* Sheet, wxDC* DC );
public: public:
void DeleteSheetLabel( bool aRedraw, Hierarchical_PIN_Sheet_Struct* aSheetLabelToDel ); void DeleteSheetLabel(
bool aRedraw,
Hierarchical_PIN_Sheet_Struct*
aSheetLabelToDel );
private: private: