2008-09-19 08:19:15 +00:00
|
|
|
/***************************************/
|
|
|
|
/* GENERAL.H : declarations communes */
|
|
|
|
/***************************************/
|
2007-05-06 16:03:28 +00:00
|
|
|
|
2008-02-26 01:07:38 +00:00
|
|
|
#ifndef _GENERAL_H_
|
|
|
|
#define _GENERAL_H_
|
|
|
|
|
2007-05-06 16:03:28 +00:00
|
|
|
|
|
|
|
/* Entete des fichiers schematique */
|
2008-02-12 22:34:40 +00:00
|
|
|
#define EESCHEMA_VERSION 2
|
2007-05-06 16:03:28 +00:00
|
|
|
|
|
|
|
#define SCHEMATIC_HEAD_STRING "Schematic File Version"
|
2008-09-19 08:19:15 +00:00
|
|
|
#define EESCHEMA_FILE_STAMP "EESchema"
|
|
|
|
#define NULL_STRING "_NONAME_"
|
2007-05-06 16:03:28 +00:00
|
|
|
|
2008-09-19 08:19:15 +00:00
|
|
|
#define MAX_PIN_INFO 10
|
2007-05-06 16:03:28 +00:00
|
|
|
|
2008-09-19 08:19:15 +00:00
|
|
|
#define TXTMARGE 10 /* Decalage (en 1/1000") des textes places
|
2009-04-05 20:49:15 +00:00
|
|
|
* sur fils ( labels, num pins ) */
|
2007-05-06 16:03:28 +00:00
|
|
|
|
|
|
|
#define HIGHLIGHT_COLOR WHITE
|
|
|
|
|
|
|
|
|
|
|
|
/* Used for EDA_BaseStruct, .m_Select member */
|
|
|
|
#define IS_SELECTED 1
|
|
|
|
|
|
|
|
#define TEXT_NO_VISIBLE 1
|
|
|
|
|
|
|
|
|
|
|
|
//#define GR_DEFAULT_DRAWMODE GR_COPY
|
|
|
|
#define GR_DEFAULT_DRAWMODE GR_COPY
|
|
|
|
|
2008-03-27 21:02:42 +00:00
|
|
|
#define DANGLING_SYMBOL_SIZE 12
|
2007-05-06 16:03:28 +00:00
|
|
|
|
|
|
|
/* Message de presentation */
|
2009-04-05 20:49:15 +00:00
|
|
|
extern wxString g_DefaultSchematicFileName;
|
2007-05-06 16:03:28 +00:00
|
|
|
|
|
|
|
/* Masque de recherche pour localisation d'objets a editer */
|
2008-09-19 08:19:15 +00:00
|
|
|
#define LIBITEM 1
|
|
|
|
#define WIREITEM 2
|
|
|
|
#define BUSITEM 4
|
|
|
|
#define RACCORDITEM 4
|
|
|
|
#define JUNCTIONITEM 0x10
|
|
|
|
#define DRAWITEM 0x20
|
|
|
|
#define TEXTITEM 0x40
|
|
|
|
#define LABELITEM 0x80
|
|
|
|
#define SHEETITEM 0x100
|
|
|
|
#define MARKERITEM 0x200
|
|
|
|
#define NOCONNECTITEM 0x400
|
|
|
|
#define SEARCH_PINITEM 0x800
|
|
|
|
#define SHEETLABELITEM 0x1000
|
|
|
|
#define FIELDCMPITEM 0x2000
|
2007-05-06 16:03:28 +00:00
|
|
|
#define EXCLUDE_WIRE_BUS_ENDPOINTS 0x4000
|
2008-09-19 08:19:15 +00:00
|
|
|
#define WIRE_BUS_ENDPOINTS_ONLY 0x8000
|
2007-05-06 16:03:28 +00:00
|
|
|
|
2008-09-19 08:19:15 +00:00
|
|
|
#define SEARCHALL LIBITEM | WIREITEM | BUSITEM | RACCORDITEM | JUNCTIONITEM \
|
|
|
|
| DRAWITEM | TEXTITEM | LABELITEM | SHEETITEM | MARKERITEM \
|
|
|
|
| NOCONNECTITEM | SEARCH_PINITEM | SHEETLABELITEM
|
2007-05-06 16:03:28 +00:00
|
|
|
|
|
|
|
/* Numero des couches de travail */
|
|
|
|
typedef enum {
|
2008-09-19 08:19:15 +00:00
|
|
|
LAYER_WIRE,
|
|
|
|
LAYER_BUS,
|
|
|
|
LAYER_JUNCTION,
|
|
|
|
LAYER_LOCLABEL,
|
|
|
|
LAYER_GLOBLABEL,
|
|
|
|
LAYER_HIERLABEL,
|
|
|
|
LAYER_PINFUN,
|
|
|
|
LAYER_PINNUM,
|
|
|
|
LAYER_PINNAM,
|
|
|
|
LAYER_REFERENCEPART,
|
|
|
|
LAYER_VALUEPART,
|
|
|
|
LAYER_FIELDS,
|
|
|
|
LAYER_DEVICE,
|
|
|
|
LAYER_NOTES,
|
|
|
|
LAYER_NETNAM,
|
|
|
|
LAYER_PIN,
|
|
|
|
LAYER_SHEET,
|
|
|
|
LAYER_SHEETNAME,
|
|
|
|
LAYER_SHEETFILENAME,
|
|
|
|
LAYER_SHEETLABEL,
|
|
|
|
LAYER_NOCONNECT,
|
|
|
|
LAYER_ERC_WARN,
|
|
|
|
LAYER_ERC_ERR,
|
|
|
|
LAYER_DEVICE_BACKGROUND,
|
|
|
|
|
|
|
|
MAX_LAYER /* Nombre de couches */
|
|
|
|
} LayerNumber;
|
2007-05-06 16:03:28 +00:00
|
|
|
|
|
|
|
typedef enum {
|
2008-09-19 08:19:15 +00:00
|
|
|
FILE_SAVE_AS,
|
|
|
|
FILE_SAVE_NEW
|
2007-05-06 16:03:28 +00:00
|
|
|
} FileSaveType;
|
|
|
|
|
|
|
|
|
|
|
|
/* variables generales */
|
2009-04-05 20:49:15 +00:00
|
|
|
extern int g_OptNetListUseNames; /* TRUE pour utiliser les noms de net plutot que
|
2009-06-02 07:26:49 +00:00
|
|
|
* les numeros (netlist PSPICE seulement) */
|
2009-04-05 20:49:15 +00:00
|
|
|
extern SCH_ITEM* g_ItemToRepeat; /* pointeur sur la derniere structure
|
2009-06-02 07:26:49 +00:00
|
|
|
* dessinee pouvant etre dupliquee par la commande
|
|
|
|
* Repeat ( NULL si aucune struct existe ) */
|
2009-04-05 20:49:15 +00:00
|
|
|
extern wxSize g_RepeatStep;
|
|
|
|
extern int g_RepeatDeltaLabel;
|
2008-09-19 08:19:15 +00:00
|
|
|
|
2009-04-05 20:49:15 +00:00
|
|
|
extern SCH_ITEM* g_ItemToUndoCopy; /* copy of last modified schematic item
|
2009-06-02 07:26:49 +00:00
|
|
|
* before it is modified (used for undo managing to restore old values ) */
|
2008-09-19 08:19:15 +00:00
|
|
|
|
2009-04-05 20:49:15 +00:00
|
|
|
extern bool g_LastSearchIsMarker; // True if last seach is a marker serach
|
2009-06-02 07:26:49 +00:00
|
|
|
// False for a schematic item search
|
|
|
|
// Used for hotkey next search
|
2007-05-06 16:03:28 +00:00
|
|
|
|
|
|
|
/* Block operation (copy, paste) */
|
2009-07-25 04:53:39 +00:00
|
|
|
extern BLOCK_SELECTOR g_BlockSaveDataList; // List of items to paste (Created by Block Save)
|
2007-05-06 16:03:28 +00:00
|
|
|
|
|
|
|
// Gestion d'options
|
2009-05-01 18:06:03 +00:00
|
|
|
extern bool g_HVLines;
|
2007-05-06 16:03:28 +00:00
|
|
|
|
2008-09-19 08:19:15 +00:00
|
|
|
// Gestion de diverses variables, options... devant etre memorisees mais
|
2007-05-06 16:03:28 +00:00
|
|
|
// Remises a 0 lors d'un rechargement de projetc
|
|
|
|
struct EESchemaVariables
|
|
|
|
{
|
2008-09-19 08:19:15 +00:00
|
|
|
int NbErrorErc;
|
|
|
|
int NbWarningErc;
|
2007-05-06 16:03:28 +00:00
|
|
|
};
|
|
|
|
|
2009-04-05 20:49:15 +00:00
|
|
|
extern struct EESchemaVariables g_EESchemaVar;
|
2007-05-06 16:03:28 +00:00
|
|
|
|
2007-06-05 12:10:51 +00:00
|
|
|
|
2007-05-28 18:09:49 +00:00
|
|
|
/* Variables globales pour Schematic Edit */
|
2009-04-05 20:49:15 +00:00
|
|
|
extern int g_DefaultTextLabelSize;
|
2007-05-06 16:03:28 +00:00
|
|
|
|
2007-05-28 18:09:49 +00:00
|
|
|
/* Variables globales pour LibEdit */
|
2009-06-02 07:26:49 +00:00
|
|
|
extern int g_LastTextSize;
|
|
|
|
extern int g_LastTextOrient;
|
2009-04-05 20:49:15 +00:00
|
|
|
|
2009-06-02 07:26:49 +00:00
|
|
|
extern bool g_FlDrawSpecificUnit;
|
|
|
|
extern bool g_FlDrawSpecificConvert;
|
2007-05-06 16:03:28 +00:00
|
|
|
|
2008-09-19 08:19:15 +00:00
|
|
|
/********************************************************/
|
|
|
|
/* Description des structures des parametres principaux */
|
|
|
|
/********************************************************/
|
2007-05-06 16:03:28 +00:00
|
|
|
|
2008-09-19 08:19:15 +00:00
|
|
|
/* Gestion des trace sur table tracante */
|
2007-05-06 16:03:28 +00:00
|
|
|
|
|
|
|
/* For HPGL plotting: Pen caract : */
|
|
|
|
struct HPGL_Pen_Descr_Struct
|
|
|
|
{
|
2008-09-19 08:19:15 +00:00
|
|
|
int m_Pen_Num; /* num de plume a charger */
|
|
|
|
int m_Pen_Speed; /* vitesse en cm/s */
|
|
|
|
int m_Pen_Diam; /* Pen diameter in mils */
|
2007-05-06 16:03:28 +00:00
|
|
|
};
|
2009-04-05 20:49:15 +00:00
|
|
|
extern HPGL_Pen_Descr_Struct g_HPGL_Pen_Descr;
|
2007-05-06 16:03:28 +00:00
|
|
|
|
2009-06-02 07:26:49 +00:00
|
|
|
/* First and main (root) screen */
|
2009-04-05 20:49:15 +00:00
|
|
|
extern DrawSheetStruct* g_RootSheet;
|
2009-09-25 18:49:04 +00:00
|
|
|
|
2007-05-06 16:03:28 +00:00
|
|
|
|
2008-09-19 08:19:15 +00:00
|
|
|
/*************************************/
|
|
|
|
/* Gestion de recherche des elements */
|
|
|
|
/*************************************/
|
2007-05-06 16:03:28 +00:00
|
|
|
|
|
|
|
/* valeur de flag indicant si le pointeur de reference pour une localisation
|
2009-06-02 07:26:49 +00:00
|
|
|
* est le curseur sur grille ou le curseur a deplacement fin hors grille */
|
2008-09-19 08:19:15 +00:00
|
|
|
#define CURSEUR_ON_GRILLE 0
|
2007-05-06 16:03:28 +00:00
|
|
|
#define CURSEUR_OFF_GRILLE 1
|
|
|
|
|
|
|
|
/* Gestion des librairies schematiques */
|
2009-06-02 07:26:49 +00:00
|
|
|
extern wxString g_NetCmpExtBuffer;
|
2009-09-04 18:57:37 +00:00
|
|
|
|
|
|
|
extern const wxString SymbolFileExtension;
|
|
|
|
extern const wxString SymbolFileWildcard;
|
2009-04-05 20:49:15 +00:00
|
|
|
|
|
|
|
extern const wxString CompLibFileExtension;
|
|
|
|
extern const wxString CompLibFileWildcard;
|
|
|
|
|
2009-06-02 07:26:49 +00:00
|
|
|
extern wxString g_SimulatorCommandLine; // ligne de commande pour l'appel au simulateur (gnucap, spice..)
|
|
|
|
extern wxString g_NetListerCommandLine; // ligne de commande pour l'appel au simulateur (gnucap, spice..)
|
2009-04-05 20:49:15 +00:00
|
|
|
|
2009-06-02 07:26:49 +00:00
|
|
|
extern LayerStruct g_LayerDescr; /* couleurs des couches */
|
2009-04-05 20:49:15 +00:00
|
|
|
|
2009-06-02 07:26:49 +00:00
|
|
|
extern bool g_EditPinByPinIsOn; /* true to do not synchronize pins edition
|
|
|
|
* when they are at the same location */
|
2009-04-05 20:49:15 +00:00
|
|
|
|
2009-06-02 07:26:49 +00:00
|
|
|
extern int g_LibSymbolDefaultLineWidth; /* default line width (in EESCHEMA units)
|
|
|
|
* used when creating a new graphic item in libedit.
|
|
|
|
* 0 = use default line thicknes
|
|
|
|
*/
|
|
|
|
extern int g_DrawDefaultLineThickness; /* Default line (in EESCHEMA units) thickness
|
|
|
|
* used to draw/plot items having a default thickness line value (i.e. = 0 ).
|
|
|
|
* 0 = single pixel line width
|
|
|
|
*/
|
2009-04-05 20:49:15 +00:00
|
|
|
|
|
|
|
// Color to draw selected items
|
|
|
|
extern int g_ItemSelectetColor;
|
2009-06-02 07:26:49 +00:00
|
|
|
|
2009-04-05 20:49:15 +00:00
|
|
|
// Color to draw items flagged invisible, in libedit (they are insisible in eeschema
|
|
|
|
extern int g_InvisibleItemColor;
|
2008-09-13 18:59:57 +00:00
|
|
|
|
2008-02-26 01:07:38 +00:00
|
|
|
#endif // _GENERAL_H_
|