Commit 24e66546 authored by dickelbeck's avatar dickelbeck

formatting and comments

parent a55ef8df
/*****************************/
/* EESchema - lib_export.cpp */
/*****************************/
/*****************************/
/* EESchema - lib_export.cpp */
/*****************************/
/* Routines de maintenanace des librariries:
sauvegarde, modification de librairies.
creation edition suppression de composants
*/
* sauvegarde, modification de librairies.
* creation edition suppression de composants
*/
#include "fctsys.h"
#include "gr_basic.h"
......@@ -20,125 +20,132 @@
#include "id.h"
/*************************************************/
void WinEDA_LibeditFrame::ImportOnePart()
/*************************************************/
/* Routine de lecture de 1 description.
Le format est celui des librairies, mais on ne charge que 1 composant
ou le 1er composant s'il y en a plusieurs.
Si le premier composant est un alias, on chargera la racine correspondante
*/
* Le format est celui des librairies, mais on ne charge que 1 composant
* ou le 1er composant s'il y en a plusieurs.
* Si le premier composant est un alias, on chargera la racine correspondante
*/
{
wxString Name, mask;
LibraryStruct * LibTmp;
EDA_LibComponentStruct *LibEntry;
int err = 1;
mask = wxT("*") + g_LibExtBuffer;
Name = EDA_FileSelector( _("Import component:"),
wxEmptyString, /* Chemin par defaut */
wxEmptyString, /* nom fichier par defaut */
g_LibExtBuffer, /* extension par defaut */
mask, /* Masque d'affichage */
this,
0,
TRUE
);
if ( Name == wxEmptyString ) return;
LibTmp = g_LibraryList; g_LibraryList = NULL;
LoadLibraryName(this, Name, wxT("$tmplib$"));
if ( g_LibraryList )
{
LibEntry = (EDA_LibComponentStruct *)PQFirst(&g_LibraryList->m_Entries,FALSE);
if( LibEntry )
err = LoadOneLibraryPartAux(LibEntry, g_LibraryList, 1);
FreeCmpLibrary(this, g_LibraryList->m_Name);
if ( err == 0 )
{
ReCreateHToolbar();
DisplayLibInfos();
ReDrawPanel();
}
}
g_LibraryList = LibTmp;
if (err) DisplayError(this, _("File is empty"), 30);
wxString Name, mask;
LibraryStruct* LibTmp;
EDA_LibComponentStruct* LibEntry;
int err = 1;
mask = wxT( "*" ) + g_LibExtBuffer;
Name = EDA_FileSelector( _( "Import component:" ),
wxEmptyString, /* Chemin par defaut */
wxEmptyString, /* nom fichier par defaut */
g_LibExtBuffer, /* extension par defaut */
mask, /* Masque d'affichage */
this,
0,
TRUE
);
if( Name == wxEmptyString )
return;
LibTmp = g_LibraryList; g_LibraryList = NULL;
LoadLibraryName( this, Name, wxT( "$tmplib$" ) );
if( g_LibraryList )
{
LibEntry = (EDA_LibComponentStruct*) PQFirst( &g_LibraryList->m_Entries, FALSE );
if( LibEntry )
err = LoadOneLibraryPartAux( LibEntry, g_LibraryList, 1 );
FreeCmpLibrary( this, g_LibraryList->m_Name );
if( err == 0 )
{
ReCreateHToolbar();
DisplayLibInfos();
ReDrawPanel();
}
}
g_LibraryList = LibTmp;
if( err )
DisplayError( this, _( "File is empty" ), 30 );
}
/************************************************************/
void WinEDA_LibeditFrame::ExportOnePart(bool create_lib)
void WinEDA_LibeditFrame::ExportOnePart( bool create_lib )
/************************************************************/
/* Routine de creation d'une nouvelle librairie et de sauvegarde du
composant courant dans cette librarie
si create_lib == TRUE sauvegarde dans le repertoire des libr
sinon: sauvegarde sous le nom demande sans modifications.
Le format du fichier cree est dans tous les cas le meme.
*/
/* Routine de creation d'une nouvelle librairie et de sauvegarde du
* composant courant dans cette librarie
* si create_lib == TRUE sauvegarde dans le repertoire des libr
* sinon: sauvegarde sous le nom demande sans modifications.
*
* Le format du fichier cree est dans tous les cas le meme.
*/
{
wxString Name, mask;
LibraryStruct * NewLib, * LibTmp, * CurLibTmp;
int err;
if(CurrentLibEntry == NULL)
{
DisplayError(this, _("No Part to Save"),10); return;
}
Name = CurrentLibEntry->m_Name.m_Text;
Name.MakeLower();
mask = wxT("*") + g_LibExtBuffer;
wxString def_path;
if ( create_lib ) def_path = g_RealLibDirBuffer;
Name = EDA_FileSelector( create_lib ? _("New Library") : _("Export component:"),
def_path, /* Chemin par defaut */
Name, /* nom fichier par defaut */
g_LibExtBuffer, /* extension par defaut */
mask, /* Masque d'affichage */
this,
wxFD_SAVE,
TRUE
);
if ( Name == wxEmptyString ) return;
/* Creation d'une librairie standard pour sauvegarde */
ChangeFileNameExt(Name, g_LibExtBuffer);
LibTmp = g_LibraryList;
CurLibTmp = CurrentLib;
NewLib = new LibraryStruct(LIBRARY_TYPE_EESCHEMA, wxT("$libTmp$"), Name);
g_LibraryList = NewLib;
/* Sauvegarde du composant: */
CurrentLib = NewLib;
SaveOnePartInMemory();
err = SaveOneLibrary(this, Name, NewLib);
/* Suppression de la librarie temporaire */
FreeCmpLibrary(this, NewLib->m_Name );
g_LibraryList = LibTmp;
CurrentLib = CurLibTmp;
wxString msg;
if ( create_lib && (err == 0) )
{
msg = Name + _("0k");
DisplayInfo(this,
_("Note: this new library will be available only if it is loaded by eeschema.\nModify eeschema config if you want use it.") );
}
else msg = _("Error while create ") + Name;
Affiche_Message(msg);
wxString Name, mask;
LibraryStruct* NewLib, * LibTmp, * CurLibTmp;
int err;
if( CurrentLibEntry == NULL )
{
DisplayError( this, _( "No Part to Save" ), 10 ); return;
}
Name = CurrentLibEntry->m_Name.m_Text;
Name.MakeLower();
mask = wxT( "*" ) + g_LibExtBuffer;
wxString def_path;
if( create_lib )
def_path = g_RealLibDirBuffer;
Name = EDA_FileSelector( create_lib ? _( "New Library" ) : _( "Export component:" ),
def_path, /* Chemin par defaut */
Name, /* nom fichier par defaut */
g_LibExtBuffer, /* extension par defaut */
mask, /* Masque d'affichage */
this,
wxFD_SAVE,
TRUE
);
if( Name == wxEmptyString )
return;
/* Creation d'une librairie standard pour sauvegarde */
ChangeFileNameExt( Name, g_LibExtBuffer );
LibTmp = g_LibraryList;
CurLibTmp = CurrentLib;
NewLib = new LibraryStruct( LIBRARY_TYPE_EESCHEMA, wxT( "$libTmp$" ), Name );
g_LibraryList = NewLib;
/* Sauvegarde du composant: */
CurrentLib = NewLib;
SaveOnePartInMemory();
err = SaveOneLibrary( this, Name, NewLib );
/* Suppression de la librarie temporaire */
FreeCmpLibrary( this, NewLib->m_Name );
g_LibraryList = LibTmp;
CurrentLib = CurLibTmp;
wxString msg;
if( create_lib && (err == 0) )
{
msg = Name + _( "0k" );
DisplayInfo( this,
_("Note: this new library will be available only if it is loaded by eeschema.\nModify eeschema config if you want use it.") );
}
else
msg = _( "Error while create " ) + Name;
Affiche_Message( msg );
}
......@@ -97,40 +97,22 @@ bool LibDrawSquare::WriteDescr( FILE* ExportFile )
bool LibDrawPin::WriteDescr( FILE* ExportFile )
/************************************************/
{
int Etype = 'I';
wxString StringPinNum;
int Etype;
switch( m_PinType )
{
case PIN_INPUT:
Etype = 'I'; break;
case PIN_OUTPUT:
Etype = 'O'; break;
case PIN_BIDI:
Etype = 'B'; break;
case PIN_TRISTATE:
Etype = 'T'; break;
case PIN_PASSIVE:
Etype = 'P'; break;
case PIN_UNSPECIFIED:
Etype = 'U'; break;
case PIN_POWER_IN:
Etype = 'W'; break;
case PIN_POWER_OUT:
Etype = 'w'; break;
case PIN_OPENCOLLECTOR:
Etype = 'C'; break;
case PIN_OPENEMITTER:
Etype = 'E'; break;
default:
case PIN_INPUT: Etype = 'I'; break;
case PIN_OUTPUT: Etype = 'O'; break;
case PIN_BIDI: Etype = 'B'; break;
case PIN_TRISTATE: Etype = 'T'; break;
case PIN_PASSIVE: Etype = 'P'; break;
case PIN_UNSPECIFIED: Etype = 'U'; break;
case PIN_POWER_IN: Etype = 'W'; break;
case PIN_POWER_OUT: Etype = 'w'; break;
case PIN_OPENCOLLECTOR: Etype = 'C'; break;
case PIN_OPENEMITTER: Etype = 'E'; break;
}
ReturnPinStringNum( StringPinNum );
......@@ -234,7 +216,7 @@ LibEDA_BaseStruct* CopyDrawEntryStruct( wxWindow* frame,
* the new item is only created, it is not put in the current component linked list
* @param DrawEntry = DrawLibItem * item to duplicate
* @return a pointer to the new item
* A better way to duplicate a DrawLibItem is to have a virtual GenCopy() in LibEDA_BaseStruct class (ToDo).
* A better way to duplicate a DrawLibItem is to have a virtual GenCopy() in LibEDA_BaseStruct class (ToDo).
*/
{
LibEDA_BaseStruct* NewDrawItem = NULL;
......@@ -331,7 +313,7 @@ EDA_LibComponentStruct* CopyLibEntryStruct( wxWindow* frame, EDA_LibComponentStr
{
if( ( OldDrawings->m_Flags & IS_NEW) != 0 )
continue;
NewDrawings = CopyDrawEntryStruct( frame, OldDrawings );
if( NewDrawings )
{
......@@ -345,7 +327,7 @@ EDA_LibComponentStruct* CopyLibEntryStruct( wxWindow* frame, EDA_LibComponentStr
}
else // Should nevers occurs, just in case...
{ // CopyDrawEntryStruct() was not able to duplicate the type of OldDrawings
// occurs when an unexpected type is encountered
// occurs when an unexpected type is encountered
DisplayError( frame, wxT( "CopyLibEntryStruct(): error: aborted" ) );
break;
}
......@@ -543,10 +525,10 @@ int SaveOneLibrary( wxWindow* frame, const wxString& FullFileName, LibraryStruct
* 2 fichiers sont crees
* - La librarie
* - le fichier de documentation
*
*
* une sauvegarde .bak de l'ancien fichier librairie est cree
* une sauvegarde .bck de l'ancien fichier documentation est cree
*
*
* return:
* 0 si OK
* 1 si erreur
......@@ -609,7 +591,7 @@ int SaveOneLibrary( wxWindow* frame, const wxString& FullFileName, LibraryStruct
Library->m_Modified = 0;
/* Creation de l'entete de la librairie */
Library->m_TimeStamp = GetTimeStamp();
Library->m_TimeStamp = GetTimeStamp();
Library->WriteHeader( SaveFile );
fprintf( SaveDocFile, "%s Date: %s\n", DOCFILE_IDENT,
DateAndTime( Line ) );
......
......@@ -11,7 +11,7 @@
* is a base class for any item which can be embedded within the BOARD
* container class, and therefore instances of derived classes should only be
* found in PCBNEW or other programs that use class BOARD and its contents.
* The corresponding class in EESCHEMA seems to be DrawPartStruct.
* The corresponding class in EESCHEMA is SCH_ITEM.
*/
class BOARD_ITEM : public EDA_BaseStruct
{
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment