eeschema: code cleaning
This commit is contained in:
parent
bf688ea1cc
commit
3490947306
|
@ -87,14 +87,12 @@ public:
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function SaveLibrary
|
* Function SaveDoc
|
||||||
* writes the data structures for this object out to 2 FILE in "*.lib" and ".dcm" format.
|
* writes the doc info out to a FILE in "*.dcm" format.
|
||||||
* the main file (.lib) is the library content (set of components)
|
* @param aFile The FILE to write to.
|
||||||
* the second file (.dcm)is the auxiliary file that contents the keywords and description for components)
|
|
||||||
* @param FullFileName the new full filename (*.lib).
|
|
||||||
* @return bool - true if success writing else false.
|
* @return bool - true if success writing else false.
|
||||||
*/
|
*/
|
||||||
bool SaveLibrary( const wxString& FullFileName );
|
bool SaveDoc( FILE* aFile );
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -131,6 +129,14 @@ public:
|
||||||
|
|
||||||
~EDA_LibComponentStruct();
|
~EDA_LibComponentStruct();
|
||||||
void SortDrawItems();
|
void SortDrawItems();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Function Save
|
||||||
|
* writes the data structures for this object out to a FILE in "*.lib" format.
|
||||||
|
* @param aFile The FILE to write to.
|
||||||
|
* @return bool - true if success writing else false.
|
||||||
|
*/
|
||||||
|
bool Save( FILE* aFile );
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -18,8 +18,17 @@ void LibDrawPin::Draw( WinEDA_DrawPanel* aPanel, wxDC* aDC, const wxPoint& aOffs
|
||||||
int aDrawMode, void* aData, int aTransformMatrix[2][2] )
|
int aDrawMode, void* aData, int aTransformMatrix[2][2] )
|
||||||
/**********************************************************************************************/
|
/**********************************************************************************************/
|
||||||
{
|
{
|
||||||
if( ( m_Attributs & PINNOTDRAW ) && !g_ShowAllPins )
|
|
||||||
return;
|
// Invisibles pins are only drawn on request.
|
||||||
|
// But in libedit they are drawn in g_InvisibleItemColor because we must see them
|
||||||
|
if( ( m_Attributs & PINNOTDRAW ) )
|
||||||
|
{
|
||||||
|
if ( g_EDA_Appl->m_LibeditFrame && g_EDA_Appl->m_LibeditFrame->IsActive() )
|
||||||
|
aColor = g_InvisibleItemColor;
|
||||||
|
else if( !g_ShowAllPins )
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
EDA_LibComponentStruct* Entry = ( (DrawPinPrms*) aData )->m_Entry;
|
EDA_LibComponentStruct* Entry = ( (DrawPinPrms*) aData )->m_Entry;
|
||||||
bool DrawPinText = ( (DrawPinPrms*) aData )->m_DrawPinText;
|
bool DrawPinText = ( (DrawPinPrms*) aData )->m_DrawPinText;
|
||||||
|
|
|
@ -13,11 +13,7 @@
|
||||||
#include "trigo.h"
|
#include "trigo.h"
|
||||||
#include "protos.h"
|
#include "protos.h"
|
||||||
|
|
||||||
#define UNVISIBLE_COLOR DARKGRAY
|
//#define DRAW_ARC_WITH_ANGLE // Used to select function to draw arcs
|
||||||
|
|
||||||
//#define DRAW_ARC_WITH_ANGLE // Used to draw arcs
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* Local functions */
|
/* Local functions */
|
||||||
|
@ -129,7 +125,7 @@ void DrawLibEntry( WinEDA_DrawPanel* panel, wxDC* DC,
|
||||||
if( Color >= 0 )
|
if( Color >= 0 )
|
||||||
color = Color;
|
color = Color;
|
||||||
else
|
else
|
||||||
color = UNVISIBLE_COLOR;
|
color = g_InvisibleItemColor;
|
||||||
}
|
}
|
||||||
else color = Color;
|
else color = Color;
|
||||||
|
|
||||||
|
@ -146,7 +142,7 @@ void DrawLibEntry( WinEDA_DrawPanel* panel, wxDC* DC,
|
||||||
if( Color >= 0 )
|
if( Color >= 0 )
|
||||||
color = Color;
|
color = Color;
|
||||||
else
|
else
|
||||||
color = UNVISIBLE_COLOR;
|
color = g_InvisibleItemColor;
|
||||||
}
|
}
|
||||||
else color = Color;
|
else color = Color;
|
||||||
|
|
||||||
|
@ -164,7 +160,7 @@ void DrawLibEntry( WinEDA_DrawPanel* panel, wxDC* DC,
|
||||||
if( Color >= 0 )
|
if( Color >= 0 )
|
||||||
color = Color;
|
color = Color;
|
||||||
else
|
else
|
||||||
color = UNVISIBLE_COLOR;
|
color = g_InvisibleItemColor;
|
||||||
}
|
}
|
||||||
else color = Color;
|
else color = Color;
|
||||||
Field->Draw( panel, DC, aOffset, color, DrawMode, NULL, TransMat );
|
Field->Draw( panel, DC, aOffset, color, DrawMode, NULL, TransMat );
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/***************************************/
|
/***************************************/
|
||||||
/* GENERAL.H : declarations communes */
|
/* GENERAL.H : declarations communes */
|
||||||
/***************************************/
|
/***************************************/
|
||||||
|
|
||||||
#ifndef _GENERAL_H_
|
#ifndef _GENERAL_H_
|
||||||
#define _GENERAL_H_
|
#define _GENERAL_H_
|
||||||
|
@ -17,13 +17,13 @@
|
||||||
#define EESCHEMA_VERSION 2
|
#define EESCHEMA_VERSION 2
|
||||||
|
|
||||||
#define SCHEMATIC_HEAD_STRING "Schematic File Version"
|
#define SCHEMATIC_HEAD_STRING "Schematic File Version"
|
||||||
#define EESCHEMA_FILE_STAMP "EESchema"
|
#define EESCHEMA_FILE_STAMP "EESchema"
|
||||||
#define NULL_STRING "_NONAME_"
|
#define NULL_STRING "_NONAME_"
|
||||||
|
|
||||||
#define MAX_PIN_INFO 10
|
#define MAX_PIN_INFO 10
|
||||||
|
|
||||||
#define TXTMARGE 10 /* Decalage (en 1/1000") des textes places
|
#define TXTMARGE 10 /* Decalage (en 1/1000") des textes places
|
||||||
sur fils ( labels, num pins ) */
|
* sur fils ( labels, num pins ) */
|
||||||
|
|
||||||
#define HIGHLIGHT_COLOR WHITE
|
#define HIGHLIGHT_COLOR WHITE
|
||||||
|
|
||||||
|
@ -40,136 +40,138 @@
|
||||||
#define DANGLING_SYMBOL_SIZE 12
|
#define DANGLING_SYMBOL_SIZE 12
|
||||||
|
|
||||||
/* Message de presentation */
|
/* Message de presentation */
|
||||||
extern wxString g_Main_Title;
|
extern wxString g_Main_Title;
|
||||||
eda_global wxString g_DefaultSchematicFileName
|
eda_global wxString g_DefaultSchematicFileName
|
||||||
#ifdef MAIN
|
#ifdef MAIN
|
||||||
(wxT("noname.sch"))
|
( wxT( "noname.sch" ) )
|
||||||
#endif
|
#endif
|
||||||
;
|
;
|
||||||
|
|
||||||
/* Masque de recherche pour localisation d'objets a editer */
|
/* Masque de recherche pour localisation d'objets a editer */
|
||||||
#define LIBITEM 1
|
#define LIBITEM 1
|
||||||
#define WIREITEM 2
|
#define WIREITEM 2
|
||||||
#define BUSITEM 4
|
#define BUSITEM 4
|
||||||
#define RACCORDITEM 4
|
#define RACCORDITEM 4
|
||||||
#define JUNCTIONITEM 0x10
|
#define JUNCTIONITEM 0x10
|
||||||
#define DRAWITEM 0x20
|
#define DRAWITEM 0x20
|
||||||
#define TEXTITEM 0x40
|
#define TEXTITEM 0x40
|
||||||
#define LABELITEM 0x80
|
#define LABELITEM 0x80
|
||||||
#define SHEETITEM 0x100
|
#define SHEETITEM 0x100
|
||||||
#define MARKERITEM 0x200
|
#define MARKERITEM 0x200
|
||||||
#define NOCONNECTITEM 0x400
|
#define NOCONNECTITEM 0x400
|
||||||
#define SEARCH_PINITEM 0x800
|
#define SEARCH_PINITEM 0x800
|
||||||
#define SHEETLABELITEM 0x1000
|
#define SHEETLABELITEM 0x1000
|
||||||
#define FIELDCMPITEM 0x2000
|
#define FIELDCMPITEM 0x2000
|
||||||
#define EXCLUDE_WIRE_BUS_ENDPOINTS 0x4000
|
#define EXCLUDE_WIRE_BUS_ENDPOINTS 0x4000
|
||||||
#define WIRE_BUS_ENDPOINTS_ONLY 0x8000
|
#define WIRE_BUS_ENDPOINTS_ONLY 0x8000
|
||||||
|
|
||||||
#define SEARCHALL LIBITEM|WIREITEM|BUSITEM|RACCORDITEM|JUNCTIONITEM\
|
#define SEARCHALL LIBITEM | WIREITEM | BUSITEM | RACCORDITEM | JUNCTIONITEM \
|
||||||
|DRAWITEM|TEXTITEM|LABELITEM|SHEETITEM|MARKERITEM\
|
| DRAWITEM | TEXTITEM | LABELITEM | SHEETITEM | MARKERITEM \
|
||||||
|NOCONNECTITEM|SEARCH_PINITEM|SHEETLABELITEM
|
| NOCONNECTITEM | SEARCH_PINITEM | SHEETLABELITEM
|
||||||
|
|
||||||
/* Numero des couches de travail */
|
/* Numero des couches de travail */
|
||||||
typedef enum {
|
typedef enum {
|
||||||
LAYER_WIRE,
|
LAYER_WIRE,
|
||||||
LAYER_BUS,
|
LAYER_BUS,
|
||||||
LAYER_JUNCTION,
|
LAYER_JUNCTION,
|
||||||
LAYER_LOCLABEL,
|
LAYER_LOCLABEL,
|
||||||
LAYER_GLOBLABEL,
|
LAYER_GLOBLABEL,
|
||||||
LAYER_HIERLABEL,
|
LAYER_HIERLABEL,
|
||||||
LAYER_PINFUN,
|
LAYER_PINFUN,
|
||||||
LAYER_PINNUM,
|
LAYER_PINNUM,
|
||||||
LAYER_PINNAM,
|
LAYER_PINNAM,
|
||||||
LAYER_REFERENCEPART,
|
LAYER_REFERENCEPART,
|
||||||
LAYER_VALUEPART,
|
LAYER_VALUEPART,
|
||||||
LAYER_FIELDS,
|
LAYER_FIELDS,
|
||||||
LAYER_DEVICE,
|
LAYER_DEVICE,
|
||||||
LAYER_NOTES,
|
LAYER_NOTES,
|
||||||
LAYER_NETNAM,
|
LAYER_NETNAM,
|
||||||
LAYER_PIN,
|
LAYER_PIN,
|
||||||
LAYER_SHEET,
|
LAYER_SHEET,
|
||||||
LAYER_SHEETNAME,
|
LAYER_SHEETNAME,
|
||||||
LAYER_SHEETFILENAME,
|
LAYER_SHEETFILENAME,
|
||||||
LAYER_SHEETLABEL,
|
LAYER_SHEETLABEL,
|
||||||
LAYER_NOCONNECT,
|
LAYER_NOCONNECT,
|
||||||
LAYER_ERC_WARN,
|
LAYER_ERC_WARN,
|
||||||
LAYER_ERC_ERR,
|
LAYER_ERC_ERR,
|
||||||
LAYER_DEVICE_BACKGROUND,
|
LAYER_DEVICE_BACKGROUND,
|
||||||
|
|
||||||
MAX_LAYER /* Nombre de couches */
|
MAX_LAYER /* Nombre de couches */
|
||||||
} LayerNumber;
|
} LayerNumber;
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
FILE_SAVE_AS,
|
FILE_SAVE_AS,
|
||||||
FILE_SAVE_NEW
|
FILE_SAVE_NEW
|
||||||
} FileSaveType;
|
} FileSaveType;
|
||||||
|
|
||||||
eda_global wxSize g_GridList[]
|
eda_global wxSize g_GridList[]
|
||||||
#ifdef MAIN
|
#ifdef MAIN
|
||||||
= {
|
= {
|
||||||
wxSize(50,50), wxSize(20,20), wxSize(10,10),
|
wxSize( 50, 50 ), wxSize( 20, 20 ), wxSize( 10, 10 ),
|
||||||
wxSize(-1,-1), wxSize(0,0)
|
wxSize( -1, -1 ), wxSize( 0, 0 )
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
;
|
;
|
||||||
|
|
||||||
|
|
||||||
/* variables generales */
|
/* variables generales */
|
||||||
eda_global wxArrayString g_LibName_List; // library list (short filenames) to load
|
eda_global wxArrayString g_LibName_List; // library list (short filenames) to load
|
||||||
eda_global LibraryStruct *g_LibraryList; // All part libs are saved here.
|
eda_global LibraryStruct* g_LibraryList; // All part libs are saved here.
|
||||||
|
|
||||||
eda_global int g_NetFormat; /* Numero de reference du type de netliste */
|
eda_global int g_NetFormat; /* Numero de reference du type de netliste */
|
||||||
eda_global int g_OptNetListUseNames; /* TRUE pour utiliser les noms de net plutot que
|
eda_global int g_OptNetListUseNames; /* TRUE pour utiliser les noms de net plutot que
|
||||||
les numeros (netlist PSPICE seulement) */
|
* les numeros (netlist PSPICE seulement) */
|
||||||
eda_global int g_BGColor; /* couleur fond d'ecran (normalement blanc) */
|
eda_global int g_BGColor; /* couleur fond d'ecran (normalement blanc) */
|
||||||
eda_global SCH_ITEM * g_ItemToRepeat; /* pointeur sur la derniere structure
|
eda_global SCH_ITEM* g_ItemToRepeat; /* pointeur sur la derniere structure
|
||||||
dessinee pouvant etre dupliquee par la commande
|
* dessinee pouvant etre dupliquee par la commande
|
||||||
Repeat ( NULL si aucune struct existe ) */
|
* Repeat ( NULL si aucune struct existe ) */
|
||||||
eda_global wxSize g_RepeatStep;
|
eda_global wxSize g_RepeatStep;
|
||||||
eda_global int g_RepeatDeltaLabel;
|
eda_global int g_RepeatDeltaLabel;
|
||||||
|
|
||||||
eda_global SCH_ITEM * g_ItemToUndoCopy; /* copy of last modified schematic item
|
eda_global SCH_ITEM* g_ItemToUndoCopy; /* copy of last modified schematic item
|
||||||
before it is modified (used for undo managing to restore old values ) */
|
* before it is modified (used for undo managing to restore old values ) */
|
||||||
|
|
||||||
eda_global bool g_LastSearchIsMarker; // True if last seach is a marker serach
|
eda_global bool g_LastSearchIsMarker; // True if last seach is a marker serach
|
||||||
// False for a schematic item search
|
// False for a schematic item search
|
||||||
// Used for hotkey next search
|
// Used for hotkey next search
|
||||||
|
|
||||||
/* Block operation (copy, paste) */
|
/* Block operation (copy, paste) */
|
||||||
eda_global SCH_ITEM * g_BlockSaveDataList; // List of items to paste (Created by Block Save)
|
eda_global SCH_ITEM* g_BlockSaveDataList; // List of items to paste (Created by Block Save)
|
||||||
|
|
||||||
// Gestion d'options
|
// Gestion d'options
|
||||||
eda_global int g_ShowAllPins;
|
eda_global int g_ShowAllPins;
|
||||||
eda_global int g_ShowGrid; // Bool: display grid
|
eda_global int g_ShowGrid; // Bool: display grid
|
||||||
#ifdef MAIN
|
#ifdef MAIN
|
||||||
wxSize g_User_Grid(50,50);
|
wxSize g_User_Grid( 50, 50 );
|
||||||
int g_HVLines = 1; // Bool: force H or V directions (Wires, Bus ..)
|
int g_HVLines = 1; // Bool: force H or V directions (Wires, Bus ..)
|
||||||
#else
|
#else
|
||||||
extern wxSize g_User_Grid;
|
extern wxSize g_User_Grid;
|
||||||
extern int g_HVLines;
|
extern int g_HVLines;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
eda_global int g_PlotPSColorOpt; // True = plot postcript color (see plotps.cpp)
|
eda_global int g_PlotPSColorOpt; // True = plot postcript color (see plotps.cpp)
|
||||||
|
|
||||||
|
|
||||||
// Gestion de diverses variables, options... devant etre m<EFBFBD>moris<EFBFBD>es mais
|
// Gestion de diverses variables, options... devant etre memorisees mais
|
||||||
// Remises a 0 lors d'un rechargement de projetc
|
// Remises a 0 lors d'un rechargement de projetc
|
||||||
struct EESchemaVariables
|
struct EESchemaVariables
|
||||||
{
|
{
|
||||||
int NbErrorErc;
|
int NbErrorErc;
|
||||||
int NbWarningErc;
|
int NbWarningErc;
|
||||||
};
|
};
|
||||||
|
|
||||||
eda_global struct EESchemaVariables g_EESchemaVar;
|
eda_global struct EESchemaVariables g_EESchemaVar;
|
||||||
|
|
||||||
/* Variables globales pour Libview */
|
/* Variables globales pour Libview */
|
||||||
eda_global wxString g_CurrentViewLibraryName; /* nom de la librairie en cours d'examen */
|
eda_global wxString g_CurrentViewLibraryName; /* nom de la librairie en cours d'examen */
|
||||||
eda_global wxString g_CurrentViewComponentName; /* nom du le composant en cours d'examen */
|
eda_global wxString g_CurrentViewComponentName; /* nom du le composant en cours d'examen */
|
||||||
eda_global int g_ViewConvert; /* Vue normal / convert */
|
eda_global int g_ViewConvert; /* Vue normal / convert */
|
||||||
eda_global int g_ViewUnit; /* unit<69> a afficher (A, B ..) */
|
eda_global int g_ViewUnit; /* part a afficher (A, B ..) */
|
||||||
|
|
||||||
/* Variables globales pour Schematic Edit */
|
/* Variables globales pour Schematic Edit */
|
||||||
eda_global int g_DefaultTextLabelSize
|
eda_global int g_DefaultTextLabelSize
|
||||||
#ifdef MAIN
|
#ifdef MAIN
|
||||||
= DEFAULT_SIZE_TEXT
|
= DEFAULT_SIZE_TEXT
|
||||||
#endif
|
#endif
|
||||||
|
@ -198,82 +200,87 @@ eda_global bool g_FlDrawSpecificConvert
|
||||||
#endif
|
#endif
|
||||||
;
|
;
|
||||||
|
|
||||||
/********************************************************/
|
/********************************************************/
|
||||||
/* Description des structures des parametres principaux */
|
/* Description des structures des parametres principaux */
|
||||||
/********************************************************/
|
/********************************************************/
|
||||||
|
|
||||||
/* Gestion des trace sur table tracante */
|
/* Gestion des trace sur table tracante */
|
||||||
|
|
||||||
eda_global int g_PlotFormat; /* flag = TYPE_HPGL, TYPE_PS... */
|
|
||||||
eda_global int g_PlotMargin; /* Marge pour traces du cartouche */
|
|
||||||
eda_global float g_PlotScaleX, g_PlotScaleY; /* coeff d'echelle de trace en unites table tracante */
|
|
||||||
|
|
||||||
|
eda_global int g_PlotFormat; /* flag = TYPE_HPGL, TYPE_PS... */
|
||||||
|
eda_global int g_PlotMargin; /* Marge pour traces du cartouche */
|
||||||
|
eda_global float g_PlotScaleX, g_PlotScaleY; /* coeff d'echelle de trace en unites table tracante */
|
||||||
|
|
||||||
|
|
||||||
/* For HPGL plotting: Pen caract : */
|
/* For HPGL plotting: Pen caract : */
|
||||||
struct HPGL_Pen_Descr_Struct
|
struct HPGL_Pen_Descr_Struct
|
||||||
{
|
{
|
||||||
int m_Pen_Num; /* num de plume a charger */
|
int m_Pen_Num; /* num de plume a charger */
|
||||||
int m_Pen_Speed; /* vitesse en cm/s */
|
int m_Pen_Speed; /* vitesse en cm/s */
|
||||||
int m_Pen_Diam; /* Pen diameter in mils */
|
int m_Pen_Diam; /* Pen diameter in mils */
|
||||||
};
|
};
|
||||||
eda_global HPGL_Pen_Descr_Struct g_HPGL_Pen_Descr;
|
eda_global HPGL_Pen_Descr_Struct g_HPGL_Pen_Descr;
|
||||||
|
|
||||||
/* Ecrans usuels */
|
/* Ecrans usuels */
|
||||||
|
|
||||||
//eda_global SCH_SCREEN * ScreenSch;
|
//eda_global SCH_SCREEN * ScreenSch;
|
||||||
eda_global DrawSheetStruct* g_RootSheet;
|
eda_global DrawSheetStruct* g_RootSheet;
|
||||||
eda_global SCH_SCREEN * ScreenLib;
|
eda_global SCH_SCREEN* g_ScreenLib;
|
||||||
|
|
||||||
/*************************************/
|
/*************************************/
|
||||||
/* Gestion de recherche des elements */
|
/* Gestion de recherche des elements */
|
||||||
/*************************************/
|
/*************************************/
|
||||||
|
|
||||||
/* valeur de flag indicant si le pointeur de reference pour une localisation
|
/* valeur de flag indicant si le pointeur de reference pour une localisation
|
||||||
est le curseur sur grille ou le curseur a deplacement fin hors grille */
|
* est le curseur sur grille ou le curseur a deplacement fin hors grille */
|
||||||
#define CURSEUR_ON_GRILLE 0
|
#define CURSEUR_ON_GRILLE 0
|
||||||
#define CURSEUR_OFF_GRILLE 1
|
#define CURSEUR_OFF_GRILLE 1
|
||||||
|
|
||||||
/* Gestion des librairies schematiques */
|
/* Gestion des librairies schematiques */
|
||||||
eda_global wxString g_NetNameBuffer;
|
eda_global wxString g_NetNameBuffer;
|
||||||
|
|
||||||
#ifdef MAIN
|
#ifdef MAIN
|
||||||
wxString g_NetCmpExtBuffer( wxT(".cmp") );
|
wxString g_NetCmpExtBuffer( wxT( ".cmp" ) );
|
||||||
wxString g_SymbolExtBuffer( wxT(".sym") );
|
wxString g_SymbolExtBuffer( wxT( ".sym" ) );
|
||||||
wxString g_NetExtBuffer( wxT(".net") );
|
wxString g_NetExtBuffer( wxT( ".net" ) );
|
||||||
wxString g_SchExtBuffer( wxT(".sch") );
|
wxString g_SchExtBuffer( wxT( ".sch" ) );
|
||||||
wxString g_LibExtBuffer( wxT(".lib") );
|
wxString g_LibExtBuffer( wxT( ".lib" ) );
|
||||||
#else
|
#else
|
||||||
eda_global wxString g_NetCmpExtBuffer;
|
eda_global wxString g_NetCmpExtBuffer;
|
||||||
eda_global wxString g_SymbolExtBuffer;
|
eda_global wxString g_SymbolExtBuffer;
|
||||||
eda_global wxString g_NetExtBuffer;
|
eda_global wxString g_NetExtBuffer;
|
||||||
eda_global wxString g_SchExtBuffer;
|
eda_global wxString g_SchExtBuffer;
|
||||||
eda_global wxString g_LibExtBuffer;
|
eda_global wxString g_LibExtBuffer;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
eda_global wxString g_SimulatorCommandLine; // ligne de commande pour l'appel au simulateur (gnucap, spice..)
|
eda_global wxString g_SimulatorCommandLine; // ligne de commande pour l'appel au simulateur (gnucap, spice..)
|
||||||
eda_global wxString g_NetListerCommandLine; // ligne de commande pour l'appel au simulateur (gnucap, spice..)
|
eda_global wxString g_NetListerCommandLine; // ligne de commande pour l'appel au simulateur (gnucap, spice..)
|
||||||
|
|
||||||
eda_global LayerStruct g_LayerDescr; /* couleurs des couches */
|
eda_global LayerStruct g_LayerDescr; /* couleurs des couches */
|
||||||
|
|
||||||
eda_global bool g_EditPinByPinIsOn /* bool: TRUE si edition des pins pin a pin au lieu */
|
eda_global bool g_EditPinByPinIsOn /* bool: TRUE si edition des pins pin a pin au lieu */
|
||||||
#ifdef MAIN /* de l'edition simultanee des pins de meme coordonnees */
|
#ifdef MAIN /* de l'edition simultanee des pins de meme coordonnees */
|
||||||
= FALSE
|
= FALSE
|
||||||
#endif
|
#endif
|
||||||
;
|
;
|
||||||
|
|
||||||
eda_global int g_LibSymbolDefaultLineWidth; /* default line width (in EESCHEMA units) used when creating a new graphic item in libedit : 0 = default */
|
eda_global int g_LibSymbolDefaultLineWidth; /* default line width (in EESCHEMA units) used when creating a new graphic item in libedit : 0 = default */
|
||||||
eda_global int g_DrawMinimunLineWidth; /* Minimum line (in EESCHEMA units) width used to draw items on screen; 0 = single pixel line width */
|
eda_global int g_DrawMinimunLineWidth; /* Minimum line (in EESCHEMA units) width used to draw items on screen; 0 = single pixel line width */
|
||||||
eda_global int g_PlotPSMinimunLineWidth; /* Minimum line (in EESCHEMA units) width used to Plot items , postscript format */
|
eda_global int g_PlotPSMinimunLineWidth; /* Minimum line (in EESCHEMA units) width used to Plot items , postscript format */
|
||||||
|
|
||||||
eda_global int g_ItemSelectetColor // Color to draw selected items
|
eda_global int g_ItemSelectetColor // Color to draw selected items
|
||||||
#ifdef MAIN
|
#ifdef MAIN
|
||||||
= BROWN
|
= BROWN
|
||||||
#endif
|
#endif
|
||||||
;
|
;
|
||||||
|
|
||||||
|
eda_global int g_InvisibleItemColor // Color to draw items flagged invisible, in libedit (they are insisible in eeschema
|
||||||
|
#ifdef MAIN
|
||||||
|
= DARKGRAY
|
||||||
|
#endif
|
||||||
|
;
|
||||||
|
|
||||||
/* Config keys */
|
/* Config keys */
|
||||||
#define MINI_DRAW_LINE_WIDTH_KEY wxT("MinimunDrawLineWidth")
|
#define MINI_DRAW_LINE_WIDTH_KEY wxT( "MinimunDrawLineWidth" )
|
||||||
#define MINI_PLOTPS_LINE_WIDTH_KEY wxT("MinimunPlotPSLineWidth")
|
#define MINI_PLOTPS_LINE_WIDTH_KEY wxT( "MinimunPlotPSLineWidth" )
|
||||||
|
|
||||||
#endif // _GENERAL_H_
|
#endif // _GENERAL_H_
|
||||||
|
|
|
@ -60,7 +60,7 @@ const wxChar * Text;
|
||||||
{
|
{
|
||||||
Text = List[ii].m_Comp->m_ChipName.GetData();
|
Text = List[ii].m_Comp->m_ChipName.GetData();
|
||||||
Entry = FindLibPart(Text, wxEmptyString, FIND_ROOT);
|
Entry = FindLibPart(Text, wxEmptyString, FIND_ROOT);
|
||||||
ListEntry[ii] = Entry; // = NULL si Composant non trouv<75> en librairie
|
ListEntry[ii] = Entry; // = NULL component not found
|
||||||
}
|
}
|
||||||
|
|
||||||
MyFree(List);
|
MyFree(List);
|
||||||
|
@ -90,21 +90,22 @@ const wxChar * Text;
|
||||||
if( DocFile)
|
if( DocFile)
|
||||||
fprintf(DocFile,"%s %s\n", DOCFILE_IDENT, DateAndTime(Line));
|
fprintf(DocFile,"%s %s\n", DOCFILE_IDENT, DateAndTime(Line));
|
||||||
|
|
||||||
/* Generation des elements */
|
/* Save components in file */
|
||||||
for ( ii = 0; ii < NbItems; ii++ )
|
for ( ii = 0; ii < NbItems; ii++ )
|
||||||
{
|
{
|
||||||
if ( ListEntry[ii] == NULL ) // Composant non trouv<75> en librairie
|
if ( ListEntry[ii] == NULL ) // Not found in lib
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if ( (ii == 0) || ( ListEntry[ii-1] != ListEntry[ii] ) )
|
if ( (ii == 0) || ( ListEntry[ii-1] != ListEntry[ii] ) )
|
||||||
{
|
{
|
||||||
WriteOneLibEntry(ArchiveFile, ListEntry[ii]);
|
if ( ListEntry[ii]->Type == ROOT) // Must be always true, but just in case
|
||||||
if( DocFile ) WriteOneDocLibEntry(DocFile, ListEntry[ii]);
|
ListEntry[ii]->Save(ArchiveFile);
|
||||||
|
if( DocFile )
|
||||||
|
ListEntry[ii]->SaveDoc(DocFile);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Generation fin de fichier */
|
|
||||||
fprintf(ArchiveFile,"#\n#EndLibrary\n");
|
fprintf(ArchiveFile,"#\n#EndLibrary\n");
|
||||||
fclose(ArchiveFile);
|
fclose(ArchiveFile);
|
||||||
|
|
||||||
|
|
|
@ -85,7 +85,7 @@ wxString msg;
|
||||||
wxString CmpName;
|
wxString CmpName;
|
||||||
EDA_LibComponentStruct *LibEntry = NULL;
|
EDA_LibComponentStruct *LibEntry = NULL;
|
||||||
|
|
||||||
if( ScreenLib->IsModify() )
|
if( g_ScreenLib->IsModify() )
|
||||||
{
|
{
|
||||||
if( ! IsOK(this, _("Current Part not saved.\nContinue?") ) ) return FALSE;
|
if( ! IsOK(this, _("Current Part not saved.\nContinue?") ) ) return FALSE;
|
||||||
}
|
}
|
||||||
|
@ -96,7 +96,7 @@ EDA_LibComponentStruct *LibEntry = NULL;
|
||||||
i = GetNameOfPartToLoad(this, CurrentLib, CmpName);
|
i = GetNameOfPartToLoad(this, CurrentLib, CmpName);
|
||||||
if( i == 0) return FALSE;
|
if( i == 0) return FALSE;
|
||||||
|
|
||||||
ScreenLib->ClrModify();
|
g_ScreenLib->ClrModify();
|
||||||
CurrentDrawItem = NULL;
|
CurrentDrawItem = NULL;
|
||||||
// Effacement ancien composant affich<63>
|
// Effacement ancien composant affich<63>
|
||||||
if( CurrentLibEntry)
|
if( CurrentLibEntry)
|
||||||
|
@ -166,7 +166,7 @@ const wxChar * CmpName, *RootName = NULL;
|
||||||
|
|
||||||
BuildAliasData(Library, CurrentLibEntry);
|
BuildAliasData(Library, CurrentLibEntry);
|
||||||
|
|
||||||
ScreenLib->ClrModify();
|
g_ScreenLib->ClrModify();
|
||||||
g_AsDeMorgan = 0;
|
g_AsDeMorgan = 0;
|
||||||
|
|
||||||
if( LookForConvertPart(CurrentLibEntry) > 1 ) g_AsDeMorgan = 1;
|
if( LookForConvertPart(CurrentLibEntry) > 1 ) g_AsDeMorgan = 1;
|
||||||
|
@ -564,7 +564,7 @@ bool NewCmp = TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
CurrentLib->m_Modified = 1;
|
CurrentLib->m_Modified = 1;
|
||||||
ScreenLib->ClrModify();
|
g_ScreenLib->ClrModify();
|
||||||
|
|
||||||
PQCompFunc((PQCompFuncType) LibraryEntryCompare);
|
PQCompFunc((PQCompFuncType) LibraryEntryCompare);
|
||||||
|
|
||||||
|
|
|
@ -71,7 +71,7 @@ WinEDA_LibeditFrame::WinEDA_LibeditFrame( wxWindow* father,
|
||||||
|
|
||||||
// Give an icon
|
// Give an icon
|
||||||
SetIcon( wxIcon( libedit_xpm ) );
|
SetIcon( wxIcon( libedit_xpm ) );
|
||||||
SetBaseScreen( ScreenLib );
|
SetBaseScreen( g_ScreenLib );
|
||||||
GetSettings();
|
GetSettings();
|
||||||
SetSize( m_FramePos.x, m_FramePos.y, m_FrameSize.x, m_FrameSize.y );
|
SetSize( m_FramePos.x, m_FramePos.y, m_FrameSize.x, m_FrameSize.y );
|
||||||
if( DrawPanel )
|
if( DrawPanel )
|
||||||
|
|
|
@ -59,10 +59,6 @@ void DrawLibraryDrawStruct(WinEDA_DrawPanel * aPanel, wxDC * aDC,
|
||||||
|
|
||||||
bool MapAngles(int *Angle1, int *Angle2, int TransMat[2][2]);
|
bool MapAngles(int *Angle1, int *Angle2, int TransMat[2][2]);
|
||||||
|
|
||||||
|
|
||||||
/**************/
|
|
||||||
/* EELIBS_DRAW_COMPONENTS.CPP */
|
|
||||||
/**************/
|
|
||||||
EDA_LibComponentStruct * Read_Component_Definition(WinEDA_DrawFrame * frame, char * Line,
|
EDA_LibComponentStruct * Read_Component_Definition(WinEDA_DrawFrame * frame, char * Line,
|
||||||
FILE *f, int *LineNum);
|
FILE *f, int *LineNum);
|
||||||
/* Routine to Read a DEF/ENDDEF part entry from given open file. */
|
/* Routine to Read a DEF/ENDDEF part entry from given open file. */
|
||||||
|
@ -229,22 +225,12 @@ LibEDA_BaseStruct * CopyDrawEntryStruct( wxWindow * frame, LibEDA_BaseStruct * D
|
||||||
Retourne:
|
Retourne:
|
||||||
Pointeur sur la structure creee (ou NULL si impossible) */
|
Pointeur sur la structure creee (ou NULL si impossible) */
|
||||||
|
|
||||||
int WriteOneLibEntry( FILE * ExportFile, EDA_LibComponentStruct * LibEntry);
|
|
||||||
/* Routine d'ecriture du composant pointe par LibEntry
|
|
||||||
dans le fichier ExportFile( qui doit etre deja ouvert)
|
|
||||||
return: FALSE si Ok, TRUE si err write */
|
|
||||||
|
|
||||||
EDA_LibComponentStruct * CopyLibEntryStruct (wxWindow * frame, EDA_LibComponentStruct * OldEntry);
|
EDA_LibComponentStruct * CopyLibEntryStruct (wxWindow * frame, EDA_LibComponentStruct * OldEntry);
|
||||||
/* Routine de copie d'une partlib
|
/* Routine de copie d'une partlib
|
||||||
Parametres d'entree: pointeur sur la structure de depart
|
Parametres d'entree: pointeur sur la structure de depart
|
||||||
Parametres de sortie: pointeur sur la structure creee */
|
Parametres de sortie: pointeur sur la structure creee */
|
||||||
|
|
||||||
int WriteOneDocLibEntry(FILE * ExportFile, EDA_LibComponentStruct * LibEntry);
|
|
||||||
/* Routine d'ecriture de la doc du composant pointe par LibEntry
|
|
||||||
dans le fichier ExportFile( qui doit etre deja ouvert)
|
|
||||||
return: 0 si Ok
|
|
||||||
1 si err write */
|
|
||||||
|
|
||||||
|
|
||||||
/***************/
|
/***************/
|
||||||
/* SYMBEDIT.CPP */
|
/* SYMBEDIT.CPP */
|
||||||
|
@ -254,11 +240,6 @@ void SuppressDuplicateDrawItem(EDA_LibComponentStruct * LibEntry);
|
||||||
frequente lorsque l'on charge des symboles predessines plusieurs fois
|
frequente lorsque l'on charge des symboles predessines plusieurs fois
|
||||||
pour definir un composant */
|
pour definir un composant */
|
||||||
|
|
||||||
/***************/
|
|
||||||
/* SYMBTEXT.CPP */
|
|
||||||
/***************/
|
|
||||||
|
|
||||||
|
|
||||||
/**************/
|
/**************/
|
||||||
/* NETLIST.CPP */
|
/* NETLIST.CPP */
|
||||||
/**************/
|
/**************/
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
/* EESchema - eesavlib.cpp */
|
/* EESchema - eesavlib.cpp */
|
||||||
/****************************/
|
/****************************/
|
||||||
|
|
||||||
/* Write Routines to save schematic libraries and library components (::Save() members)
|
/* Functions to save schematic libraries and library components (::Save() members)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "fctsys.h"
|
#include "fctsys.h"
|
||||||
|
@ -350,137 +350,132 @@ EDA_LibComponentStruct* CopyLibEntryStruct( wxWindow* frame, EDA_LibComponentStr
|
||||||
return NewStruct;
|
return NewStruct;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/************************************************/
|
||||||
/*************************************************************************/
|
bool EDA_LibComponentStruct::Save( FILE* aFile )
|
||||||
int WriteOneLibEntry( FILE* ExportFile, EDA_LibComponentStruct* LibEntry )
|
/***********************************************/
|
||||||
/*************************************************************************/
|
/**
|
||||||
|
* Function Save
|
||||||
/* Routine d'ecriture du composant pointe par LibEntry
|
* writes the data structures for this object out to a FILE in "*.brd" format.
|
||||||
* dans le fichier ExportFile( qui doit etre deja ouvert)
|
* @param aFile The FILE to write to.
|
||||||
* return: 0 si Ok
|
* @return bool - true if success writing else false.
|
||||||
* -1 si err write
|
|
||||||
* 1 si composant non ecrit ( type ALIAS )
|
|
||||||
*/
|
*/
|
||||||
#define UNUSED 0
|
#define UNUSED 0
|
||||||
{
|
{
|
||||||
LibEDA_BaseStruct* DrawEntry;
|
LibEDA_BaseStruct* DrawEntry;
|
||||||
LibDrawField* Field;
|
LibDrawField* Field;
|
||||||
|
|
||||||
if( LibEntry->Type != ROOT )
|
if( Type != ROOT ) // should not happen, but just in case
|
||||||
return 1;
|
return false;
|
||||||
|
|
||||||
/* Creation du commentaire donnant le nom du composant */
|
/* First line: it s a comment (component name for readers) */
|
||||||
fprintf( ExportFile, "#\n# %s\n#\n", CONV_TO_UTF8( LibEntry->m_Name.m_Text ) );
|
fprintf( aFile, "#\n# %s\n#\n", CONV_TO_UTF8( m_Name.m_Text ) );
|
||||||
|
|
||||||
/* Generation des lignes utiles */
|
/* Save data */
|
||||||
fprintf( ExportFile, "DEF" );
|
fprintf( aFile, "DEF" );
|
||||||
if( (LibEntry->m_Name.m_Attributs & TEXT_NO_VISIBLE) == 0 )
|
if( (m_Name.m_Attributs & TEXT_NO_VISIBLE) == 0 )
|
||||||
fprintf( ExportFile, " %s", CONV_TO_UTF8( LibEntry->m_Name.m_Text ) );
|
fprintf( aFile, " %s", CONV_TO_UTF8( m_Name.m_Text ) );
|
||||||
else
|
else
|
||||||
fprintf( ExportFile, " ~%s", CONV_TO_UTF8( LibEntry->m_Name.m_Text ) );
|
fprintf( aFile, " ~%s", CONV_TO_UTF8( m_Name.m_Text ) );
|
||||||
|
|
||||||
if( !LibEntry->m_Prefix.m_Text.IsEmpty() )
|
if( !m_Prefix.m_Text.IsEmpty() )
|
||||||
fprintf( ExportFile, " %s", CONV_TO_UTF8( LibEntry->m_Prefix.m_Text ) );
|
fprintf( aFile, " %s", CONV_TO_UTF8( m_Prefix.m_Text ) );
|
||||||
else
|
else
|
||||||
fprintf( ExportFile, " ~" );
|
fprintf( aFile, " ~" );
|
||||||
fprintf( ExportFile, " %d %d %c %c %d %c %c\n",
|
fprintf( aFile, " %d %d %c %c %d %c %c\n",
|
||||||
UNUSED, LibEntry->m_TextInside,
|
UNUSED, m_TextInside,
|
||||||
LibEntry->m_DrawPinNum ? 'Y' : 'N',
|
m_DrawPinNum ? 'Y' : 'N',
|
||||||
LibEntry->m_DrawPinName ? 'Y' : 'N',
|
m_DrawPinName ? 'Y' : 'N',
|
||||||
LibEntry->m_UnitCount, LibEntry->m_UnitSelectionLocked ? 'L' : 'F',
|
m_UnitCount, m_UnitSelectionLocked ? 'L' : 'F',
|
||||||
LibEntry->m_Options == ENTRY_POWER ? 'P' : 'N' );
|
m_Options == ENTRY_POWER ? 'P' : 'N' );
|
||||||
|
|
||||||
WriteLibEntryDateAndTime( ExportFile, LibEntry );
|
WriteLibEntryDateAndTime( aFile, this );
|
||||||
|
|
||||||
/* Position / orientation / visibilite des champs */
|
/* Save fields */
|
||||||
LibEntry->m_Prefix.Save( ExportFile );
|
m_Prefix.Save( aFile );
|
||||||
LibEntry->m_Name.Save( ExportFile );
|
m_Name.Save( aFile );
|
||||||
|
|
||||||
for( Field = LibEntry->Fields; Field!= NULL;
|
for( Field = Fields; Field!= NULL;
|
||||||
Field = (LibDrawField*) Field->Pnext )
|
Field = (LibDrawField*) Field->Pnext )
|
||||||
{
|
{
|
||||||
if( Field->m_Text.IsEmpty() && Field->m_Name.IsEmpty() )
|
if( Field->m_Text.IsEmpty() && Field->m_Name.IsEmpty() )
|
||||||
continue;
|
continue;
|
||||||
Field->Save( ExportFile );
|
Field->Save( aFile );
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Sauvegarde de la ligne "ALIAS" */
|
/* Save the alias list: a line starting by "ALIAS" */
|
||||||
if( LibEntry->m_AliasList.GetCount() != 0 )
|
if( m_AliasList.GetCount() != 0 )
|
||||||
{
|
{
|
||||||
fprintf( ExportFile, "ALIAS" );
|
fprintf( aFile, "ALIAS" );
|
||||||
unsigned ii;
|
unsigned ii;
|
||||||
for( ii = 0; ii < LibEntry->m_AliasList.GetCount(); ii++ )
|
for( ii = 0; ii < m_AliasList.GetCount(); ii++ )
|
||||||
fprintf( ExportFile, " %s", CONV_TO_UTF8( LibEntry->m_AliasList[ii] ) );
|
fprintf( aFile, " %s", CONV_TO_UTF8( m_AliasList[ii] ) );
|
||||||
|
|
||||||
fprintf( ExportFile, "\n" );
|
fprintf( aFile, "\n" );
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Write the footprint filter list */
|
/* Write the footprint filter list */
|
||||||
if( LibEntry->m_FootprintList.GetCount() != 0 )
|
if( m_FootprintList.GetCount() != 0 )
|
||||||
{
|
{
|
||||||
fprintf( ExportFile, "$FPLIST\n" );
|
fprintf( aFile, "$FPLIST\n" );
|
||||||
unsigned ii;
|
unsigned ii;
|
||||||
for( ii = 0; ii < LibEntry->m_FootprintList.GetCount(); ii++ )
|
for( ii = 0; ii < m_FootprintList.GetCount(); ii++ )
|
||||||
fprintf( ExportFile, " %s\n", CONV_TO_UTF8( LibEntry->m_FootprintList[ii] ) );
|
fprintf( aFile, " %s\n", CONV_TO_UTF8( m_FootprintList[ii] ) );
|
||||||
|
|
||||||
fprintf( ExportFile, "$ENDFPLIST\n" );
|
fprintf( aFile, "$ENDFPLIST\n" );
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Sauvegarde des elements de trace */
|
/* Save graphics items (including pins) */
|
||||||
DrawEntry = LibEntry->m_Drawings;
|
if( m_Drawings )
|
||||||
if( LibEntry->m_Drawings )
|
|
||||||
{
|
{
|
||||||
/* we sort the draw items, in order to have an edition more easy,
|
/* we sort the draw items, in order to have an edition more easy,
|
||||||
* when a file editing "by hand" is made */
|
* when a file editing "by hand" is made */
|
||||||
LibEntry->SortDrawItems();
|
SortDrawItems();
|
||||||
|
|
||||||
fprintf( ExportFile, "DRAW\n" );
|
fprintf( aFile, "DRAW\n" );
|
||||||
DrawEntry = LibEntry->m_Drawings;
|
DrawEntry = m_Drawings;
|
||||||
while( DrawEntry )
|
while( DrawEntry )
|
||||||
{
|
{
|
||||||
DrawEntry->Save( ExportFile );
|
DrawEntry->Save( aFile );
|
||||||
DrawEntry = DrawEntry->Next();
|
DrawEntry = DrawEntry->Next();
|
||||||
}
|
}
|
||||||
fprintf( ExportFile, "ENDDRAW\n" );
|
fprintf( aFile, "ENDDRAW\n" );
|
||||||
}
|
}
|
||||||
|
|
||||||
fprintf( ExportFile, "ENDDEF\n" );
|
fprintf( aFile, "ENDDEF\n" );
|
||||||
|
|
||||||
return 0;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*************************************************************************/
|
/***************************************/
|
||||||
int WriteOneDocLibEntry( FILE* ExportFile, EDA_LibComponentStruct* LibEntry )
|
bool LibCmpEntry::SaveDoc( FILE* aFile )
|
||||||
/*************************************************************************/
|
/***************************************/
|
||||||
|
/**
|
||||||
/* Routine d'ecriture de la doc du composant pointe par LibEntry
|
* Function SaveDoc
|
||||||
* dans le fichier ExportFile( qui doit etre deja ouvert)
|
* writes the doc info out to a FILE in "*.dcm" format.
|
||||||
* return: 0 si Ok
|
* Only non empty fields are written.
|
||||||
* 1 si err write
|
* If all fielsd are empty, does not write anything
|
||||||
* Cependant, si i tous les Pointeurs sur textes sont nulls ( pas de Doc )
|
* @param aFile The FILE to write to.
|
||||||
* rien ne sera ecrit.
|
* @return bool - true if success writing else false.
|
||||||
*/
|
*/
|
||||||
{
|
{
|
||||||
if( ( LibEntry->m_Doc.IsEmpty() )
|
if( m_Doc.IsEmpty() && m_KeyWord.IsEmpty() && m_DocFile.IsEmpty() )
|
||||||
&& ( LibEntry->m_KeyWord.IsEmpty() )
|
return true;
|
||||||
&& ( LibEntry->m_DocFile.IsEmpty() ) )
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
/* Generation des lignes utiles */
|
/* Generation des lignes utiles */
|
||||||
fprintf( ExportFile, "#\n$CMP %s\n", CONV_TO_UTF8( LibEntry->m_Name.m_Text ) );
|
fprintf( aFile, "#\n$CMP %s\n", CONV_TO_UTF8( m_Name.m_Text ) );
|
||||||
|
|
||||||
if( !LibEntry->m_Doc.IsEmpty() )
|
if( ! m_Doc.IsEmpty() )
|
||||||
fprintf( ExportFile, "D %s\n", CONV_TO_UTF8( LibEntry->m_Doc ) );
|
fprintf( aFile, "D %s\n", CONV_TO_UTF8( m_Doc ) );
|
||||||
|
|
||||||
if( !LibEntry->m_KeyWord.IsEmpty() )
|
if( ! m_KeyWord.IsEmpty() )
|
||||||
fprintf( ExportFile, "K %s\n", CONV_TO_UTF8( LibEntry->m_KeyWord ) );
|
fprintf( aFile, "K %s\n", CONV_TO_UTF8( m_KeyWord ) );
|
||||||
|
|
||||||
if( !LibEntry->m_DocFile.IsEmpty() )
|
if( ! m_DocFile.IsEmpty() )
|
||||||
fprintf( ExportFile, "F %s\n", CONV_TO_UTF8( LibEntry->m_DocFile ) );
|
fprintf( aFile, "F %s\n", CONV_TO_UTF8( m_DocFile ) );
|
||||||
|
|
||||||
fprintf( ExportFile, "$ENDCMP\n" );
|
fprintf( aFile, "$ENDCMP\n" );
|
||||||
return 0;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -560,11 +555,16 @@ bool LibraryStruct::SaveLibrary( const wxString& FullFileName )
|
||||||
bool success = true;
|
bool success = true;
|
||||||
while( LibEntry )
|
while( LibEntry )
|
||||||
{
|
{
|
||||||
if ( WriteOneLibEntry( libfile, LibEntry ) != 0 )
|
if ( LibEntry->Type == ROOT )
|
||||||
success = false;
|
{
|
||||||
if ( docfile )
|
if ( ! LibEntry->Save( libfile ) )
|
||||||
if ( WriteOneDocLibEntry( docfile, LibEntry ) != 0 )
|
|
||||||
success = false;
|
success = false;
|
||||||
|
}
|
||||||
|
if ( docfile )
|
||||||
|
{
|
||||||
|
if ( ! LibEntry->SaveDoc( docfile ) )
|
||||||
|
success = false;
|
||||||
|
}
|
||||||
|
|
||||||
LibEntry = (EDA_LibComponentStruct*)
|
LibEntry = (EDA_LibComponentStruct*)
|
||||||
PQNext( m_Entries, LibEntry, NULL );
|
PQNext( m_Entries, LibEntry, NULL );
|
||||||
|
|
|
@ -275,10 +275,10 @@ void WinEDA_SchematicFrame::CreateScreens()
|
||||||
m_CurrentSheet->Clear();
|
m_CurrentSheet->Clear();
|
||||||
m_CurrentSheet->Push( g_RootSheet );
|
m_CurrentSheet->Push( g_RootSheet );
|
||||||
|
|
||||||
if( ScreenLib == NULL )
|
if( g_ScreenLib == NULL )
|
||||||
ScreenLib = new SCH_SCREEN( LIBEDITOR_FRAME );
|
g_ScreenLib = new SCH_SCREEN( LIBEDITOR_FRAME );
|
||||||
ScreenLib->SetZoom( 4 );
|
g_ScreenLib->SetZoom( 4 );
|
||||||
ScreenLib->m_UndoRedoCountMax = 10;
|
g_ScreenLib->m_UndoRedoCountMax = 10;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -356,9 +356,7 @@ void WinEDA_SchematicFrame::OnCloseWindow( wxCloseEvent& Event )
|
||||||
|
|
||||||
|
|
||||||
/*****************************************************************************
|
/*****************************************************************************
|
||||||
*
|
|
||||||
* Enable or disable some tools according to current conditions
|
* Enable or disable some tools according to current conditions
|
||||||
*
|
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
void WinEDA_SchematicFrame::SetToolbars()
|
void WinEDA_SchematicFrame::SetToolbars()
|
||||||
{
|
{
|
||||||
|
@ -451,21 +449,27 @@ int WinEDA_SchematicFrame::BestZoom()
|
||||||
return bestzoom;
|
return bestzoom;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**************************************************************/
|
||||||
void WinEDA_SchematicFrame::OnAnnotate( wxCommandEvent& event )
|
void WinEDA_SchematicFrame::OnAnnotate( wxCommandEvent& event )
|
||||||
|
/**************************************************************/
|
||||||
{
|
{
|
||||||
WinEDA_AnnotateFrame* dlg = new WinEDA_AnnotateFrame( this );
|
WinEDA_AnnotateFrame* dlg = new WinEDA_AnnotateFrame( this );
|
||||||
dlg->ShowModal();
|
dlg->ShowModal();
|
||||||
dlg->Destroy();
|
dlg->Destroy();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*********************************************************/
|
||||||
void WinEDA_SchematicFrame::OnErc( wxCommandEvent& event )
|
void WinEDA_SchematicFrame::OnErc( wxCommandEvent& event )
|
||||||
|
/*********************************************************/
|
||||||
{
|
{
|
||||||
WinEDA_ErcFrame* dlg = new WinEDA_ErcFrame( this );
|
WinEDA_ErcFrame* dlg = new WinEDA_ErcFrame( this );
|
||||||
dlg->ShowModal();
|
dlg->ShowModal();
|
||||||
dlg->Destroy();
|
dlg->Destroy();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*******************************************************************/
|
||||||
void WinEDA_SchematicFrame::OnCreateNetlist( wxCommandEvent& event )
|
void WinEDA_SchematicFrame::OnCreateNetlist( wxCommandEvent& event )
|
||||||
|
/*******************************************************************/
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
|
@ -481,14 +485,18 @@ void WinEDA_SchematicFrame::OnCreateNetlist( wxCommandEvent& event )
|
||||||
// If a plugin is removed or added, rebuild and reopen the new dialog
|
// If a plugin is removed or added, rebuild and reopen the new dialog
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**********************************************************************/
|
||||||
void WinEDA_SchematicFrame::OnCreateBillOfMaterials( wxCommandEvent & )
|
void WinEDA_SchematicFrame::OnCreateBillOfMaterials( wxCommandEvent & )
|
||||||
|
/**********************************************************************/
|
||||||
{
|
{
|
||||||
WinEDA_Build_BOM_Frame* dlg = new WinEDA_Build_BOM_Frame( this );
|
WinEDA_Build_BOM_Frame* dlg = new WinEDA_Build_BOM_Frame( this );
|
||||||
dlg->ShowModal();
|
dlg->ShowModal();
|
||||||
dlg->Destroy();
|
dlg->Destroy();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*******************************************************************/
|
||||||
void WinEDA_SchematicFrame::OnFindItems( wxCommandEvent& event )
|
void WinEDA_SchematicFrame::OnFindItems( wxCommandEvent& event )
|
||||||
|
/*******************************************************************/
|
||||||
{
|
{
|
||||||
this->DrawPanel->m_IgnoreMouseEvents = TRUE;
|
this->DrawPanel->m_IgnoreMouseEvents = TRUE;
|
||||||
WinEDA_FindFrame* dlg = new WinEDA_FindFrame( this );
|
WinEDA_FindFrame* dlg = new WinEDA_FindFrame( this );
|
||||||
|
@ -497,7 +505,9 @@ void WinEDA_SchematicFrame::OnFindItems( wxCommandEvent& event )
|
||||||
this->DrawPanel->m_IgnoreMouseEvents = FALSE;
|
this->DrawPanel->m_IgnoreMouseEvents = FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/***************************************************************/
|
||||||
void WinEDA_SchematicFrame::OnLoadFile( wxCommandEvent& event )
|
void WinEDA_SchematicFrame::OnLoadFile( wxCommandEvent& event )
|
||||||
|
/***************************************************************/
|
||||||
{
|
{
|
||||||
int i = event.GetId() - ID_LOAD_FILE_1;
|
int i = event.GetId() - ID_LOAD_FILE_1;
|
||||||
|
|
||||||
|
@ -505,23 +515,31 @@ void WinEDA_SchematicFrame::OnLoadFile( wxCommandEvent& event )
|
||||||
SetToolbars();
|
SetToolbars();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*******************************************************************/
|
||||||
void WinEDA_SchematicFrame::OnLoadStuffFile( wxCommandEvent& event )
|
void WinEDA_SchematicFrame::OnLoadStuffFile( wxCommandEvent& event )
|
||||||
|
/*******************************************************************/
|
||||||
{
|
{
|
||||||
ReadInputStuffFile( );
|
ReadInputStuffFile( );
|
||||||
DrawPanel->Refresh();
|
DrawPanel->Refresh();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/****************************************************************/
|
||||||
void WinEDA_SchematicFrame::OnNewProject( wxCommandEvent& event )
|
void WinEDA_SchematicFrame::OnNewProject( wxCommandEvent& event )
|
||||||
|
/****************************************************************/
|
||||||
{
|
{
|
||||||
LoadOneEEProject( wxEmptyString, true );
|
LoadOneEEProject( wxEmptyString, true );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*****************************************************************/
|
||||||
void WinEDA_SchematicFrame::OnLoadProject( wxCommandEvent& event )
|
void WinEDA_SchematicFrame::OnLoadProject( wxCommandEvent& event )
|
||||||
|
/*****************************************************************/
|
||||||
{
|
{
|
||||||
LoadOneEEProject( wxEmptyString, false );
|
LoadOneEEProject( wxEmptyString, false );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/****************************************************************/
|
||||||
void WinEDA_SchematicFrame::OnOpenPcbnew( wxCommandEvent& event )
|
void WinEDA_SchematicFrame::OnOpenPcbnew( wxCommandEvent& event )
|
||||||
|
/****************************************************************/
|
||||||
{
|
{
|
||||||
wxString Line = g_RootSheet->m_AssociatedScreen->m_FileName;
|
wxString Line = g_RootSheet->m_AssociatedScreen->m_FileName;
|
||||||
|
|
||||||
|
@ -535,7 +553,9 @@ void WinEDA_SchematicFrame::OnOpenPcbnew( wxCommandEvent& event )
|
||||||
ExecuteFile( this, PCBNEW_EXE );
|
ExecuteFile( this, PCBNEW_EXE );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/***************************************************************/
|
||||||
void WinEDA_SchematicFrame::OnOpenCvpcb( wxCommandEvent& event )
|
void WinEDA_SchematicFrame::OnOpenCvpcb( wxCommandEvent& event )
|
||||||
|
/***************************************************************/
|
||||||
{
|
{
|
||||||
wxString Line = g_RootSheet->m_AssociatedScreen->m_FileName;
|
wxString Line = g_RootSheet->m_AssociatedScreen->m_FileName;
|
||||||
|
|
||||||
|
@ -549,7 +569,9 @@ void WinEDA_SchematicFrame::OnOpenCvpcb( wxCommandEvent& event )
|
||||||
ExecuteFile( this, CVPCB_EXE );
|
ExecuteFile( this, CVPCB_EXE );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*************************************************************************/
|
||||||
void WinEDA_SchematicFrame::OnOpenLibraryViewer( wxCommandEvent& event )
|
void WinEDA_SchematicFrame::OnOpenLibraryViewer( wxCommandEvent& event )
|
||||||
|
/*************************************************************************/
|
||||||
{
|
{
|
||||||
if( m_Parent->m_ViewlibFrame )
|
if( m_Parent->m_ViewlibFrame )
|
||||||
{
|
{
|
||||||
|
@ -564,7 +586,9 @@ void WinEDA_SchematicFrame::OnOpenLibraryViewer( wxCommandEvent& event )
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*************************************************************************/
|
||||||
void WinEDA_SchematicFrame::OnOpenLibraryEditor( wxCommandEvent& event )
|
void WinEDA_SchematicFrame::OnOpenLibraryEditor( wxCommandEvent& event )
|
||||||
|
/*************************************************************************/
|
||||||
{
|
{
|
||||||
if( m_Parent->m_LibeditFrame )
|
if( m_Parent->m_LibeditFrame )
|
||||||
{
|
{
|
||||||
|
@ -578,7 +602,7 @@ void WinEDA_SchematicFrame::OnOpenLibraryEditor( wxCommandEvent& event )
|
||||||
wxT( "Library Editor" ),
|
wxT( "Library Editor" ),
|
||||||
wxPoint( -1, -1 ),
|
wxPoint( -1, -1 ),
|
||||||
wxSize( 600, 400 ) );
|
wxSize( 600, 400 ) );
|
||||||
ActiveScreen = ScreenLib;
|
ActiveScreen = g_ScreenLib;
|
||||||
m_Parent->m_LibeditFrame->AdjustScrollBars();
|
m_Parent->m_LibeditFrame->AdjustScrollBars();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue