Commit 157298ba authored by charras's avatar charras
Browse files

minor changes

parent bfc705ed
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -198,16 +198,16 @@ bool MODULE::Read_GPCB_Descr( const wxString& CmpFullFileName )
    iprmcnt++;
    m_Doc = params[iprmcnt];

    // Read pcb-name (unused )
    // Read pcb-name (reference )
    iprmcnt++;
    m_Reference->m_Text = params[iprmcnt];

    // Read value
    iprmcnt++;
    m_Value->m_Text = params[iprmcnt];

    iprmcnt++;

    // Read other infos
    iprmcnt++;
    for( int ii = 0; ii < 6; ii++ )
    {
        if( iprmcnt < icnt_max )
+48 −14
Original line number Diff line number Diff line
@@ -24,7 +24,7 @@

#define OLD_EXT     wxT( ".bak" )
#define FILETMP_EXT wxT( ".$$$" )

#define EXPORT_IMPORT_LASTPATH_KEY wxT("import_last_path")

/* Fonctions locales */
static bool CreateDocLibrary( const wxString& LibName );
@@ -33,9 +33,15 @@ static bool CreateDocLibrary( const wxString& LibName );
MODULE* WinEDA_ModuleEditFrame::Import_Module( wxDC* DC )
/*********************************************************/

/*
 *  Importation de modules Hors librairie
 *  Lit 1 fichier type Empreinte et place le module sur PCB
/**
 * Function Import_Module
 * Read a file containing only one footprint.
 * Used to import (after exporting) a footprint
 * Exported files  have the standart ext .emp
 * This is the same format as .mod files but restricted to only one footprint
 * The import function can also read gpcb footprint file, in Newlib format
 * (One footprint per file, Newlib files have no special ext.)
 * @param DC = Current Device Context (can be NULL)
 */
{
    int      NbLine = 0;
@@ -45,10 +51,15 @@ MODULE* WinEDA_ModuleEditFrame::Import_Module( wxDC* DC )
    MODULE*  module = NULL;
	bool Footprint_Is_GPCB_Format = false;
	wxString mask = wxT("*.*;"); mask += EXT_CMP_MASK;
	wxString LastOpenedPathForLoading;
    wxConfig*          Config = m_Parent->m_EDA_Config;

    if( Config )
        Config->Read( EXPORT_IMPORT_LASTPATH_KEY, &LastOpenedPathForLoading );
	
    /* Lecture Fichier module */
    CmpFullFileName = EDA_FileSelector( _( "Import Module:" ),
                                        wxEmptyString,  /* Chemin par defaut */
                                        LastOpenedPathForLoading,  /* Chemin par defaut */
                                        wxEmptyString,  /* nom fichier par defaut */
                                        wxEmptyString,  /* extension par defaut */
                                        mask,		    /* Masque d'affichage */
@@ -68,7 +79,13 @@ MODULE* WinEDA_ModuleEditFrame::Import_Module( wxDC* DC )
        return NULL;
    }
	
    /* Lecture Entete */
	if( Config )	// Save file path
	{
		LastOpenedPathForLoading = wxPathOnly( CmpFullFileName );
        Config->Write( EXPORT_IMPORT_LASTPATH_KEY, LastOpenedPathForLoading );
	}
	
    /* Read header and test file type */
    GetLine( dest, Line, &NbLine );
    if( strnicmp( Line, ENTETE_LIBRAIRIE, L_ENTETE_LIB ) != 0 )
    {
@@ -82,7 +99,7 @@ MODULE* WinEDA_ModuleEditFrame::Import_Module( wxDC* DC )
		}
    }

    /* Lecture du fichier: recherche du debut de la descr module */
    /* Read file: Search the description starting line (skip lib header)*/
	if ( ! Footprint_Is_GPCB_Format )
	{
		while( GetLine( dest, Line, &NbLine ) != NULL )
@@ -105,7 +122,7 @@ MODULE* WinEDA_ModuleEditFrame::Import_Module( wxDC* DC )
		fclose( dest );
	}

    /* Mise a jour du chainage */
    /* Insert footprint in list*/
    if( m_Pcb->m_Modules )
    {
        m_Pcb->m_Modules->Pback = module;
@@ -114,7 +131,7 @@ MODULE* WinEDA_ModuleEditFrame::Import_Module( wxDC* DC )
    module->Pback    = m_Pcb;
    m_Pcb->m_Modules = module;

    /* Affichage des caracteristiques : */
    /* Display info : */
    module->Display_Infos( this );
    Place_Module( module, DC );
    m_Pcb->m_Status_Pcb = 0;
@@ -127,15 +144,23 @@ MODULE* WinEDA_ModuleEditFrame::Import_Module( wxDC* DC )
/************************************************************************/
void WinEDA_ModuleEditFrame::Export_Module( MODULE* ptmod, bool createlib )
/************************************************************************/

/*
 *  Genere 1 fichier type Empreinte a partir de la description du module sur PCB
/**
 * Function Export_Module
 * Create a file containing only one footprint.
 * Used to export a footprint
 * Exported files  have the standart ext .emp
 * This is the same format as .mod files but restricted to only one footprint
 * So Create a new lib (which will contains one module) and export a footprint is basically the same thing
 * @param DC = Current Device Context (can be NULL)
 * @param createlib : true = use default lib path to create lib
 *                    false = use current path or last used path to export footprint
 */
{
    wxString FullFileName, Mask( wxT( "*" ) );
    char     Line[1025];
    FILE*    dest;
    wxString msg, path;
    wxConfig*          Config = m_Parent->m_EDA_Config;

    if( ptmod == NULL )
        return;
@@ -148,6 +173,9 @@ void WinEDA_ModuleEditFrame::Export_Module( MODULE* ptmod, bool createlib )

    if( createlib )
        path = g_RealLibDirBuffer;
	else if( Config )
        Config->Read( EXPORT_IMPORT_LASTPATH_KEY, &path );

    FullFileName = EDA_FileSelector( createlib ? _( "Create lib" ) : _( "Export Module:" ),
                                     path,                                  /* Chemin par defaut */
                                     FullFileName,                          /* nom fichier par defaut */
@@ -161,7 +189,7 @@ void WinEDA_ModuleEditFrame::Export_Module( MODULE* ptmod, bool createlib )
    if( FullFileName.IsEmpty() )
        return;

    if( createlib  && wxFileExists( FullFileName ) )
    if( wxFileExists( FullFileName ) )
    {
        msg.Printf( _( "File %s exists, OK to replace ?" ),
                   FullFileName.GetData() );
@@ -177,6 +205,12 @@ void WinEDA_ModuleEditFrame::Export_Module( MODULE* ptmod, bool createlib )
        return;
    }

	if( ! createlib && Config )	// Save file path
	{
		path = wxPathOnly( FullFileName );
        Config->Write( EXPORT_IMPORT_LASTPATH_KEY, path );
	}

    fprintf( dest, "%s  %s\n", ENTETE_LIBRAIRIE, DateAndTime( Line ) );
    fputs( "$INDEX\n", dest );

+3 −3
Original line number Diff line number Diff line
@@ -454,7 +454,7 @@ int FindLineSegmentIntersection( double a, double b, int xi, int yi, int xf, int
								double * x1, double * y1, double * x2, double * y2,
								double * dist )
{
	double xx, yy;
	double xx = 0, yy = 0;	//Init made to avoid C compil "uninitialized" warning
	bool bVert = false;
	if( b > DBL_MAX/10.0 )
		bVert = true;
@@ -531,7 +531,7 @@ int FindLineSegmentIntersection( double a, double b, int xi, int yi, int xf, int
				yyf = yf;
			}
			// find center and radii of ellipse
			double xo, yo, rx, ry;
			double xo = xxf, yo = yyi, rx, ry;		// Init made to avoid C compil warnings
			if( xxf > xxi && yyf > yyi )
			{
				xo = xxf;
@@ -1337,7 +1337,7 @@ int GetClearanceBetweenSegments( int x1i, int y1i, int x1f, int y1f, int style1,
	double s_start2 = th1;
	double s_end2 = th2;
	double dmin = DBL_MAX;
	double xmin, ymin, smin, smin2;
	double xmin = 0, ymin = 0, smin = 0, smin2 = 0;		// Init made to avoid C compil warnings

	int nsteps = NSTEPS;
	int nsteps2 = NSTEPS;
+2 −2
Original line number Diff line number Diff line
@@ -3,11 +3,11 @@
typedef struct PointTag
{
	double X,Y;
} Point;
} PointT;

typedef struct EllipseTag
{
	Point Center;			/* ellipse center	 */
	PointT Center;			/* ellipse center	 */
//	double MaxRad,MinRad;	 /* major and minor axis */
//	double Phi;				/* major axis rotation  */
	double xrad, yrad;		// radii on x and y