More header file realignments to reduce recompiling and general code cleaning.

This commit is contained in:
stambaughw 2009-02-04 15:25:03 +00:00
parent 89e5909f59
commit b833a46bad
293 changed files with 4159 additions and 3955 deletions

View File

@ -22,8 +22,8 @@
#include "wx/clipbrd.h"
#include "fctsys.h"
#include "common.h"
#include "id.h"
#include "gestfich.h"
#include "3d_viewer.h"
#include "trackball.h"

View File

@ -11,8 +11,6 @@
#include "fctsys.h"
#include "common.h"
#include "3d_struct.h"
#include "3d_viewer.h"

View File

@ -17,9 +17,10 @@
#error Please set wxUSE_GLCANVAS to 1 in setup.h.
#endif
#include "common.h"
#include "pcbstruct.h"
#include "macros.h"
#include "drawtxt.h"
#include "confirm.h"
#include "3d_viewer.h"
#include "trackball.h"
@ -460,7 +461,8 @@ static void Draw3dTextSegm( int x0, int y0, int xf, int yf )
double endx = xf * g_Parm_3D_Visu.m_BoardScale;
double endy = yf * g_Parm_3D_Visu.m_BoardScale;
Draw3D_FilledSegment( startx, -starty, endx, -endy, s_Text3DWidth, s_Text3DZPos );
Draw3D_FilledSegment( startx, -starty, endx, -endy,
s_Text3DWidth, s_Text3DZPos );
}
@ -480,11 +482,9 @@ void Pcb3D_GLCanvas::Draw3D_DrawText( TEXTE_PCB* text )
s_Text3DZPos = g_Parm_3D_Visu.m_LayerZcoord[layer];
s_Text3DWidth = text->m_Width * g_Parm_3D_Visu.m_BoardScale;
glNormal3f( 0.0, 0.0, Get3DLayerSide( layer ) );
DrawGraphicText( NULL, NULL,
text->m_Pos, (EDA_Colors) color, text->m_Text,
text->m_Orient, text->m_Size,
text->m_HJustify,
text->m_VJustify,
DrawGraphicText( NULL, NULL, text->m_Pos, (EDA_Colors) color,
text->m_Text, text->m_Orient, text->m_Size,
text->m_HJustify, text->m_VJustify,
text->m_Width, text->m_Italic,
Draw3dTextSegm );
}
@ -668,7 +668,8 @@ void D_PAD::Draw3D( Pcb3D_GLCanvas* glcanvas )
if( holeX && holeY )
{
SetGLColor( DARKGRAY );
Draw3D_FilledCylinder( drillx, -drilly, hole, g_Parm_3D_Visu.m_LayerZcoord[CMP_N], 0.0 );
Draw3D_FilledCylinder( drillx, -drilly, hole,
g_Parm_3D_Visu.m_LayerZcoord[CMP_N], 0.0 );
}
glNormal3f( 0.0, 0.0, 1.0 ); // Normal is Z axis

View File

@ -11,8 +11,7 @@
#include "fctsys.h"
#include <wx/colordlg.h>
#include "appl_wxstruct.h"
#if !wxUSE_GLCANVAS
#error Please set wxUSE_GLCANVAS to 1 in setup.h.
@ -25,6 +24,8 @@
#include "3d_viewer.h"
#include "trackball.h"
#include <wx/colordlg.h>
BEGIN_EVENT_TABLE( WinEDA3D_DrawFrame, wxFrame )
EVT_TOOL_RANGE( ID_ZOOM_IN, ID_ZOOM_PAGE, WinEDA3D_DrawFrame::Process_Zoom )

View File

@ -10,10 +10,9 @@
#endif
#include "fctsys.h"
#include "common.h"
#include "macros.h"
#include "kicad_string.h"
#include "3d_struct.h"
#include "3d_viewer.h"

View File

@ -5,6 +5,14 @@ Started 2007-June-11
Please add newer entries at the top, list the date and your name with
email address.
2009-Feb-04 UPDATE Wayne Stambaugh <stambaughw@verizon.net>
================================================================================
++All
* Refactor header files to reduce the number of files that need recompiled
when making changes to base classes.
* Move sine and cosine look up tables from trigo.h to trigo.cpp to avoid
multiple recompiles.
2009-feb-01 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
================================================================================
++All:

View File

@ -85,7 +85,7 @@ IF(Subversion_SVN_EXECUTABLE)
OUTPUT_STRIP_TRAILING_WHITESPACE)
IF(NOT ${Subversion_svn_info_result} EQUAL 0)
MESSAGE(SEND_ERROR "Command \"${Subversion_SVN_EXECUTABLE} info ${dir}\" failed with output:\n${Subversion_svn_info_error}")
MESSAGE(STATUS "Command \"${Subversion_SVN_EXECUTABLE} info ${dir}\" failed with output:\n${Subversion_svn_info_error}")
ELSE(NOT ${Subversion_svn_info_result} EQUAL 0)
STRING(REGEX REPLACE "^(.*\n)?svn, version ([.0-9]+).*"
@ -121,7 +121,7 @@ IF(Subversion_SVN_EXECUTABLE)
OUTPUT_STRIP_TRAILING_WHITESPACE)
IF(NOT ${Subversion_svn_log_result} EQUAL 0)
MESSAGE(SEND_ERROR "Command \"${Subversion_SVN_EXECUTABLE} log -r BASE ${dir}\" failed with output:\n${Subversion_svn_log_error}")
MESSAGE(STATUS "Command \"${Subversion_SVN_EXECUTABLE} log -r BASE ${dir}\" failed with output:\n${Subversion_svn_log_error}")
ENDIF(NOT ${Subversion_svn_log_result} EQUAL 0)
ENDMACRO(Subversion_WC_LOG)

View File

@ -9,8 +9,7 @@
extern wxString g_Main_Title; // Import program title
/**********************************/
wxString
SetMsg( const wxString& msg )
wxString SetMsg( const wxString& msg )
/**********************************/
/* add \n at the beginning of msg under Windows, and do nothing under other version of wxWidgets
* Needed under wxWidgets 2.8 because wxGTK and wxMSW do not have the same behavior
@ -30,8 +29,7 @@ SetMsg( const wxString& msg )
/**************************************************/
void
InitKiCadAbout( wxAboutDialogInfo& info )
void InitKiCadAbout( wxAboutDialogInfo& info )
/**************************************************/
{
/* Set name and title */

View File

@ -8,8 +8,9 @@
#include "fctsys.h"
#include "common.h"
#include "base_struct.h"
#include "sch_item_struct.h"
#include "class_base_screen.h"
/* Implement wxSize array for grid list implementation. */
#include <wx/arrimpl.cpp>

View File

@ -10,10 +10,13 @@
#include "gr_basic.h"
#include "trigo.h"
#include "common.h"
#include "wxstruct.h"
#include "base_struct.h"
#include "grfonte.h"
#include "macros.h"
#include "wxstruct.h"
#include "class_drawpanel.h"
#include "class_base_screen.h"
#include "drawtxt.h"
enum textbox {
ID_TEXTBOX_LIST = 8010

View File

@ -10,12 +10,16 @@
#include <wx/aboutdlg.h>
#include "wx/statline.h"
#include "wx/generic/aboutdlgg.h"
#include <wx/fontdlg.h>
#include "fctsys.h"
#include <wx/fontdlg.h>
#include "appl_wxstruct.h"
#include "common.h"
#include "online_help.h"
#include "id.h"
#include "confirm.h"
#include "eda_doc.h"
#include "wxstruct.h"
/*******************************************************/

View File

@ -9,8 +9,13 @@
#include "gr_basic.h"
#include "wxstruct.h"
#include "common.h"
#include "sch_item_struct.h"
#include "macros.h"
#include "base_struct.h"
#include "sch_item_struct.h"
#include "class_base_screen.h"
#include "class_drawpanel.h"
#include "confirm.h"
#include "block_commande.h"
/*******************/

View File

@ -4,6 +4,7 @@
#include "fctsys.h"
#include "common.h"
#include "base_struct.h"
#include "sch_item_struct.h"

View File

@ -12,6 +12,7 @@
#include "common.h"
#include "macros.h"
#include "build_version.h"
#include "confirm.h"
#include <wx/process.h>
/*****************************/

View File

@ -10,6 +10,7 @@
#include "common.h"
#include "plot_common.h"
#include "macros.h"
#include "kicad_string.h"
/***************************************************************************/

View File

@ -7,9 +7,9 @@
#include "trigo.h"
#include "wxstruct.h"
#include "base_struct.h"
#include "common.h"
#include "plot_common.h"
#include "macros.h"
#include "kicad_string.h"
/* parametre HPGL pour trace de cercle: */
#define CHORD_ANGLE 10

View File

@ -9,6 +9,7 @@
#include "common.h"
#include "plot_common.h"
#include "macros.h"
#include "kicad_string.h"
// Locales
static Ki_PageDescr* SheetPS;

View File

@ -11,6 +11,8 @@
#include "plot_common.h"
#include "worksheet.h"
#include "macros.h"
#include "class_base_screen.h"
#include "drawtxt.h"
// Variables partagees avec Common plot Postscript et HPLG Routines

View File

@ -5,12 +5,17 @@
// Created: 18 aug 2006
// Licence: License GNU
/////////////////////////////////////////////////////////////////////////////
#include "wx/metafile.h"
#include "fctsys.h"
#include "gr_basic.h"
#include "common.h"
#include "id.h"
#include "class_drawpanel.h"
#include "class_base_screen.h"
#include "confirm.h"
#include "wxstruct.h"
extern BASE_SCREEN* ActiveScreen;

View File

@ -3,11 +3,11 @@
/********************************/
#include "fctsys.h"
#include "wxstruct.h"
#include "gr_basic.h"
#include "common.h"
#include "macros.h"
#include "kicad_string.h"
/***********************/

View File

@ -7,11 +7,16 @@
#endif
#include "fctsys.h"
#include "appl_wxstruct.h"
#include "gr_basic.h"
#include "common.h"
#include "bitmaps.h"
#include "macros.h"
#include "id.h"
#include "class_drawpanel.h"
#include "class_base_screen.h"
#include "wxstruct.h"
#include "confirm.h"
#include <wx/fontdlg.h>

View File

@ -1,12 +1,17 @@
/******************************************/
/* drawpanel.cpp - WinEDA_DrawPanel class */
/******************************************/
#include "fctsys.h"
#include "appl_wxstruct.h"
#include "gr_basic.h"
#include "common.h"
#include "macros.h"
#include "id.h"
#include "class_drawpanel.h"
#include "class_base_screen.h"
#include "wxstruct.h"
// Local defines
#define CURSOR_SIZE 12 // Cursor size in pixels

View File

@ -10,6 +10,8 @@
#include "trigo.h"
#include "macros.h"
#include "class_drawpanel.h"
#include "class_base_screen.h"
#ifndef DEFAULT_SIZE_TEXT
#define DEFAULT_SIZE_TEXT 50

View File

@ -2,24 +2,16 @@
/* eda_doc.cpp */
/***************/
// For compilers that support precompilation, includes "wx.h".
#include "wx/wxprec.h"
#include "fctsys.h"
#include "appl_wxstruct.h"
#include "common.h"
#include "confirm.h"
#include "gestfich.h"
#ifdef __BORLANDC__
#pragma hdrstop
#endif
// for all others, include the necessary headers (this file is usually all you
// need because it includes almost all "standard" wxWindows headers
#ifndef WX_PRECOMP
#include <wx/wx.h>
#endif
#include <wx/mimetype.h>
#include <wx/tokenzr.h>
#include <wx/filename.h>
#include "fctsys.h"
#include "wxstruct.h"
#include "common.h"
/*****************************************/
void WinEDA_App::ReadPdfBrowserInfos()

View File

@ -22,7 +22,9 @@
#include <wx/filename.h>
#include <wx/stdpaths.h>
#include <wx/apptrait.h>
#include <wx/snglinst.h>
#include "appl_wxstruct.h"
#include "common.h"
#include "worksheet.h"
#include "id.h"
@ -31,6 +33,7 @@
#include "macros.h"
#include "online_help.h"
#include "bitmaps.h"
#include "gestfich.h"
#ifdef __UNIX__

View File

@ -5,8 +5,8 @@
// For compilers that support precompilation, includes "wx.h".
#include "fctsys.h"
#include "wx/mimetype.h"
#include "appl_wxstruct.h"
#include "confirm.h"
#ifdef __WINDOWS__
#ifndef _MSC_VER
@ -16,6 +16,11 @@
#include "common.h"
#include "macros.h"
#include "gestfich.h"
#include "wx/mimetype.h"
#include "wx/filename.h"
/* List of default paths used to locate help files and kicad library files.
*

View File

@ -4,9 +4,10 @@
#include "fctsys.h"
#include "gr_basic.h"
#include "common.h"
#include "macros.h"
#include "wxstruct.h"
/****************************************************************************/
/* Show a dialog frame to choose a name from an history list, or a new name */

View File

@ -8,6 +8,8 @@
#include "common.h"
#include "trigo.h"
#include "macros.h"
#include "base_struct.h"
#include "class_base_screen.h"
#ifndef FILLED
#define FILLED 1

View File

@ -6,12 +6,16 @@
*/
#include "fctsys.h"
#include "appl_wxstruct.h"
#include "common.h"
#include "wxstruct.h"
#include "hotkeys_basic.h"
#include "macros.h"
#include "bitmaps.h"
#include "id.h"
#include "confirm.h"
#include "kicad_string.h"
#include "gestfich.h"
#include "wxstruct.h"
/* Class to handle hotkey commnands. hotkeys have a default value

View File

@ -7,13 +7,14 @@
#endif
#include "fctsys.h"
#include "wxstruct.h"
#include "common.h"
#include "colors.h"
/* table des evenements captes par un WinEDA_MsgPanel */
BEGIN_EVENT_TABLE( WinEDA_MsgPanel, wxPanel )
EVT_PAINT( WinEDA_MsgPanel::OnPaint )
EVT_PAINT( WinEDA_MsgPanel::OnPaint )
END_EVENT_TABLE()

View File

@ -4,8 +4,10 @@
#include "fctsys.h"
#include "gr_basic.h"
#include "appl_wxstruct.h"
#include "common.h"
#include "kicad_string.h"
#include "gestfich.h"
#define CONFIG_VERSION 1

View File

@ -5,8 +5,8 @@
#include "fctsys.h"
#include <time.h>
#include "common.h"
#include "macros.h"
#include "kicad_string.h"
/*********************************************************************/

View File

@ -1,36 +1,31 @@
/******************************************************************/
/* toolbars.cpp - fonctions des classes du type WinEDA_ttolbar */
/******************************************************************/
/******************************************************************/
/* toolbars.cpp - fonctions des classes du type WinEDA_ttolbar */
/******************************************************************/
#ifdef __GNUG__
#pragma implementation
#endif
#include "fctsys.h"
#include "common.h"
#include "wxstruct.h"
/*************************/
/* class WinEDA_HToolbar */
/*************************/
#include "id.h"
/*************************/
/* class WinEDA_HToolbar */
/*************************/
WinEDA_Toolbar::WinEDA_Toolbar(id_toolbar type, wxWindow * parent,
wxWindowID id, bool horizontal):
wxToolBar(parent,id, wxPoint(-1,-1), wxSize(-1,-1),
horizontal ? wxTB_HORIZONTAL : wxTB_VERTICAL)
WinEDA_Toolbar::WinEDA_Toolbar( id_toolbar type, wxWindow * parent,
wxWindowID id, bool horizontal ):
wxToolBar( parent, id, wxPoint( -1,-1 ), wxSize( -1,-1 ),
horizontal ? wxTB_HORIZONTAL : wxTB_VERTICAL )
{
m_Parent = parent;
Pnext = NULL;
m_Ident = type;
m_Horizontal = horizontal;
m_Size = 24;
m_Parent = parent;
Pnext = NULL;
m_Ident = type;
m_Horizontal = horizontal;
m_Size = 24;
SetToolBitmapSize(wxSize(16,16));
SetMargins(0,0);
SetToolSeparation(1);
SetToolPacking(1);
SetToolBitmapSize(wxSize(16,16));
SetMargins(0,0);
SetToolSeparation(1);
SetToolPacking(1);
}

File diff suppressed because it is too large Load Diff

View File

@ -4,12 +4,16 @@
#include "fctsys.h"
#include "gr_basic.h"
#include "common.h"
#include "macros.h"
#include "class_drawpanel.h"
#include "class_base_screen.h"
#include "drawtxt.h"
#include "confirm.h"
#include "wxstruct.h"
#include "worksheet.h"
/* Must be defined in main applications: */
extern wxString g_Main_Title;

View File

@ -8,6 +8,7 @@
#include "fctsys.h"
#include "common.h"
#include "wxstruct.h"
/**********************************************************************************/
@ -23,7 +24,7 @@ WinEDA_EnterText::WinEDA_EnterText( wxWindow* parent,
if( TextToEdit )
m_NewText = TextToEdit;
m_Title = new wxStaticText( parent, -1, Title );
m_Title = new wxStaticText( parent, -1, Title );
m_Title->SetForegroundColour( wxColour( 200, 0, 0 ) );
BoxSizer->Add( m_Title, 0, wxGROW | wxLEFT | wxRIGHT | wxTOP | wxADJUST_MINSIZE, 5 );

View File

@ -8,14 +8,13 @@
*/
#include "fctsys.h"
#include "common.h"
#include "macros.h"
#include "bitmaps.h"
#include "id.h"
#include "class_drawpanel.h"
#include "class_base_screen.h"
#include "wxstruct.h"
/**************************************************/
void WinEDA_DrawFrame::Recadre_Trace( bool ToMouse )

View File

@ -5,11 +5,13 @@
/* Routines de selection automatique des modules */
#include "fctsys.h"
#include "common.h"
#include "cvpcb.h"
#include "confirm.h"
#include "gestfich.h"
#include "cvpcb.h"
#include "protos.h"
#include "cvstruct.h"
#define QUOTE '\''

View File

@ -5,11 +5,12 @@
/* lit ou met a jour la configuration de CVPCB */
#include "fctsys.h"
#include "appl_wxstruct.h"
#include "common.h"
#include "gestfich.h"
#include "cvpcb.h"
#include "protos.h"
#include "cvstruct.h"
#include "cfg.h"
/* Routines Locales */

View File

@ -2,17 +2,21 @@
/* File: cvframe.cpp */
/*********************/
#include "fctsys.h"
#include "appl_wxstruct.h"
#include "common.h"
#include "confirm.h"
#include "eda_doc.h"
#include "gestfich.h"
#include "id.h"
#include <wx/fontdlg.h>
#include "cvpcb.h"
#include "pcbnew.h"
#include "bitmaps.h"
#include "protos.h"
#include "cvstruct.h"
#include "id.h"
#define FRAME_MIN_SIZE_X 450
#define FRAME_MIN_SIZE_Y 300

View File

@ -5,17 +5,19 @@
#define eda_global
#include "fctsys.h"
#include "appl_wxstruct.h"
#include "common.h"
#include "confirm.h"
#include "gestfich.h"
#include "id.h"
#include "cvpcb.h"
#include "trigo.h"
#include "zones.h"
#include "bitmaps.h"
#include "protos.h"
#include "cvstruct.h"
#include "id.h"
#include <wx/snglinst.h>
wxString g_Main_Title = wxT( "CVpcb" );

View File

@ -7,12 +7,7 @@
#define eda_global extern
#endif
#include "wxstruct.h"
#include "pcbnew.h"
#include "cvstruct.h"
#include "gr_basic.h"
#include "colors.h"
// config for footprints doc file acces
#define DOC_FOOTPRINTS_LIST_KEY wxT("footprints_doc_file")

View File

@ -15,17 +15,6 @@
#pragma implementation "dialog_display_options.h"
#endif
// For compilers that support precompilation, includes "wx/wx.h".
#include "wx/wxprec.h"
#ifdef __BORLANDC__
#pragma hdrstop
#endif
#ifndef WX_PRECOMP
#include "wx/wx.h"
#endif
////@begin includes
////@end includes
#include "fctsys.h"
@ -34,6 +23,8 @@
#include "common.h"
#include "cvpcb.h"
#include "protos.h"
#include "class_drawpanel.h"
#include "cvstruct.h"
#include "dialog_display_options.h"

View File

@ -3,13 +3,15 @@
/*********************************************************************/
#include "fctsys.h"
#include "appl_wxstruct.h"
#include "common.h"
#include "class_drawpanel.h"
#include "id.h"
#include "cvpcb.h"
#include "id.h"
#include "bitmaps.h"
#include "protos.h"
#include "cvstruct.h"
/*****************************************************************/

View File

@ -1,59 +1,62 @@
/***************/
/* genstf() */
/***************/
/***************/
/* genstf() */
/***************/
/* genere le fichier STF type 'ref' 'nom_empreinte' pour DRAFT */
#include "fctsys.h"
#include "wxstruct.h"
#include "common.h"
#include "confirm.h"
#include "gestfich.h"
#include "cvpcb.h"
#include "protos.h"
#include "cvstruct.h"
void WinEDA_CvpcbFrame::WriteStuffList(wxCommandEvent & event)
void WinEDA_CvpcbFrame::WriteStuffList( wxCommandEvent& event )
{
FILE * FileEquiv;
STORECMP * Cmp;
wxString Line, FullFileName, Mask;
FILE* FileEquiv;
STORECMP* Cmp;
wxString Line, FullFileName, Mask;
if( nbcomp <= 0 ) return;
if( nbcomp <= 0 )
return;
/* calcul du nom du fichier */
Mask = wxT("*") + ExtRetroBuffer;
FullFileName = FFileName;
ChangeFileNameExt(FullFileName, ExtRetroBuffer);
/* calcul du nom du fichier */
Mask = wxT( "*" ) + ExtRetroBuffer;
FullFileName = FFileName;
ChangeFileNameExt( FullFileName, ExtRetroBuffer );
FullFileName = EDA_FileSelector( wxT("Create Stuff File"),
wxGetCwd(), /* Chemin par defaut */
FullFileName, /* nom fichier par defaut */
ExtRetroBuffer, /* extension par defaut */
Mask, /* Masque d'affichage */
this,
wxFD_SAVE,
TRUE
);
if ( FullFileName.IsEmpty() ) return;
FullFileName = EDA_FileSelector( wxT( "Create Stuff File" ),
wxGetCwd(), /* Chemin par defaut */
FullFileName, /* nom fichier par defaut */
ExtRetroBuffer, /* extension par defaut */
Mask, /* Masque d'affichage */
this,
wxFD_SAVE,
TRUE );
if( FullFileName.IsEmpty() )
return;
FileEquiv = wxFopen(FullFileName, wxT("wt") );
if (FileEquiv == 0 )
{
Line = _("Unable to create ") + FullFileName;
DisplayError(this, Line,30);
return;
}
FileEquiv = wxFopen( FullFileName, wxT( "wt" ) );
if( FileEquiv == 0 )
{
Line = _( "Unable to create " ) + FullFileName;
DisplayError( this, Line, 30 );
return;
}
/* Generation de la liste */
for (Cmp = g_BaseListeCmp ; Cmp != NULL ; Cmp = Cmp->Pnext )
{
/* génération du composant si son empreinte est définie */
if ( Cmp->m_Module.IsEmpty() ) continue;
fprintf(FileEquiv, "comp = \"%s\" module = \"%s\"\n",
CONV_TO_UTF8(Cmp->m_Reference),
CONV_TO_UTF8(Cmp->m_Module));
}
/* Generation de la liste */
for( Cmp = g_BaseListeCmp; Cmp != NULL; Cmp = Cmp->Pnext )
{
/* génération du composant si son empreinte est définie */
if( Cmp->m_Module.IsEmpty() )
continue;
fprintf( FileEquiv, "comp = \"%s\" module = \"%s\"\n",
CONV_TO_UTF8( Cmp->m_Reference ),
CONV_TO_UTF8( Cmp->m_Module ) );
}
fclose(FileEquiv);
fclose( FileEquiv );
}

View File

@ -1,214 +1,237 @@
/*******************************************************************/
/* CVPCB: Routines de base : */
/* lecture Netliste et creation des fenetres composants et modules */
/*******************************************************************/
/*******************************************************************/
/* CVPCB: Routines de base : */
/* lecture Netliste et creation des fenetres composants et modules */
/*******************************************************************/
#include "fctsys.h"
#include "common.h"
#include "confirm.h"
#include "gr_basic.h"
#include "gestfich.h"
#include "id.h"
#include "cvpcb.h"
#include "gr_basic.h"
#include "protos.h"
#include "id.h"
#include "cvstruct.h"
/* routines locales : */
/**********************************************************/
void WinEDA_CvpcbFrame::SetNewPkg(const wxString & package)
void WinEDA_CvpcbFrame::SetNewPkg( const wxString& package )
/*********************************************************/
/*
- Affecte un module au composant selectionne
- Selectionne le composant suivant
*/
* - Affecte un module au composant selectionne
* - Selectionne le composant suivant
*/
{
STORECMP * Composant;
int ii, NumCmp, IsNew = 1;
wxString Line;
STORECMP* Composant;
int ii, NumCmp, IsNew = 1;
wxString Line;
if ( g_BaseListeCmp == NULL ) return;
if( g_BaseListeCmp == NULL )
return;
NumCmp = m_ListCmp->GetSelection();
if( NumCmp < 0 )
{
NumCmp = 0;
m_ListCmp->SetSelection(NumCmp, TRUE);
}
NumCmp = m_ListCmp->GetSelection();
if( NumCmp < 0 )
{
NumCmp = 0;
m_ListCmp->SetSelection( NumCmp, TRUE );
}
Composant = g_BaseListeCmp;
for ( ii = 0; Composant != NULL; Composant = Composant->Pnext, ii++ )
{
if ( NumCmp == ii ) break;
}
Composant = g_BaseListeCmp;
for( ii = 0; Composant != NULL; Composant = Composant->Pnext, ii++ )
{
if( NumCmp == ii )
break;
}
if ( Composant == NULL ) return;
if ( ! Composant->m_Module.IsEmpty() ) IsNew = 0;
if( Composant == NULL )
return;
if( !Composant->m_Module.IsEmpty() )
IsNew = 0;
Composant->m_Module = package;
Composant->m_Module = package;
Line.Printf( CMP_FORMAT ,ii+1,
Composant->m_Reference.GetData(), Composant->m_Valeur.GetData(),
Composant->m_Module.GetData());
modified = 1;
if ( IsNew ) composants_non_affectes -= 1;
Line.Printf( CMP_FORMAT, ii + 1,
Composant->m_Reference.GetData(), Composant->m_Valeur.GetData(),
Composant->m_Module.GetData() );
modified = 1;
if( IsNew )
composants_non_affectes -= 1;
m_ListCmp->SetString(NumCmp, Line);
m_ListCmp->SetSelection(NumCmp, FALSE);
m_ListCmp->SetString( NumCmp, Line );
m_ListCmp->SetSelection( NumCmp, FALSE );
// We activate next component:
if ( NumCmp < (m_ListCmp->GetCount() - 1) ) NumCmp++;
m_ListCmp->SetSelection(NumCmp, TRUE);
// We activate next component:
if( NumCmp < (m_ListCmp->GetCount() - 1) )
NumCmp++;
m_ListCmp->SetSelection( NumCmp, TRUE );
Line.Printf( _("Components: %d (free: %d)"),
nbcomp, composants_non_affectes);
SetStatusText(Line,1);
Line.Printf( _( "Components: %d (free: %d)" ),
nbcomp, composants_non_affectes );
SetStatusText( Line, 1 );
}
/********************************************/
void WinEDA_CvpcbFrame::ReadNetListe()
/*******************************************/
/* Lecture de la netliste selon format, ainsi que du fichier des composants
*/
*/
{
STORECMP * Composant;
wxString msg;
int ii;
int error_level;
STORECMP* Composant;
wxString msg;
int ii;
int error_level;
error_level = ReadSchematicNetlist();
error_level = ReadSchematicNetlist();
if ( error_level < 0 ) return;
if( error_level < 0 )
return;
/* lecture des correspondances */
loadcmp();
/* lecture des correspondances */
loadcmp();
if (m_ListCmp == NULL ) return;
if( m_ListCmp == NULL )
return;
if ( ! NetInNameBuffer.IsEmpty() )
wxSetWorkingDirectory( wxPathOnly(NetInNameBuffer) );
if( !NetInNameBuffer.IsEmpty() )
wxSetWorkingDirectory( wxPathOnly( NetInNameBuffer ) );
Read_Config(NetInNameBuffer); // relecture de la config (elle peut etre modifiée)
Read_Config( NetInNameBuffer ); // relecture de la config (elle peut etre modifiée)
listlib();
BuildFootprintListBox();
listlib();
BuildFootprintListBox();
m_ListCmp->Clear();
Composant = g_BaseListeCmp;
m_ListCmp->Clear();
Composant = g_BaseListeCmp;
composants_non_affectes = 0;
for ( ii = 1;Composant != NULL; Composant = Composant->Pnext, ii++ )
{
msg.Printf(CMP_FORMAT ,ii,
Composant->m_Reference.GetData(), Composant->m_Valeur.GetData(),
Composant->m_Module.GetData());
m_ListCmp->AppendLine(msg);
if( Composant->m_Module.IsEmpty() ) composants_non_affectes += 1;
}
if ( g_BaseListeCmp )
m_ListCmp->SetSelection(0, TRUE);
composants_non_affectes = 0;
for( ii = 1; Composant != NULL; Composant = Composant->Pnext, ii++ )
{
msg.Printf( CMP_FORMAT, ii,
Composant->m_Reference.GetData(),
Composant->m_Valeur.GetData(),
Composant->m_Module.GetData() );
m_ListCmp->AppendLine( msg );
if( Composant->m_Module.IsEmpty() )
composants_non_affectes += 1;
}
msg.Printf(_("Componants: %d (free: %d)"), nbcomp, composants_non_affectes);
SetStatusText(msg,1);
if( g_BaseListeCmp )
m_ListCmp->SetSelection( 0, TRUE );
/* Mise a jour du titre de la fenetre principale */
wxString Title = g_Main_Title + wxT(" ") + GetBuildVersion();
msg.Printf( wxT("%s [%s]"), Title.GetData(), FFileName.GetData());
SetTitle(msg);
msg.Printf( _( "Componants: %d (free: %d)" ), nbcomp,
composants_non_affectes );
SetStatusText( msg, 1 );
/* Mise a jour du titre de la fenetre principale */
wxString Title = g_Main_Title + wxT( " " ) + GetBuildVersion();
msg.Printf( wxT( "%s [%s]" ), Title.GetData(), FFileName.GetData() );
SetTitle( msg );
}
/*****************************************************************/
int WinEDA_CvpcbFrame::SaveNetList(const wxString & FullFilename)
int WinEDA_CvpcbFrame::SaveNetList( const wxString& FullFilename )
/*****************************************************************/
/* Sauvegarde des fichiers netliste et cmp
Le nom complet du fichier Netliste doit etre dans FFileName.
Le nom du fichier cmp en est deduit
*/
* Le nom complet du fichier Netliste doit etre dans FFileName.
* Le nom du fichier cmp en est deduit
*/
{
wxString NetlistFullFileName = FullFilename;
wxString NetlistFullFileName = FullFilename;
if ( NetlistFullFileName.IsEmpty() )
{
wxString Mask = wxT("*") + NetExtBuffer;
if ( ! NetNameBuffer.IsEmpty() )
{
NetlistFullFileName = NetNameBuffer;
ChangeFileNameExt(NetlistFullFileName, NetExtBuffer);
}
if( NetlistFullFileName.IsEmpty() )
{
wxString Mask = wxT( "*" ) + NetExtBuffer;
if( !NetNameBuffer.IsEmpty() )
{
NetlistFullFileName = NetNameBuffer;
ChangeFileNameExt( NetlistFullFileName, NetExtBuffer );
}
NetlistFullFileName = EDA_FileSelector( _("Save NetList and Components List files"),
NetDirBuffer, /* Chemin par defaut */
NetlistFullFileName, /* nom fichier par defaut */
NetExtBuffer, /* extension par defaut */
Mask, /* Masque d'affichage */
this,
wxFD_SAVE,
TRUE
);
}
if ( NetlistFullFileName.IsEmpty() ) return -1;
NetlistFullFileName =
EDA_FileSelector( _( "Save NetList and Components List files" ),
NetDirBuffer, /* Chemin par defaut */
NetlistFullFileName, /* nom fichier par defaut */
NetExtBuffer, /* extension par defaut */
Mask, /* Masque d'affichage */
this,
wxFD_SAVE,
TRUE
);
}
if( NetlistFullFileName.IsEmpty() )
return -1;
FFileName = NetlistFullFileName;
NetNameBuffer = NetlistFullFileName;
if( SaveComponentList(NetlistFullFileName) == 0 )
{
DisplayError(this, _("Unable to create component file (.cmp)") );
return 0;
}
FFileName = NetlistFullFileName;
NetNameBuffer = NetlistFullFileName;
if( SaveComponentList( NetlistFullFileName ) == 0 )
{
DisplayError( this, _( "Unable to create component file (.cmp)" ) );
return 0;
}
dest = wxFopen(NetlistFullFileName, wxT("wt") );
if( dest == 0 )
{
DisplayError(this, _("Unable to create netlist file") );
return 0;
}
dest = wxFopen( NetlistFullFileName, wxT( "wt" ) );
if( dest == 0 )
{
DisplayError( this, _( "Unable to create netlist file" ) );
return 0;
}
GenNetlistPcbnew() ;
GenNetlistPcbnew();
return 1;
return 1;
}
/**********************************************************************/
bool WinEDA_CvpcbFrame::ReadInputNetList(const wxString & FullFileName)
bool WinEDA_CvpcbFrame::ReadInputNetList( const wxString& FullFileName )
/**********************************************************************/
/* Routine de selection du nom de la netliste d'entree, et de lecure de
celle-ci
*/
* celle-ci
*/
{
wxString Mask, Line;
wxString Mask, Line;
if ( FullFileName.IsEmpty() )
{
if( ! NetInExtBuffer.IsEmpty() ) Mask = wxT("*") + NetInExtBuffer;
else Mask = wxT("*.net");
Line = EDA_FileSelector(_("Load Net List"),
NetDirBuffer, /* Chemin par defaut */
NetInNameBuffer, /* nom fichier par defaut */
NetInExtBuffer, /* extension par defaut */
Mask, /* Masque d'affichage */
this,
0,
FALSE
);
if ( Line.IsEmpty()) return(FALSE);
}
else Line = FullFileName;
if( FullFileName.IsEmpty() )
{
if( !NetInExtBuffer.IsEmpty() )
Mask = wxT( "*" ) + NetInExtBuffer;
else
Mask = wxT( "*.net" );
Line = EDA_FileSelector( _( "Load Net List" ),
NetDirBuffer, /* Chemin par defaut */
NetInNameBuffer, /* nom fichier par defaut */
NetInExtBuffer, /* extension par defaut */
Mask, /* Masque d'affichage */
this,
0,
FALSE
);
if( Line.IsEmpty() )
return FALSE;
}
else
Line = FullFileName;
NetInNameBuffer = Line;
NetNameBuffer = Line;
FFileName = NetInNameBuffer;
NetInNameBuffer = Line;
NetNameBuffer = Line;
FFileName = NetInNameBuffer;
/* Mise a jour du titre de la fenetre principale */
Line = g_Main_Title + wxT(" ") + GetBuildVersion();
Line += wxT(" ") + NetInNameBuffer;
SetTitle(Line);
/* Mise a jour du titre de la fenetre principale */
Line = g_Main_Title + wxT( " " ) + GetBuildVersion();
Line += wxT( " " ) + NetInNameBuffer;
SetTitle( Line );
ReadNetListe();
ReadNetListe();
return(TRUE);
return TRUE;
}

View File

@ -3,14 +3,14 @@
/*************************************************************************/
#include "fctsys.h"
#include "wxstruct.h"
#include "common.h"
#include "cvpcb.h"
#include "id.h"
#include "cvpcb.h"
#include "protos.h"
#include "cvstruct.h"
/******************************************************************************/
/* Basic class (from wxListView) for displaying component and footprint lists */

View File

@ -1,250 +1,277 @@
/**************/
/* listlib.cpp */
/**************/
/**************/
/* listlib.cpp */
/**************/
/*
cherche toutes les ref <chemin lib>*.??? si nom fichier prsent,
ou examine <chemin lib>[MODULE.LIB]
*/
* cherche toutes les ref <chemin lib>*.??? si nom fichier prsent,
* ou examine <chemin lib>[MODULE.LIB]
*/
#include "fctsys.h"
#include "wxstruct.h"
#include "common.h"
#include "cvpcb.h"
#include "confirm.h"
#include "kicad_string.h"
#include "gestfich.h"
#include "cvpcb.h"
#include "protos.h"
FILE *name_libmodules ; /* pour lecture librairie */
FILE* name_libmodules; /* pour lecture librairie */
/* routines locales : */
static void ReadDocLib(const wxString & ModLibName );
static int LibCompare(void * mod1, void * mod2);
static STOREMOD * TriListeModules(STOREMOD * BaseListe, int nbitems);
static void ReadDocLib( const wxString& ModLibName );
static int LibCompare( void* mod1, void* mod2 );
static STOREMOD* TriListeModules( STOREMOD* BaseListe, int nbitems );
/**/
/*********************/
int listlib()
/*********************/
/* Routine lisant la liste des librairies, et generant la liste chainee
des modules disponibles
Module descr format:
$MODULE c64acmd
Li c64acmd
Cd Connecteur DIN Europe 96 Contacts AC male droit
Kw PAD_CONN DIN
$EndMODULE
*/
* des modules disponibles
*
* Module descr format:
* $MODULE c64acmd
* Li c64acmd
* Cd Connecteur DIN Europe 96 Contacts AC male droit
* Kw PAD_CONN DIN
* $EndMODULE
*
*/
{
char buffer[1024];
wxString FullLibName;
int errorlevel = 0, end;
int flag_librairie;
STOREMOD * ItemLib;
unsigned ii;
wxString msg;
char buffer[1024];
wxString FullLibName;
int errorlevel = 0, end;
int flag_librairie;
STOREMOD* ItemLib;
unsigned ii;
wxString msg;
if( g_BaseListePkg ) /* Liste Deja existante, a supprimer */
{
FreeMemoryModules(); g_BaseListePkg = NULL;
}
if( g_BaseListePkg ) /* Liste Deja existante, a supprimer */
{
FreeMemoryModules();
g_BaseListePkg = NULL;
}
if ( g_LibName_List.GetCount() == 0 ) return -4;
if( g_LibName_List.GetCount() == 0 )
return -4;
/* init recherche */
SetRealLibraryPath( wxT("modules"));
nblib = 0;
/* init recherche */
SetRealLibraryPath( wxT( "modules" ) );
nblib = 0;
/* Lecture des Librairies */
for( ii= 0 ; ii < g_LibName_List.GetCount(); ii++)
{
/* Calcul du nom complet de la librairie */
FullLibName = MakeFileName(g_RealLibDirBuffer, g_LibName_List[ii], LibExtBuffer);
/* acces a une librairie */
if ((name_libmodules = wxFopen(FullLibName, wxT("rt"))) == NULL )
{
msg.Printf( _("Library file <%s> not found"),FullLibName.GetData());
DisplayError(NULL, msg, 20);
continue;
}
/* Lecture des Librairies */
for( ii = 0; ii < g_LibName_List.GetCount(); ii++ )
{
/* Calcul du nom complet de la librairie */
FullLibName = MakeFileName( g_RealLibDirBuffer,
g_LibName_List[ii],
LibExtBuffer );
/* acces a une librairie */
if( ( name_libmodules = wxFopen( FullLibName, wxT( "rt" ) ) ) == NULL )
{
msg.Printf( _( "Library file <%s> not found" ),
FullLibName.GetData() );
DisplayError( NULL, msg, 20 );
continue;
}
/* Controle du type de la librairie : */
flag_librairie = 0;
fgets(buffer,32,name_libmodules) ;
if( strncmp(buffer,ENTETE_LIBRAIRIE,L_ENTETE_LIB) != 0 )
{
msg.Printf(_("Library file <%s> is not a module library"),
FullLibName.GetData());
DisplayError(NULL, msg, 20);
fclose(name_libmodules); continue;
}
/* Controle du type de la librairie : */
flag_librairie = 0;
fgets( buffer, 32, name_libmodules );
if( strncmp( buffer, ENTETE_LIBRAIRIE, L_ENTETE_LIB ) != 0 )
{
msg.Printf( _( "Library file <%s> is not a module library" ),
FullLibName.GetData() );
DisplayError( NULL, msg, 20 );
fclose( name_libmodules );
continue;
}
/* Lecture du nombre de composants */
fseek(name_libmodules,0,0) ;
/* Lecture du nombre de composants */
fseek( name_libmodules, 0, 0 );
/* lecture nom des composants : */
end = 0;
while( !end && fgets(buffer,255,name_libmodules) != NULL )
{
if(strnicmp(buffer,"$INDEX",6) == 0 )
{
while( fgets(buffer,255,name_libmodules) != NULL )
{
if(strnicmp(buffer,"$EndINDEX",6) == 0 )
{ end = 1; break; }
/* lecture nom des composants : */
end = 0;
while( !end && fgets( buffer, 255, name_libmodules ) != NULL )
{
if( strnicmp( buffer, "$INDEX", 6 ) == 0 )
{
while( fgets( buffer, 255, name_libmodules ) != NULL )
{
if( strnicmp( buffer, "$EndINDEX", 6 ) == 0 )
{
end = 1;
break;
}
ItemLib = new STOREMOD();
ItemLib->Pnext = g_BaseListePkg;
g_BaseListePkg = ItemLib;
ItemLib->m_Module = CONV_FROM_UTF8(StrPurge(buffer));
ItemLib->m_LibName = FullLibName;
ItemLib = new STOREMOD();
ItemLib->Pnext = g_BaseListePkg;
g_BaseListePkg = ItemLib;
ItemLib->m_Module = CONV_FROM_UTF8( StrPurge( buffer ) );
ItemLib->m_LibName = FullLibName;
nblib++;
}
if( !end ) errorlevel = -3;
}
}
fclose(name_libmodules);
ReadDocLib(FullLibName );
}
nblib++;
}
/* classement alphabetique: */
if( g_BaseListePkg )
g_BaseListePkg = TriListeModules(g_BaseListePkg, nblib);
if( !end )
errorlevel = -3;
}
}
return(errorlevel) ;
fclose( name_libmodules );
ReadDocLib( FullLibName );
}
/* classement alphabetique: */
if( g_BaseListePkg )
g_BaseListePkg = TriListeModules( g_BaseListePkg, nblib );
return errorlevel;
}
/************************************************/
static int LibCompare(void * mod1, void * mod2)
static int LibCompare( void* mod1, void* mod2 )
/************************************************/
/*
routine compare() pour qsort() en classement alphabétique des modules
*/
* routine compare() pour qsort() en classement alphabétique des modules
*/
{
int ii;
STOREMOD *pt1 , *pt2;
int ii;
STOREMOD* pt1, * pt2;
pt1 = * ((STOREMOD**)mod1);
pt2 = * ((STOREMOD**)mod2);
pt1 = *( (STOREMOD**) mod1 );
pt2 = *( (STOREMOD**) mod2 );
ii = StrNumICmp( pt1->m_Module.GetData(), pt2->m_Module.GetData() );
return(ii);
ii = StrNumICmp( pt1->m_Module.GetData(), pt2->m_Module.GetData() );
return ii;
}
/********************************************************************/
static STOREMOD* TriListeModules( STOREMOD* BaseListe, int nbitems )
/********************************************************************/
/********************************************************************/
static STOREMOD * TriListeModules(STOREMOD * BaseListe, int nbitems)
/********************************************************************/
/* Tri la liste des Modules par ordre alphabetique et met a jour
le nouveau chainage avant/arriere
retourne un pointeur sur le 1er element de la liste
*/
* le nouveau chainage avant/arriere
* retourne un pointeur sur le 1er element de la liste
*/
{
STOREMOD ** bufferptr, * Item;
int ii, nb;
STOREMOD** bufferptr, * Item;
int ii, nb;
if (nbitems <= 0 ) return(NULL);
if ( BaseListe == NULL ) return(NULL);
if( nbitems <= 0 )
return NULL;
if( BaseListe == NULL )
return NULL;
if (nbitems == 1 ) return(BaseListe); // Tri inutile et impossible
if( nbitems == 1 )
return BaseListe; // Tri inutile et impossible
bufferptr = (STOREMOD**)MyZMalloc( (nbitems+3) * sizeof(STOREMOD*) );
bufferptr = (STOREMOD**) MyZMalloc( (nbitems + 3) * sizeof(STOREMOD*) );
for( ii = 1, nb = 0, Item = BaseListe; Item != NULL; Item = Item->Pnext, ii++)
{
nb++;
bufferptr[ii] = Item;
}
for( ii = 1, nb = 0, Item = BaseListe;
Item != NULL;
Item = Item->Pnext, ii++ )
{
nb++;
bufferptr[ii] = Item;
}
/* ici bufferptr[0] = NULL et bufferptr[nbitem+1] = NULL et ces 2 valeurs
representent le chainage arriere du 1er element ( = NULL),
et le chainage avant du dernier element ( = NULL ) */
/* ici bufferptr[0] = NULL et bufferptr[nbitem+1] = NULL et ces 2 valeurs
* representent le chainage arriere du 1er element ( = NULL),
* et le chainage avant du dernier element ( = NULL ) */
qsort(bufferptr+1,nb,sizeof(STOREMOD*),
(int(*)(const void*,const void*))LibCompare) ;
qsort( bufferptr + 1, nb, sizeof(STOREMOD*),
( int( * ) ( const void*, const void* ) )LibCompare );
/* Mise a jour du chainage */
for( ii = 1; ii <= nb; ii++ )
{
Item = bufferptr[ii];
Item->m_Num = ii;
Item->Pnext = bufferptr[ii+1];
Item->Pback = bufferptr[ii-1];
}
/* Mise a jour du chainage */
for( ii = 1; ii <= nb; ii++ )
{
Item = bufferptr[ii];
Item->m_Num = ii;
Item->Pnext = bufferptr[ii + 1];
Item->Pback = bufferptr[ii - 1];
}
Item = bufferptr[1];
MyFree(bufferptr);
Item = bufferptr[1];
MyFree( bufferptr );
return(Item);
return Item;
}
/***************************************************/
static void ReadDocLib( const wxString& ModLibName )
/***************************************************/
/***************************************************/
static void ReadDocLib(const wxString & ModLibName )
/***************************************************/
/* Routine de lecture du fichier Doc associe a la librairie ModLibName.
Cree en memoire la chaine liste des docs pointee par MList
ModLibName = full file Name de la librairie Modules
*/
* Cree en memoire la chaine liste des docs pointee par MList
* ModLibName = full file Name de la librairie Modules
*/
{
STOREMOD * NewMod;
char Line[1024];
wxString ModuleName;
wxString docfilename;
FILE * LibDoc;
STOREMOD* NewMod;
char Line[1024];
wxString ModuleName;
wxString docfilename;
FILE* LibDoc;
docfilename = ModLibName;
ChangeFileNameExt(docfilename, EXT_DOC);
docfilename = ModLibName;
ChangeFileNameExt( docfilename, EXT_DOC );
if( (LibDoc = wxFopen(docfilename, wxT("rt"))) == NULL ) return;
if( ( LibDoc = wxFopen( docfilename, wxT( "rt" ) ) ) == NULL )
return;
GetLine(LibDoc, Line, NULL, sizeof(Line) -1);
if(strnicmp( Line,ENTETE_LIBDOC, L_ENTETE_LIB) != 0) return;
GetLine( LibDoc, Line, NULL, sizeof(Line) - 1 );
if( strnicmp( Line, ENTETE_LIBDOC, L_ENTETE_LIB ) != 0 )
return;
/* Lecture de la librairie */
while( GetLine(LibDoc,Line, NULL, sizeof(Line) -1) )
{
NewMod = NULL;
if( Line[0] != '$' ) continue;
if( Line[1] == 'E' ) break;;
if( Line[1] == 'M' ) /* Debut decription 1 module */
{
while( GetLine(LibDoc,Line, NULL, sizeof(Line) -1) )
{
if( Line[0] == '$' ) /* $EndMODULE */
break;
switch( Line[0] )
{
case 'L': /* LibName */
ModuleName = CONV_FROM_UTF8(StrPurge(Line+3));
NewMod = g_BaseListePkg;
while ( NewMod )
{
if( ModuleName == NewMod->m_Module ) break;
NewMod = NewMod->Pnext;
}
break;
/* Lecture de la librairie */
while( GetLine( LibDoc, Line, NULL, sizeof(Line) - 1 ) )
{
NewMod = NULL;
if( Line[0] != '$' )
continue;
if( Line[1] == 'E' )
break;;
if( Line[1] == 'M' ) /* Debut decription 1 module */
{
while( GetLine( LibDoc, Line, NULL, sizeof(Line) - 1 ) )
{
if( Line[0] == '$' ) /* $EndMODULE */
break;
switch( Line[0] )
{
case 'L': /* LibName */
ModuleName = CONV_FROM_UTF8( StrPurge( Line + 3 ) );
NewMod = g_BaseListePkg;
while( NewMod )
{
if( ModuleName == NewMod->m_Module )
break;
NewMod = NewMod->Pnext;
}
case 'K': /* KeyWords */
if( NewMod && (! NewMod->m_KeyWord) )
NewMod->m_KeyWord = CONV_FROM_UTF8(StrPurge(Line+3) );
break;
break;
case 'C': /* Doc */
if( NewMod && (! NewMod->m_Doc ) )
NewMod->m_Doc = CONV_FROM_UTF8(StrPurge(Line+3) );
break;
}
}
} /* lecture 1 descr module */
} /* Fin lecture librairie */
fclose(LibDoc);
case 'K': /* KeyWords */
if( NewMod && (!NewMod->m_KeyWord) )
NewMod->m_KeyWord = CONV_FROM_UTF8( StrPurge( Line + 3 ) );
break;
case 'C': /* Doc */
if( NewMod && (!NewMod->m_Doc ) )
NewMod->m_Doc = CONV_FROM_UTF8( StrPurge( Line + 3 ) );
break;
}
}
} /* lecture 1 descr module */
} /* Fin lecture librairie */
fclose( LibDoc );
}

View File

@ -3,11 +3,15 @@
/***************************************************/
#include "fctsys.h"
#include "wxstruct.h"
#include "common.h"
#include "confirm.h"
#include "kicad_string.h"
#include "gestfich.h"
#include "cvpcb.h"
#include "protos.h"
#include "cvstruct.h"
/*****************************************************************/
@ -103,7 +107,8 @@ MODULE* WinEDA_DisplayFrame::Get_Module( const wxString& CmpName )
}
}
fclose( lib_module ); lib_module = 0;
fclose( lib_module );
lib_module = 0;
}
if( lib_module )

View File

@ -5,10 +5,14 @@
/* cree et/ou affiche et modifie la configuration de CVPCB */
#include "fctsys.h"
#include "appl_wxstruct.h"
#include "common.h"
#include "confirm.h"
#include "gestfich.h"
#include "cvpcb.h"
#include "protos.h"
#include "cvstruct.h"
/*****************************************/

View File

@ -8,12 +8,15 @@
*/
#include "fctsys.h"
#include "wxstruct.h"
#include "common.h"
#include "cvpcb.h"
#include "confirm.h"
#include "kicad_string.h"
#include "cvpcb.h"
#include "protos.h"
#include "cvstruct.h"
#define SEPARATEUR '|' /* caractere separateur dans netliste */

View File

@ -1,167 +1,181 @@
/**************/
/* savecmp() */
/**************/
/**************/
/* savecmp() */
/**************/
/* sauvegarde la liste des associations composants/empreintes */
#include "fctsys.h"
#include "wxstruct.h"
#include "common.h"
#include "confirm.h"
#include "kicad_string.h"
#include "gestfich.h"
#include "cvpcb.h"
#include "protos.h"
#include "cvstruct.h"
/* Chaines de caractere d'identification */
char EnteteCmpMod[] = {"Cmp-Mod V01"};
char EnteteCmpMod[] = { "Cmp-Mod V01" };
/****************************************************************************/
int WinEDA_CvpcbFrame::SaveComponentList(const wxString & NetlistFullFileName)
int WinEDA_CvpcbFrame::SaveComponentList( const wxString& NetlistFullFileName )
/*****************************************************************************/
/* Routine de sauvegarde du fichier des modules
Retourne 1 si OK
0 si ecriture non faite
*/
* Retourne 1 si OK
* 0 si ecriture non faite
*/
{
STORECMP * Cmp;
wxString FullFileName;
char Line[1024];
wxString Title = g_Main_Title + wxT(" ") + GetBuildVersion();
STORECMP* Cmp;
wxString FullFileName;
char Line[1024];
wxString Title = g_Main_Title + wxT( " " ) + GetBuildVersion();
/* calcul du nom du fichier */
FullFileName = NetlistFullFileName;
ChangeFileNameExt(FullFileName, g_ExtCmpBuffer);
/* calcul du nom du fichier */
FullFileName = NetlistFullFileName;
ChangeFileNameExt( FullFileName, g_ExtCmpBuffer );
dest = wxFopen(FullFileName, wxT("wt") );
if( dest == NULL ) return(0); /* Erreur ecriture */
dest = wxFopen( FullFileName, wxT( "wt" ) );
if( dest == NULL )
return 0; /* Erreur ecriture */
fprintf(dest,"%s", EnteteCmpMod);
fprintf(dest," Created by %s", CONV_TO_UTF8(Title));
fprintf(dest," date = %s\n", DateAndTime(Line));
fprintf( dest, "%s", EnteteCmpMod );
fprintf( dest, " Created by %s", CONV_TO_UTF8( Title ) );
fprintf( dest, " date = %s\n", DateAndTime( Line ) );
for ( Cmp = g_BaseListeCmp ; Cmp != NULL ; Cmp = Cmp->Pnext )
{
fprintf(dest,"\nBeginCmp\n");
fprintf(dest,"TimeStamp = %s;\n", CONV_TO_UTF8(Cmp->m_TimeStamp));
fprintf(dest,"Reference = %s;\n", CONV_TO_UTF8(Cmp->m_Reference));
fprintf(dest,"ValeurCmp = %s;\n", CONV_TO_UTF8(Cmp->m_Valeur));
fprintf(dest,"IdModule = %s;\n", CONV_TO_UTF8(Cmp->m_Module));
fprintf(dest,"EndCmp\n");
}
fprintf(dest,"\nEndListe\n") ;
fclose(dest) ;
for( Cmp = g_BaseListeCmp; Cmp != NULL; Cmp = Cmp->Pnext )
{
fprintf( dest, "\nBeginCmp\n" );
fprintf( dest, "TimeStamp = %s;\n", CONV_TO_UTF8( Cmp->m_TimeStamp ) );
fprintf( dest, "Reference = %s;\n", CONV_TO_UTF8( Cmp->m_Reference ) );
fprintf( dest, "ValeurCmp = %s;\n", CONV_TO_UTF8( Cmp->m_Valeur ) );
fprintf( dest, "IdModule = %s;\n", CONV_TO_UTF8( Cmp->m_Module ) );
fprintf( dest, "EndCmp\n" );
}
return(1) ;
fprintf( dest, "\nEndListe\n" );
fclose( dest );
return 1;
}
/****************/
int loadcmp()
/***************/
/* recupere la liste des associations composants/empreintes
*/
*/
{
wxString timestamp, valeur, ilib, namecmp;
bool read_cmp_data = FALSE, eof = FALSE;
STORECMP * Cmp;
char Line[1024], * ident, *data;
wxString FullFileName;
wxString timestamp, valeur, ilib, namecmp;
bool read_cmp_data = FALSE, eof = FALSE;
STORECMP* Cmp;
char Line[1024], * ident, * data;
wxString FullFileName;
/* calcul du nom du fichier */
FullFileName = FFileName;
ChangeFileNameExt(FullFileName, g_ExtCmpBuffer);
/* calcul du nom du fichier */
FullFileName = FFileName;
ChangeFileNameExt( FullFileName, g_ExtCmpBuffer );
source = wxFopen(FullFileName, wxT("rt") );
if (source == NULL )
{
return(0) ;
}
source = wxFopen( FullFileName, wxT( "rt" ) );
if( source == NULL )
{
return 0;
}
/* Identification du Type de fichier CmpMod */
if ( fgets(Line,79,source) == 0 ) return(0);
if( strnicmp(Line, EnteteCmpMod, 11 ) != 0 ) /* old file version*/
{
fclose(source) ;
DisplayError( NULL, wxT("Old version of Componaent file, recreate it!"));
return(0) ;
}
/* Identification du Type de fichier CmpMod */
if( fgets( Line, 79, source ) == 0 )
return 0;
if( strnicmp( Line, EnteteCmpMod, 11 ) != 0 ) /* old file version*/
{
fclose( source );
DisplayError( NULL,
wxT( "Old version of Componaent file, recreate it!" ) );
return 0;
}
/* lecture de la liste */
while( ! eof && fgets(Line,79,source) != 0 )
{
if( strnicmp(Line, "EndListe", 8 ) == 0 ) break;
/* lecture de la liste */
while( !eof && fgets( Line, 79, source ) != 0 )
{
if( strnicmp( Line, "EndListe", 8 ) == 0 )
break;
/* Recherche du debut de description du composant */
if( strnicmp(Line, "BeginCmp", 8 ) != 0 ) continue;
timestamp.Empty();
valeur.Empty();
ilib.Empty();
namecmp.Empty();
read_cmp_data = TRUE;
/* Recherche du debut de description du composant */
if( strnicmp( Line, "BeginCmp", 8 ) != 0 )
continue;
timestamp.Empty();
valeur.Empty();
ilib.Empty();
namecmp.Empty();
read_cmp_data = TRUE;
while( ! eof && read_cmp_data )
{
if( fgets(Line, 1024,source) == 0 )
{
eof = TRUE; break;
}
while( !eof && read_cmp_data )
{
if( fgets( Line, 1024, source ) == 0 )
{
eof = TRUE; break;
}
if( strnicmp(Line, "EndCmp", 6 ) == 0 )
{
read_cmp_data = TRUE; break;
}
if( strnicmp( Line, "EndCmp", 6 ) == 0 )
{
read_cmp_data = TRUE; break;
}
ident = strtok ( Line,"=;\n\r");
data = strtok ( NULL,";\n\r");
if( strnicmp(ident, "TimeStamp", 9) == 0)
{
timestamp = CONV_FROM_UTF8(data);
timestamp.Trim(TRUE);
timestamp.Trim(FALSE);
continue;
}
ident = strtok( Line, "=;\n\r" );
data = strtok( NULL, ";\n\r" );
if( strnicmp( ident, "TimeStamp", 9 ) == 0 )
{
timestamp = CONV_FROM_UTF8( data );
timestamp.Trim( TRUE );
timestamp.Trim( FALSE );
continue;
}
if( strnicmp(ident, "Reference", 9) == 0)
{
namecmp = CONV_FROM_UTF8(data);
namecmp.Trim(TRUE);
namecmp.Trim(FALSE);
continue;
}
if( strnicmp( ident, "Reference", 9 ) == 0 )
{
namecmp = CONV_FROM_UTF8( data );
namecmp.Trim( TRUE );
namecmp.Trim( FALSE );
continue;
}
if( strnicmp(ident, "ValeurCmp", 9) == 0)
{
valeur = CONV_FROM_UTF8(data);
valeur.Trim(TRUE);
valeur.Trim(FALSE);
continue;
}
if( strnicmp( ident, "ValeurCmp", 9 ) == 0 )
{
valeur = CONV_FROM_UTF8( data );
valeur.Trim( TRUE );
valeur.Trim( FALSE );
continue;
}
if( strnicmp(ident, "IdModule", 8) == 0)
{
ilib = CONV_FROM_UTF8(data);
ilib.Trim(TRUE);
ilib.Trim(FALSE);
continue;
}
} /* Fin lecture description de 1 composant */
if( strnicmp( ident, "IdModule", 8 ) == 0 )
{
ilib = CONV_FROM_UTF8( data );
ilib.Trim( TRUE );
ilib.Trim( FALSE );
continue;
}
} /* Fin lecture description de 1 composant */
/* Recherche du composant correspondant en netliste et
mise a jour de ses parametres */
for ( Cmp = g_BaseListeCmp ; Cmp != NULL ; Cmp = Cmp->Pnext )
{
if (selection_type == 1 )
{
if( timestamp != Cmp->m_TimeStamp )
continue ;
}
else
if( namecmp != Cmp->m_Reference ) continue;
/* Recherche du composant correspondant en netliste et
* mise a jour de ses parametres */
for( Cmp = g_BaseListeCmp; Cmp != NULL; Cmp = Cmp->Pnext )
{
if( selection_type == 1 )
{
if( timestamp != Cmp->m_TimeStamp )
continue;
}
else
if( namecmp != Cmp->m_Reference )
continue;
/* composant identifie , copie du nom du module correspondant */
Cmp->m_Module= ilib;
}
}
fclose(source) ;
return(1) ;
/* composant identifie , copie du nom du module correspondant */
Cmp->m_Module = ilib;
}
}
fclose( source );
return 1;
}

View File

@ -3,14 +3,17 @@
/*********************************************************************/
#include "fctsys.h"
#include "common.h"
#include "cvpcb.h"
#include "3d_viewer.h"
#include "class_drawpanel.h"
#include "id.h"
#include "bitmaps.h"
#include "3d_viewer.h"
#include "bitmaps.h"
#include "cvpcb.h"
#include "protos.h"
#include "cvstruct.h"
/*******************************************/
void WinEDA_CvpcbFrame::CreateScreenCmp()

View File

@ -3,16 +3,15 @@
/***************************************************/
#include "fctsys.h"
#include "appl_wxstruct.h"
#include "common.h"
#include "cvpcb.h"
#include "id.h"
#include "trigo.h"
#include "protos.h"
#include "bitmaps.h"
#include "id.h"
#include "cvpcb.h"
#include "protos.h"
#include "cvstruct.h"
/*********************************************/

View File

@ -1,29 +1,30 @@
/***************************/
/* writenetlistpcbnew.cpp */
/***************************/
/***************************/
/* writenetlistpcbnew.cpp */
/***************************/
/*
Complete la netliste (*.NET) en y placant les ref *.lib FORMAT PCBNEW ou ORCADPCB
*/
* Complete la netliste (*.NET) en y placant les ref *.lib FORMAT PCBNEW ou ORCADPCB
*/
#include "fctsys.h"
#include "common.h"
#include "cvpcb.h"
#include "confirm.h"
#include "kicad_string.h"
#include "cvpcb.h"
#include "protos.h"
#define MAX_LEN_NETNAME 16
/* Routines locales */
static void TriPinsModule( STORECMP * CurrentCmp );
static int PinCompare(const void *cmp1, const void *cmp2);
static void ChangePinNet( wxString & PinNet );
static void WriteFootprintFilterInfos(FILE * dest);
static void TriPinsModule( STORECMP* CurrentCmp );
static int PinCompare( const void* cmp1, const void* cmp2 );
static void ChangePinNet( wxString& PinNet );
static void WriteFootprintFilterInfos( FILE* dest );
/* Variables Locales */
int NetNumCode; /* Nombre utilise pour cree des NetNames lors de
reaffectation de NetNames */
int NetNumCode; /* Nombre utilise pour cree des NetNames lors de
* reaffectation de NetNames */
/*************************/
@ -31,205 +32,228 @@ int GenNetlistPcbnew()
/*************************/
{
#define NETLIST_HEAD_STRING "EESchema Netlist Version 1.1"
char Line[1024];
STOREPIN * Pin;
STORECMP * CurrentCmp;
wxString Title = g_Main_Title + wxT(" ") + GetBuildVersion();
char Line[1024];
STOREPIN* Pin;
STORECMP* CurrentCmp;
wxString Title = g_Main_Title + wxT( " " ) + GetBuildVersion();
NetNumCode = 1; DateAndTime(Line);
if ( g_FlagEESchema )
fprintf( dest, "# %s created %s\n(\n", NETLIST_HEAD_STRING, Line);
else fprintf( dest, "( { netlist created %s }\n", Line );
NetNumCode = 1; DateAndTime( Line );
if( g_FlagEESchema )
fprintf( dest, "# %s created %s\n(\n", NETLIST_HEAD_STRING, Line );
else
fprintf( dest, "( { netlist created %s }\n", Line );
/***********************/
/* Lecture de la liste */
/***********************/
/***********************/
/* Lecture de la liste */
/***********************/
CurrentCmp = g_BaseListeCmp;
for( ; CurrentCmp != NULL; CurrentCmp = CurrentCmp->Pnext)
{
fprintf(dest," ( %s ", CONV_TO_UTF8(CurrentCmp->m_TimeStamp));
CurrentCmp = g_BaseListeCmp;
for( ; CurrentCmp != NULL; CurrentCmp = CurrentCmp->Pnext )
{
fprintf( dest, " ( %s ", CONV_TO_UTF8( CurrentCmp->m_TimeStamp ) );
if( ! CurrentCmp->m_Module.IsEmpty() )
fprintf(dest, CONV_TO_UTF8(CurrentCmp->m_Module));
if( !CurrentCmp->m_Module.IsEmpty() )
fprintf( dest, CONV_TO_UTF8( CurrentCmp->m_Module ) );
else fprintf(dest,"$noname$") ;
else
fprintf( dest, "$noname$" );
fprintf(dest," %s ",CONV_TO_UTF8(CurrentCmp->m_Reference)) ;
fprintf( dest, " %s ", CONV_TO_UTF8( CurrentCmp->m_Reference ) );
/* placement de la valeur */
fprintf(dest,"%s\n",CONV_TO_UTF8(CurrentCmp->m_Valeur)) ;
/* placement de la valeur */
fprintf( dest, "%s\n", CONV_TO_UTF8( CurrentCmp->m_Valeur ) );
/* Tri des pins */
TriPinsModule( CurrentCmp );
/* Tri des pins */
TriPinsModule( CurrentCmp );
/* Placement de la liste des pins */
Pin = CurrentCmp->m_Pins;
for( ; Pin != NULL; Pin = Pin->Pnext )
{
if( Pin->m_PinNet.Len() > MAX_LEN_NETNAME)
ChangePinNet( Pin->m_PinNet );
/* Placement de la liste des pins */
Pin = CurrentCmp->m_Pins;
for( ; Pin != NULL; Pin = Pin->Pnext )
{
if( Pin->m_PinNet.Len() > MAX_LEN_NETNAME )
ChangePinNet( Pin->m_PinNet );
if( ! Pin->m_PinNet.IsEmpty() )
fprintf(dest," ( %s %s )\n",
CONV_TO_UTF8(Pin->m_PinNum),
CONV_TO_UTF8(Pin->m_PinNet));
else
fprintf(dest," ( %s ? )\n", CONV_TO_UTF8(Pin->m_PinNum));
}
fprintf(dest," )\n");
}
fprintf(dest,")\n*\n");
if ( g_FlagEESchema ) WriteFootprintFilterInfos(dest);
fclose(dest);
return(0);
if( !Pin->m_PinNet.IsEmpty() )
fprintf( dest, " ( %s %s )\n",
CONV_TO_UTF8( Pin->m_PinNum ),
CONV_TO_UTF8( Pin->m_PinNet ) );
else
fprintf( dest, " ( %s ? )\n", CONV_TO_UTF8( Pin->m_PinNum ) );
}
fprintf( dest, " )\n" );
}
fprintf( dest, ")\n*\n" );
if( g_FlagEESchema )
WriteFootprintFilterInfos( dest );
fclose( dest );
return 0;
}
/******************************************/
void WriteFootprintFilterInfos(FILE * dest)
void WriteFootprintFilterInfos( FILE* dest )
/******************************************/
/* Write the allowed footprint list for each component */
{
STORECMP * component = g_BaseListeCmp;
bool WriteHeader = FALSE;
STORECMP* component = g_BaseListeCmp;
bool WriteHeader = FALSE;
for ( ; component != NULL; component = component->Pnext )
{
unsigned int FilterCount;
FilterCount = component->m_FootprintFilter.GetCount();
if ( FilterCount == 0 ) continue;
if ( ! WriteHeader )
{
fprintf( dest, "{ Allowed footprints by component:\n" );
WriteHeader = TRUE;
}
fprintf(dest, "$component %s\n", CONV_TO_UTF8(component->m_Reference));
/* Write the footprint list */
for ( unsigned int jj = 0; jj < FilterCount; jj ++ )
{
fprintf(dest, " %s\n", CONV_TO_UTF8(component->m_FootprintFilter[jj]));
}
fprintf(dest, "$endlist\n");
}
if ( WriteHeader )
fprintf(dest, "$endfootprintlist\n}\n");
for( ; component != NULL; component = component->Pnext )
{
unsigned int FilterCount;
FilterCount = component->m_FootprintFilter.GetCount();
if( FilterCount == 0 )
continue;
if( !WriteHeader )
{
fprintf( dest, "{ Allowed footprints by component:\n" );
WriteHeader = TRUE;
}
fprintf( dest, "$component %s\n",
CONV_TO_UTF8( component->m_Reference ) );
/* Write the footprint list */
for( unsigned int jj = 0; jj < FilterCount; jj++ )
{
fprintf( dest, " %s\n",
CONV_TO_UTF8( component->m_FootprintFilter[jj] ) );
}
fprintf( dest, "$endlist\n" );
}
if( WriteHeader )
fprintf( dest, "$endfootprintlist\n}\n" );
}
/***********************************************/
static void TriPinsModule( STORECMP * CurrentCmp )
static void TriPinsModule( STORECMP* CurrentCmp )
/***********************************************/
/* Tri et controle des pins du module CurrentCmp
*/
*/
{
STOREPIN * Pin, * NextPin, ** BasePin;
int nbpins = 0, ii;
STOREPIN* Pin, * NextPin, ** BasePin;
int nbpins = 0, ii;
Pin = CurrentCmp->m_Pins;
if( Pin == NULL ) return;
Pin = CurrentCmp->m_Pins;
if( Pin == NULL )
return;
/* comptage des pins */
for( ; Pin != NULL ; Pin = Pin->Pnext ) nbpins++;
/* comptage des pins */
for( ; Pin != NULL; Pin = Pin->Pnext )
nbpins++;
/* Tri des pins: etablissement de la liste des pointeurs */
BasePin = (STOREPIN ** )MyZMalloc( nbpins * sizeof(STOREPIN*) );
/* Tri des pins: etablissement de la liste des pointeurs */
BasePin = (STOREPIN**) MyZMalloc( nbpins * sizeof(STOREPIN*) );
Pin = CurrentCmp->m_Pins;
for( ii = 0 ; ii < nbpins ; ii++, Pin = Pin->Pnext )
{
BasePin[ii] = Pin;
}
/* Tri des Pins */
qsort( BasePin, nbpins, sizeof( STORECMP*), PinCompare) ;
Pin = CurrentCmp->m_Pins;
for( ii = 0; ii < nbpins; ii++, Pin = Pin->Pnext )
{
BasePin[ii] = Pin;
}
/* Remise a jour des pointeurs chaines */
for( ii = 0 ; ii < nbpins-1 ; ii++ )
{
BasePin[ii]->Pnext = BasePin[ii+1];
}
BasePin[ii]->Pnext = NULL;
CurrentCmp->m_Pins = BasePin[0];
/* Tri des Pins */
qsort( BasePin, nbpins, sizeof( STORECMP*), PinCompare );
MyFree(BasePin);
/* Remise a jour des pointeurs chaines */
for( ii = 0; ii < nbpins - 1; ii++ )
{
BasePin[ii]->Pnext = BasePin[ii + 1];
}
/* Elimination des redondances */
Pin = CurrentCmp->m_Pins;
while( Pin != NULL)
{
NextPin = Pin->Pnext;
if ( NextPin == NULL ) break;
if( Pin->m_PinNum != NextPin->m_PinNum )
{
Pin = Pin->Pnext; continue;
}
/* 2 pins successives ont le meme numero */
if( Pin->m_PinNet != NextPin->m_PinNet )
{
wxString msg;
msg.Printf( _("%s %s pin %s : Different Nets"),
CurrentCmp->m_Reference.GetData(),CurrentCmp->m_Valeur.GetData(),
Pin->m_PinNum.GetData());
DisplayError(NULL, msg, 60 );
}
Pin->Pnext = NextPin->Pnext;
delete NextPin;
}
BasePin[ii]->Pnext = NULL;
CurrentCmp->m_Pins = BasePin[0];
MyFree( BasePin );
/* Elimination des redondances */
Pin = CurrentCmp->m_Pins;
while( Pin != NULL )
{
NextPin = Pin->Pnext;
if( NextPin == NULL )
break;
if( Pin->m_PinNum != NextPin->m_PinNum )
{
Pin = Pin->Pnext; continue;
}
/* 2 pins successives ont le meme numero */
if( Pin->m_PinNet != NextPin->m_PinNet )
{
wxString msg;
msg.Printf( _( "%s %s pin %s : Different Nets" ),
CurrentCmp->m_Reference.GetData(),
CurrentCmp->m_Valeur.GetData(),
Pin->m_PinNum.GetData() );
DisplayError( NULL, msg, 60 );
}
Pin->Pnext = NextPin->Pnext;
delete NextPin;
}
}
/*******************************************************/
static int PinCompare(const void *cmp1,const void *cmp2)
static int PinCompare( const void* cmp1, const void* cmp2 )
/*******************************************************/
/*
routine PinCompare() pour qsort() pour classement alphabetique
pour tri de la liste des Pins
*/
* routine PinCompare() pour qsort() pour classement alphabetique
* pour tri de la liste des Pins
*/
{
STOREPIN **pt1 , **pt2 ;
int ii;
STOREPIN** pt1, ** pt2;
int ii;
pt1 = (STOREPIN**)cmp1;
pt2 = (STOREPIN**)cmp2;
pt1 = (STOREPIN**) cmp1;
pt2 = (STOREPIN**) cmp2;
ii = StrLenNumICmp( (*pt1)->m_PinNum.GetData(), (*pt2)->m_PinNum.GetData(), 4);
return(ii);
ii = StrLenNumICmp( (*pt1)->m_PinNum.GetData(),
(*pt2)->m_PinNum.GetData(), 4 );
return ii;
}
/*******************************************/
static void ChangePinNet( wxString & PinNet )
static void ChangePinNet( wxString& PinNet )
/*******************************************/
/* Change le NetName PinNet par un nom compose des 8 derniers codes de PinNet
suivi de _Xnnnnn ou nnnnn est un nom de 0 a 99999
*/
* suivi de _Xnnnnn ou nnnnn est un nom de 0 a 99999
*/
{
STOREPIN * Pin;
STORECMP * CurrentCmp;
int ii;
wxString OldName;
wxString NewName;
STOREPIN* Pin;
STORECMP* CurrentCmp;
int ii;
wxString OldName;
wxString NewName;
OldName = PinNet;
ii = PinNet.Len();
if( Rjustify ) /* On conserve les 8 dernieres lettres du nom */
{
NewName= OldName.Right(8); NewName << NetNumCode;
}
OldName = PinNet;
ii = PinNet.Len();
if( Rjustify ) /* On conserve les 8 dernieres lettres du nom */
{
NewName = OldName.Right( 8 );
NewName << NetNumCode;
}
else /* On conserve les 8 premieres lettres du nom */
{
NewName = OldName.Left( 8 );
NewName << NetNumCode;
}
NetNumCode++;
else /* On conserve les 8 premieres lettres du nom */
{
NewName = OldName.Left(8); NewName << NetNumCode;
}
NetNumCode ++;
CurrentCmp = g_BaseListeCmp;
for( ; CurrentCmp != NULL; CurrentCmp = CurrentCmp->Pnext)
{
Pin = CurrentCmp->m_Pins;
for( ; Pin != NULL; Pin = Pin->Pnext )
{
if( Pin->m_PinNet != OldName ) continue;
Pin->m_PinNet = NewName;
}
}
CurrentCmp = g_BaseListeCmp;
for( ; CurrentCmp != NULL; CurrentCmp = CurrentCmp->Pnext )
{
Pin = CurrentCmp->m_Pins;
for( ; Pin != NULL; Pin = Pin->Pnext )
{
if( Pin->m_PinNet != OldName )
continue;
Pin->m_PinNet = NewName;
}
}
}

View File

@ -7,6 +7,7 @@
#include "fctsys.h"
#include "gr_basic.h"
#include "common.h"
#include "wxstruct.h"
#include "program.h"
#include "libcmp.h"
#include "general.h"

View File

@ -7,6 +7,9 @@
#include "fctsys.h"
#include "common.h"
#include "class_drawpanel.h"
#include "confirm.h"
#include "wxstruct.h"
#include "program.h"
#include "libcmp.h"
#include "protos.h"

View File

@ -15,17 +15,6 @@
#pragma implementation "annotate_dialog.h"
#endif
// For compilers that support precompilation, includes "wx/wx.h".
#include "wx/wxprec.h"
#ifdef __BORLANDC__
#pragma hdrstop
#endif
#ifndef WX_PRECOMP
#include "wx/wx.h"
#endif
////@begin includes
////@end includes
@ -33,6 +22,7 @@
#include "bitmaps.h"
#include "common.h"
#include "program.h"
#include "annotate_dialog.h"
extern void AnnotateComponents( WinEDA_SchematicFrame* parent,

View File

@ -32,6 +32,7 @@
////@begin forward declarations
class wxBoxSizer;
class WinEDA_SchematicFrame;
////@end forward declarations
/*!

View File

@ -4,9 +4,11 @@
****************************************************************/
#include "fctsys.h"
#include "common.h"
#include "program.h"
#include "confirm.h"
#include "kicad_string.h"
#include "gestfich.h"
#include "libcmp.h"
#include "general.h"
@ -15,8 +17,7 @@
/*******************************************************************************************/
bool WinEDA_SchematicFrame::FillFootprintFieldForAllInstancesofComponent(
const wxString& aReference,
const wxString&
aFootPrint,
const wxString& aFootPrint,
bool aSetVisible )
/********************************************************************************************/

View File

@ -4,12 +4,16 @@
/****************************************************/
#include "fctsys.h"
#include "appl_wxstruct.h"
#include "gr_basic.h"
#include "common.h"
#include "class_drawpanel.h"
#include "confirm.h"
#include "block_commande.h"
#include "program.h"
#include "libcmp.h"
#include "general.h"
#include "protos.h"

View File

@ -5,12 +5,14 @@
#include "fctsys.h"
#include "gr_basic.h"
#include "common.h"
#include "class_drawpanel.h"
#include "confirm.h"
#include "block_commande.h"
#include "program.h"
#include "libcmp.h"
#include "general.h"
#include "protos.h"
/* Variables Locales */

View File

@ -9,9 +9,10 @@
#include <vector>
#include "fctsys.h"
#include "common.h"
#include "confirm.h"
#include "kicad_string.h"
#include "gestfich.h"
#include "program.h"
#include "libcmp.h"
#include "general.h"

View File

@ -4,12 +4,13 @@
#include "fctsys.h"
#include "gr_basic.h"
#include "common.h"
#include "class_drawpanel.h"
#include "confirm.h"
#include "program.h"
#include "libcmp.h"
#include "general.h"
#include "protos.h"

View File

@ -4,13 +4,14 @@
#include "fctsys.h"
#include "gr_basic.h"
#include "common.h"
#include "class_drawpanel.h"
#include "id.h"
#include "confirm.h"
#include "program.h"
#include "libcmp.h"
#include "general.h"
#include "id.h"
#include "protos.h"
/* Routines Locales */

View File

@ -13,12 +13,14 @@
#include "fctsys.h"
#include "gr_basic.h"
#include "common.h"
#include "class_drawpanel.h"
#include "drawtxt.h"
#include "confirm.h"
#include "program.h"
#include "libcmp.h"
#include "general.h"
#include "protos.h"

View File

@ -13,12 +13,13 @@
#include "fctsys.h"
#include "gr_basic.h"
#include "common.h"
#include "class_drawpanel.h"
#include "drawtxt.h"
#include "program.h"
#include "libcmp.h"
#include "general.h"
#include "protos.h"

View File

@ -4,8 +4,7 @@
#include "fctsys.h"
#include "gr_basic.h"
#include "common.h"
#include "kicad_string.h"
#include "program.h"
#include "libcmp.h"
#include "general.h"

View File

@ -3,8 +3,11 @@
/*****************/
#include "fctsys.h"
#include "appl_wxstruct.h"
#include "gr_basic.h"
#include "common.h"
#include "class_drawpanel.h"
#include "drawtxt.h"
#include "program.h"
#include "libcmp.h"
#include "general.h"

View File

@ -2,12 +2,12 @@
#include "fctsys.h"
#include "gr_basic.h"
#include "common.h"
#include "id.h"
#include "class_drawpanel.h"
#include "program.h"
#include "libcmp.h"
#include "general.h"
#include "protos.h"
#include "id.h"
/******************************************************************/

View File

@ -4,15 +4,15 @@
#include "fctsys.h"
#include "gr_basic.h"
#include "common.h"
#include "trigo.h"
#include "id.h"
#include "class_drawpanel.h"
#include "drawtxt.h"
#include "program.h"
#include "libcmp.h"
#include "general.h"
#include "id.h"
#include "protos.h"

View File

@ -4,8 +4,10 @@
#include "fctsys.h"
#include "gr_basic.h"
#include "common.h"
#include "class_drawpanel.h"
#include "drawtxt.h"
#include "program.h"
#include "libcmp.h"
#include "general.h"

View File

@ -3,8 +3,9 @@
/*********************************/
#include "fctsys.h"
#include "appl_wxstruct.h"
#include "common.h"
#include "confirm.h"
#include "program.h"
#include "libcmp.h"
#include "general.h"

View File

@ -4,8 +4,8 @@
#include "fctsys.h"
#include "gr_basic.h"
#include "common.h"
#include "confirm.h"
#include "program.h"
#include "libcmp.h"
#include "general.h"

View File

@ -3,18 +3,15 @@
/****************/
#include "fctsys.h"
#include "gr_basic.h"
#include "common.h"
#include "class_drawpanel.h"
#include "eda_dde.h"
#include "id.h"
#include "program.h"
#include "libcmp.h"
#include "general.h"
#include "eda_dde.h"
#include "id.h"
#include "protos.h"
/**************************************************************************************/

View File

@ -3,7 +3,7 @@
/*********************/
#include "fctsys.h"
#include "appl_wxstruct.h"
#include "common.h"
#include "program.h"
#include "libcmp.h"

View File

@ -1,14 +1,17 @@
/****************************/
/* EESchema - database.cpp */
/****************************/
/****************************/
/* EESchema - database.cpp */
/****************************/
/* Routine de selection d'un composant en librairie
*/
*/
#include "fctsys.h"
#include "gr_basic.h"
#include "common.h"
#include "confirm.h"
#include "eda_doc.h"
#include "kicad_string.h"
#include "program.h"
#include "libcmp.h"
#include "general.h"
@ -22,110 +25,119 @@
/********************************************************************************/
bool DataBaseGetName(WinEDA_DrawFrame * frame,
wxString & Keys, wxString & BufName)
bool DataBaseGetName( WinEDA_DrawFrame* frame,
wxString& Keys, wxString& BufName )
/********************************************************************************/
/*
Routine de selection du nom d'un composant en librairie pour chargement,
Keys pointe la liste des mots cles de filtrage
Si Keys = "", recherche des composants qui correspondent
au masque BufName( avec * et ? )
Retourne
TRUE si composant selectionne
FALSE si commande annulee
place le nom du composant a charger, selectionne a partir d'une liste dans
BufName
*/
* Routine de selection du nom d'un composant en librairie pour chargement,
* Keys pointe la liste des mots cles de filtrage
* Si Keys = "", recherche des composants qui correspondent
* au masque BufName( avec * et ? )
*
* Retourne
* TRUE si composant selectionne
* FALSE si commande annulee
* place le nom du composant a charger, selectionne a partir d'une liste dans
* BufName
*/
{
int ii;
EDA_LibComponentStruct * LibEntry;
LibraryStruct * Lib;
WinEDAListBox * ListBox;
const wxChar ** ListNames;
int ii;
EDA_LibComponentStruct* LibEntry;
LibraryStruct* Lib;
WinEDAListBox* ListBox;
const wxChar** ListNames;
BufName.MakeUpper();
Keys.MakeUpper();
BufName.MakeUpper();
Keys.MakeUpper();
/* Examen de la liste des librairies pour comptage */
for (Lib = g_LibraryList, ii = 0; Lib != NULL; Lib = Lib->m_Pnext)
{
LibEntry = (EDA_LibComponentStruct *) PQFirst(&Lib->m_Entries, FALSE);
while( LibEntry )
{
if ( ! Keys.IsEmpty() )
{
if( KeyWordOk(Keys, LibEntry->m_KeyWord) ) ii++;
}
else
{
if( WildCompareString( BufName, LibEntry->m_Name.m_Text, FALSE ) ) ii++;
}
LibEntry = (EDA_LibComponentStruct *) PQNext(Lib->m_Entries, LibEntry, NULL);
}
}
/* Examen de la liste des librairies pour comptage */
for( Lib = g_LibraryList, ii = 0; Lib != NULL; Lib = Lib->m_Pnext )
{
LibEntry = (EDA_LibComponentStruct*) PQFirst( &Lib->m_Entries, FALSE );
while( LibEntry )
{
if( !Keys.IsEmpty() )
{
if( KeyWordOk( Keys, LibEntry->m_KeyWord ) )
ii++;
}
else
{
if( WildCompareString( BufName, LibEntry->m_Name.m_Text, FALSE ) )
ii++;
}
LibEntry = (EDA_LibComponentStruct*) PQNext( Lib->m_Entries,
LibEntry,
NULL );
}
}
if ( ii == 0 )
{
DisplayError(frame, _("No Component found") );
return 0;
}
if( ii == 0 )
{
DisplayError( frame, _( "No Component found" ) );
return 0;
}
ListNames = (const wxChar**)MyZMalloc( (ii+1) * sizeof(const wxChar*));
for (Lib = g_LibraryList, ii = 0; Lib != NULL; Lib = Lib->m_Pnext)
{
/* Examen de la liste des elements */
LibEntry = (EDA_LibComponentStruct *) PQFirst(&Lib->m_Entries, FALSE);
while( LibEntry )
{
if ( ! Keys.IsEmpty())
{
if( KeyWordOk(Keys, LibEntry->m_KeyWord) )
{
ListNames[ii] = LibEntry->m_Name.m_Text.GetData(); ii++;
}
}
else if( WildCompareString( BufName, LibEntry->m_Name.m_Text, FALSE ) )
{
ListNames[ii] = LibEntry->m_Name.m_Text; ii++;
}
LibEntry = (EDA_LibComponentStruct *) PQNext(Lib->m_Entries, LibEntry, NULL);
}
}
ListNames = (const wxChar**) MyZMalloc( (ii + 1) * sizeof(const wxChar*) );
for( Lib = g_LibraryList, ii = 0; Lib != NULL; Lib = Lib->m_Pnext )
{
/* Examen de la liste des elements */
LibEntry = (EDA_LibComponentStruct*) PQFirst( &Lib->m_Entries, FALSE );
while( LibEntry )
{
if( !Keys.IsEmpty() )
{
if( KeyWordOk( Keys, LibEntry->m_KeyWord ) )
{
ListNames[ii] = LibEntry->m_Name.m_Text.GetData(); ii++;
}
}
else if( WildCompareString( BufName, LibEntry->m_Name.m_Text,
FALSE ) )
{
ListNames[ii] = LibEntry->m_Name.m_Text; ii++;
}
LibEntry = (EDA_LibComponentStruct*) PQNext( Lib->m_Entries,
LibEntry,
NULL );
}
}
ListBox = new WinEDAListBox(frame, _("Selection"), ListNames,
wxEmptyString, DisplayCmpDoc, wxColour(200,200,255) );
ListBox->MoveMouseToOrigin();
ListBox = new WinEDAListBox( frame, _( "Selection" ), ListNames,
wxEmptyString, DisplayCmpDoc,
wxColour( 200, 200, 255 ) );
ListBox->MoveMouseToOrigin();
/* Affichage de la liste selectionnee */
if( ii )
{
ii = ListBox->ShowModal(); ListBox->Destroy();
if ( ii < 0 ) ii = 0;
else
{
BufName = ListNames[ii];
ii = 1;
}
}
/* Affichage de la liste selectionnee */
if( ii )
{
ii = ListBox->ShowModal(); ListBox->Destroy();
if( ii < 0 )
ii = 0;
else
{
BufName = ListNames[ii];
ii = 1;
}
}
free (ListNames);
return (ii) ;
free( ListNames );
return ii;
}
/**********************************/
void DisplayCmpDoc(wxString & Name)
void DisplayCmpDoc( wxString& Name )
/**********************************/
{
LibCmpEntry * CmpEntry;
LibCmpEntry* CmpEntry;
CmpEntry = FindLibPart(Name.GetData(), wxEmptyString, FIND_ALIAS);
if ( CmpEntry == NULL ) return;
CmpEntry = FindLibPart( Name.GetData(), wxEmptyString, FIND_ALIAS );
if( CmpEntry == NULL )
return;
Name = wxT("Descr: ") + CmpEntry->m_Doc;
Name += wxT("\nKeyW: ") + CmpEntry->m_KeyWord;
Name = wxT( "Descr: " ) + CmpEntry->m_Doc;
Name += wxT( "\nKeyW: " ) + CmpEntry->m_KeyWord;
}

View File

@ -3,12 +3,12 @@
/*******************************************************/
#include "fctsys.h"
#include "appl_wxstruct.h"
#include "common.h"
#include "confirm.h"
#include "program.h"
#include "libcmp.h"
#include "general.h"
#include "protos.h"

View File

@ -7,8 +7,12 @@
/////////////////////////////////////////////////////////////////////////////
#include "fctsys.h"
#include "appl_wxstruct.h"
#include "gr_basic.h"
#include "common.h"
#include "class_drawpanel.h"
#include "confirm.h"
#include "gestfich.h"
#include "dialog_SVG_print_base.h"

View File

@ -16,18 +16,8 @@
#pragma implementation "dialog_build_BOM.h"
#endif
// For compilers that support precompilation, includes "wx/wx.h".
#include "wx/wxprec.h"
#ifdef __BORLANDC__
#pragma hdrstop
#endif
#ifndef WX_PRECOMP
#include "wx/wx.h"
#endif
#include "fctsys.h"
#include "appl_wxstruct.h"
////@begin includes
////@end includes

View File

@ -15,21 +15,10 @@
#pragma implementation "dialog_create_component.h"
#endif
// For compilers that support precompilation, includes "wx/wx.h".
#include "wx/wxprec.h"
#ifdef __BORLANDC__
#pragma hdrstop
#endif
#ifndef WX_PRECOMP
#include "wx/wx.h"
#endif
#include "fctsys.h"
#include "gr_basic.h"
#include "common.h"
#include "confirm.h"
#include "program.h"
#include "libcmp.h"
#include "general.h"

View File

@ -5,12 +5,13 @@
#include "fctsys.h"
#include "gr_basic.h"
#include "common.h"
#include "class_drawpanel.h"
#include "confirm.h"
#include "program.h"
#include "libcmp.h"
#include "general.h"
#include "protos.h"
#include "dialog_edit_component_in_schematic.h"

View File

@ -10,6 +10,7 @@
#include "wx/valgen.h"
#include "common.h"
#include "class_drawpanel.h"
#include "program.h"
#include "libcmp.h"
#include "general.h"

View File

@ -7,6 +7,7 @@
#include <algorithm>
#include "common.h"
#include "confirm.h"
#include "program.h"
#include "libcmp.h"
#include "general.h"

View File

@ -15,22 +15,14 @@
#pragma implementation "dialog_eeschema_config.h"
#endif
// For compilers that support precompilation, includes "wx/wx.h".
#include "wx/wxprec.h"
#ifdef __BORLANDC__
#pragma hdrstop
#endif
#ifndef WX_PRECOMP
#include "wx/wx.h"
#endif
////@begin includes
////@end includes
#include "fctsys.h"
#include "appl_wxstruct.h"
#include "common.h"
#include "confirm.h"
#include "gestfich.h"
#include "program.h"
#include "libcmp.h"
#include "general.h"

View File

@ -16,27 +16,16 @@
#pragma implementation "dialog_options.h"
#endif
// For compilers that support precompilation, includes "wx/wx.h".
#include "wx/wxprec.h"
#ifdef __BORLANDC__
#pragma hdrstop
#endif
#ifndef WX_PRECOMP
#include "wx/wx.h"
#endif
#include "fctsys.h"
#include "gr_basic.h"
#include "common.h"
#include "id.h"
#include "class_drawpanel.h"
#include "confirm.h"
#include "program.h"
#include "libcmp.h"
#include "general.h"
#include "id.h"
#include "protos.h"
////@begin includes

View File

@ -5,9 +5,11 @@
// Set this to 1 if you want to test PostScript printing under MSW.
#define wxTEST_POSTSCRIPT_IN_MSW 1
#include "fctsys.h"
#include "appl_wxstruct.h"
#include "gr_basic.h"
#include "common.h"
#include "class_drawpanel.h"
#include "confirm.h"
#include "program.h"
#include "general.h"

View File

@ -4,8 +4,10 @@
#include "fctsys.h"
#include "gr_basic.h"
#include "common.h"
#include "confirm.h"
#include "gestfich.h"
#include "program.h"
#include "libcmp.h"
#include "general.h"

View File

@ -4,8 +4,10 @@
#include "fctsys.h"
#include "gr_basic.h"
#include "common.h"
#include "class_drawpanel.h"
#include "confirm.h"
#include "program.h"
#include "libcmp.h"
#include "general.h"

View File

@ -9,8 +9,9 @@
#include "fctsys.h"
#include "gr_basic.h"
#include "common.h"
#include "class_drawpanel.h"
#include "program.h"
#include "libcmp.h"
#include "general.h"

View File

@ -5,8 +5,10 @@
#include "fctsys.h"
#include "gr_basic.h"
#include "common.h"
#include "class_drawpanel.h"
#include "confirm.h"
#include "program.h"
#include "libcmp.h"
#include "general.h"

View File

@ -3,8 +3,14 @@
/*******************************************************/
#include "fctsys.h"
#include "appl_wxstruct.h"
#include "gr_basic.h"
#include "common.h"
#include "id.h"
#include "class_drawpanel.h"
#include "confirm.h"
#include "gestfich.h"
#include "program.h"
#include "libcmp.h"
#include "general.h"
@ -13,7 +19,6 @@
#include "worksheet.h"
#include "hotkeys.h"
#include "id.h"
/* Variables locales */

View File

@ -4,12 +4,12 @@
#include "fctsys.h"
#include "gr_basic.h"
#include "common.h"
#include "confirm.h"
#include "program.h"
#include "libcmp.h"
#include "general.h"
#include "protos.h"
/* Routines Locales */

View File

@ -9,27 +9,15 @@
#pragma implementation "eelayer.h"
#endif
// For compilers that support precompilation, includes "wx/wx.h".
#include "wx/wxprec.h"
#ifdef __BORLANDC__
#pragma hdrstop
#endif
#ifndef WX_PRECOMP
#include "wx/wx.h"
#endif
#include "fctsys.h"
#include "gr_basic.h"
#include "common.h"
#include "id.h"
#include "class_drawpanel.h"
#include "program.h"
#include "libcmp.h"
#include "general.h"
#include "id.h"
#include "protos.h"
#include "eelayer.h" // Header file associated with this file

View File

@ -4,8 +4,9 @@
#include "fctsys.h"
#include "gr_basic.h"
#include "common.h"
#include "class_drawpanel.h"
#include "drawtxt.h"
#include "program.h"
#include "libcmp.h"
#include "component_class.h"

View File

@ -4,13 +4,15 @@
#include "fctsys.h"
#include "gr_basic.h"
#include "common.h"
#include "trigo.h"
#include "confirm.h"
#include "kicad_string.h"
#include "gestfich.h"
#include "program.h"
#include "libcmp.h"
#include "general.h"
#include "protos.h"
/* Local Functions */

View File

@ -5,12 +5,12 @@
#include "fctsys.h"
#include "gr_basic.h"
#include "common.h"
#include "class_drawpanel.h"
#include "program.h"
#include "libcmp.h"
#include "general.h"
#include "protos.h"

View File

@ -10,19 +10,24 @@
#define MAIN
#include "fctsys.h"
#include "appl_wxstruct.h"
#include "common.h"
#include "class_drawpanel.h"
#include "confirm.h"
#include "gestfich.h"
#include "program.h"
#include "libcmp.h"
#include "general.h"
#include "netlist.h"
#include "worksheet.h"
#include "trigo.h"
#include "bitmaps.h"
#include "eda_dde.h"
#include "protos.h"
#include <wx/snglinst.h>
// Global variables
wxString g_Main_Title( wxT( "EESchema" ) );

View File

@ -4,13 +4,16 @@
#include "fctsys.h"
#include "gr_basic.h"
#include "common.h"
#include "class_drawpanel.h"
#include "confirm.h"
#include "kicad_string.h"
#include "gestfich.h"
#include "program.h"
#include "libcmp.h"
#include "general.h"
#include "netlist.h"
#include "protos.h"
#include "bitmaps.h"

View File

@ -3,8 +3,10 @@
/****************************/
#include "fctsys.h"
#include "common.h"
#include "class_drawpanel.h"
#include "confirm.h"
#include "gestfich.h"
#include "program.h"
#include "libcmp.h"
#include "general.h"

Some files were not shown because too many files have changed in this diff Show More