/* SCMIO (SCM) -- SCM Import/Exort Functions */ /* SCMIO (SCM) -- SCM-Ein-/Ausgabefunktionen */ /* // Copyright (c) 1995-2012 Oliver Bartels F+E, Muenchen // Author: Manfred Baumeister // Changes History: // rl (120427) RELEASED FOR BAE V7.8. // rl (101019) RELEASED FOR BAE V7.6. // rl (091021) RELEASED FOR BAE V7.4. // rl (081014) RELEASED FOR BAE V7.2. // rl (071029) RELEASED FOR BAE V7.0. // rl (060829) RELEASED FOR BAE V6.8. // rl (050906) RELEASED FOR BAE V6.6. // rl (050408) ENHANCEMENT: // Bitmap input option introduced. // rl (040811) RELEASED FOR BAE V6.4. // rl (030904) RELEASED FOR BAE V6.2. // rl (021209) RELEASED FOR BAE V6.0. // rl (020618) RELEASED FOR BAE V5.4. // rl (010625) RELEASED FOR BAE V5.0. // rl (010619) ENHANCEMENT: // Added support of additional menu item definitions in bae.ini. // rl (010525) ENHANCEMENT: // Added Spice data output function. // rl (000509) RELEASED FOR BAE V4.6. // mb (990903) RELEASED FOR BAE V4.4. // mb (990903) ENHANCEMENT: // Added EDIF data import function. // mb (990826) CHANGE: // EPS Output prompt changed to EPS/PDF Output. // rl (980910) RELEASED FOR BAE V4.2. // mb (980710) ENHANCEMENT: // Pulldown menu delimiters introduced. // mb (980710) ENHANCEMENT: // Dynamic multi-language support introduced. // rl (970929) RELEASED FOR BAE V4.0. // mb (960919) RELEASED FOR BAE V3.4. // mb (960801) ENHANCEMENT: // Changed menu items to support key selection // in Windows/Motif user interfaces. // mb (95) RELEASED FOR BAE V3.2. // mb (950223) ORIGINAL CODING. // // DESCRIPTION // // The scmio User Language program provides a menu with a series // of advanced Schematic Editor import and export functions. */ // Enforce SCM caller type #pragma ULCALLERSCM // Disable undo state request #pragma ULCALLERNOUNDO // Includes #include "std.ulh" // User Language standard include // Messages string UPRABORT = M_UPRABORT(); string UPRIOFCT = M("Ein-/Ausgabefunktion selektieren!", "Select Import/Export Function!"); string MI_SCMPLOT = M("&SCM-Plaene plotten","&SCM Sheets Plot"); string MI_SCMDUMP = M("%&BAE/ASCII Ausgabe","%&BAE/ASCII Output"); string MI_SCMDXFDO = M("%AutoCAD/D&XF Ausgabe","%AutoCAD/D&XF Output"); string MI_SCMDXFDI = M("AutoCAD/DX&F Import","AutoCAD/DX&F Input"); string MI_SCMEPS = M("%EPS/PDF &Ausgabe","%&EPS/PDF Output"); string MI_NETCONV = M("%Netz&liste Import","%Net &List Import"); string MI_SCMEDFDI = M("E&DIF-Daten Import","E&DIF Data Import"); string MI_SPICESIM = M("Spi&ce Ausgabe","Spi&ce Data Output"); string MI_STXFIN = M("%&TXF Import","%&TXF Input"); string MI_BITMAPIN = M("B&itmap-Import","B&itmap Input"); // User Language program name definitions #define UL_SCMPLOT "scmplot" #define UL_SCMDUMP "scmdump" #define UL_SCMDXFDO "scmdxfdo" #define UL_SCMDXFDI "scmdxfdi" #define UL_SCMEPS "scmeps" #define UL_NETCONV "netconv" #define UL_SCMEDFDI "scmedfdi" #define UL_SPICESIM "spicesim" #define UL_STXFIN "stxfin" #define UL_BITMAPIN "bitmapin" // Main program void main() { struct additemdes { // Additional menu item descriptor string name /* Menu item name */; string prog /* Menu item program */; } menuiteml[] /* Menu item list */; int menun /* Menu index */; int menusel /* Menu selection */; int ddbclass = bae_planddbclass() /* Layout plan DDB class */; string e_dis = "" /* Empty plan disable */; string slp_dis = "" /* Symbol/label/pin items disable */; string varname /* Variable name */; string menuname /* Menu item name */; string menuprog /* Menu item program */; // Abort if not in SCM if (uliptype()!=ULIPSCM) error_class(); // Test the plan class switch (ddbclass) { case DDBCLSCM : break; case DDBCLSSYM : case DDBCLSLAB : case DDBCLSMRK : slp_dis=","; break; default : e_dis=slp_dis=","; } // Check for additional menu items for (menun=0;menun=10 && (menusel-10)