Commit Graph

107 Commits

Author SHA1 Message Date
Wayne Stambaugh 7d0ec1a138 More encapsulation work.
* Complete encapsulation of the MODULE class.
* Complete encapsulation of the EDA_TEXT class.
* Encapsulate most of the ZONE_CONTAINER class.
* Add pcbcommon library as a dependency for reSWIGging the scripting
  support.  This should cover most dependency cases.
2013-03-18 15:36:07 -04:00
jean-pierre charras e206a1b4c5 Eeschema: All fixed fields are now always saved in libraries. Therefore the footprint field can be set in lib (size, visibility) and imported in schematic with its predefined attributes, even if the footprint text is not set. 2013-02-11 19:50:55 +01:00
jean-pierre charras 4352eddadb eeschema: make new netlist format (S expr netlist format) the default for Pcbnew netlists in dialog netlist.
Also move netlist_control.* to dialogs/dialog_netlist.*, to be consistent with other file dialogs.
2012-12-16 12:36:18 +01:00
Dick Hollenbeck a93637b14f remove -std=c++0x compiler option since nobody is ready for it, and accordingly back into auto_ptr from unique_ptr 2012-11-15 10:04:10 -06:00
Dick Hollenbeck 9bbff22d96 1) Switch to boost hashtable support from wx macros which did not handle std::string.
This required the additional compiler command line option "-std=c++0x".

2) Switch to unique_ptr from auto_ptr which is C++ deprecated.

3) Change to new English layer names per mailing list discussion, see class_board.cpp.

4) When saving to *.kicad_pcb or *.kicad_mod, identify opportunities to use wildcard
   layer sets, for pads so far.

5) Switch to two std::string hashtables in pcb_parser.cpp, away from one wxString based one
   for layer names and layer sets mapping. One hashtable holds the mask, the other the index.
   Layer sets are only in the mask table.

6) Move "LOCALE_IO toggle" into PCB_IO::Format() since it is a public API function and
   caller should find it as convenient as possible to use.  LOCALE_IO should handle
   nesting OK in the case where public Format() is called from one of the Footprint*()
   functions.

7) Drop support for "export module to new library".  Creating new libraries will have to
   be handled in concert with library table entries, and we've talked recently about
   creating a better footprint library manager, one that resides in a DLL/DSO.  So
   this kind of functionality needs to be handled in there in the near future.

8) Change name of exported PCB_IO module/footprint to *.kicad_mod and not *.emp.
2012-11-14 01:15:59 -06:00
Dick Hollenbeck dd519d68ea remove unused #include <wxfstream.h> from several places 2012-10-29 16:56:18 -05:00
Dick Hollenbeck 7c5e42b4d0 switch from STREAM_OUTPUTFORMATTER to FILE_OUTPUTFORMATTER mostly throughout,and minor richio factoring 2012-10-25 10:41:20 -05:00
jean-pierre charras 7eb1a136f1 Pcbnew: First draft to use a new netlist format ( containing the same info as the intermediate netlist, but using S expressions)
* Eeschema can generate this netlist format.
*   Pcbnew can use (automatic identification) the current format or the new format.
*   Cvpcb does not use yet the new format.
2012-01-26 10:37:36 +01:00
Dick Hollenbeck b8a0ab4c52 switch to <> for includes from "" per conversation with Jean-Pierre and Wayne, adjust search paths 2012-01-22 22:33:36 -06:00
Dick Hollenbeck b979d1e0b9 plugin work, accessors 2011-12-12 02:37:05 -06:00
Wayne Stambaugh 16131a500d Encapsulate SCH_FIELD class. 2011-12-07 13:47:59 -05:00
jean-pierre charras 683921f98d Eeschema: fix crash in intermediate netlist generation when a component has no pins (like logos or images).
Pcbnew: texts in dimensions can be now moved.
Gerbview: fix incorrect number of layers  in export to pcbnew function.
2011-11-24 20:57:41 +01:00
Wayne Stambaugh cd0b231656 Minor fixes, dead code removal, and coding policy fixes.
* Use version of DateAndTime that returns a wxString and delete the
  version that takes a char* as it is no longer required.
* Merge StrNumICmp() and StrLenNumICmp() into StrLenNumCmp() to create a
  single function for comparing strings with integers and remove a lot
  of duplicate code.
* Remove unused strupper from string.cpp.
* Use wxArrayString for sorting the EDA_LIST_DIALOG contents.
2011-11-08 11:37:25 -05:00
jean-pierre charras 8a034512ea Pcbnew: fix minor issue: Footprint bounding box was too large for very small footprints (like SM0204) due to the minimal size value used in calculations. 2011-10-29 14:01:59 +02:00
Wayne Stambaugh d4fb921b43 Eeschema ERC improvements and other minor fixes.
* Move the hierarchical label connected test into the NETLIST_OBJECT class.
* ERC pin type strings can now be translated.
* Remove unused EDA_DRAW_PANEL attribute from all ERC test functions.
* Add get marker count method to SCH_SCREENS object.
* Redundant header removal.
* Lots of coding style policy fixes.
2011-10-07 10:41:30 -04:00
Wayne Stambaugh 4b853dedb4 Application name capitalization fixes.
* Correct all user strings and comments for the correct capitalization of
  application names according to JP.  They are KiCad, Pcbnew, CvPcb,
  Eeschema, and GerbView.
* Add a note the the user interface policy about the correct capitalization.
2011-09-30 14:15:37 -04:00
Wayne Stambaugh ebc7259a91 Rename WinEDA_App class to EDA_APP and remove redundant includes. 2011-09-06 10:09:40 -04:00
Wayne Stambaugh 48b2661baa EESchema dead code removal and other minor changes.
* Move code from function ClearProjectDrawList() into SCH_SCREEN object
  Clear() method.
* Delete eeschema/delsheet.cpp as none of the code in it is ever called.
* Move global spice and net list command line variables into SCH_EDIT_FRAME
  object as priviate members and provide access methods.
* Remove unnecessary header includes from eeschema/sheet.cpp.
* Minor coding policy fixes.
2011-06-15 14:44:24 -04:00
Wayne Stambaugh baa0d7920a EESchema bug fixes and other minor changes (fixes lp:793373).
* Fix debug build warning (lp:793373).
* Changed sheet edit restore and undo to use object copy and replace method.
* Add minimum width and height constraints when resizing sheets that have
  hierarchical pins.
* Fix drag sheet hot key bug.
* Change Doxygen configuration to extract private methods and members
  when creating documentation.
* Fix a bunch of Doxygen comment warnings.
2011-06-07 11:29:01 -04:00
Wayne Stambaugh 86bf955db7 Add hit testing clarification to schematic library editor.
* Create library collector class.
* Add clarification menu to library editor when multiple items are found
  at the current position.
* Add get clarification menu text to all objects derived from LIB_ITEM.
* Add get menu bitmap for all objects derived from LIB_ITEM.
* Improve LIB_PIN bounding box calculation.
* Rename LIB_ITEM::DoGenCopy to doClone to match behavior defined in base
  class EDA_ITEM.
* Minor class renaming for improved code consistency.
* Added less than operator to EDA_ITEM.
2011-04-27 15:44:32 -04:00
Charles McDowell 7e1fe2c242 Option to prefix references U and IC with X when generating spice net lists.
* Fixed minor code formatting issues with submitted patch.
* Change field name to "spice_model" per discussion with Charles McDowell.
2011-03-31 11:22:34 -04:00
Charles McDowell a8581d1994 This patch adds two features to the standard SpiceNetlister:
F1.) Allows you to disable a component from the Netlist.  Useful for connectors etc.
To exclude a component from the Spice Netlist add [Spice_Netlist_Enabled] user FIELD set to: N

F2.) Allows you to adapt to simulation libraries that require the netlist node 
sequence to be in a different order. To reorder the component spice node sequence 
add [Spice_Node_Sequence] user FIELD and define sequence: 2,1,0  I am using 
LTSpice, but this holds true for any SPICE subcircuit.
2011-03-18 09:38:25 -05:00
jean-pierre charras dc1e410757 Eeschema: fix a *very serious* bug in netlist generation: sometimes the netlist forgets pins for components having more than one part per package, in hierarchical designs. 2011-03-17 11:52:01 +01:00
jean-pierre charras 92952b70aa Use UTF-8 encoding only in kicad files. Under Linux, this was already the case. Under Windows, texts with non ascii characters must be corrected.
This ensure compatibility between platforms.
2011-02-28 19:36:19 +01:00
jean-pierre charras 25fe492022 Eeschema: intermediate netlist : fix duplicate pins in libpart, with components having 2 shapes (DeMorgan conversion) and somethimes with multi parts per package. 2011-02-11 11:52:48 +01:00
jean-pierre charras b79011fbbb Eeschema: fix bug 716331
Commit installer translation files for Japanese
2011-02-10 20:39:18 +01:00
jean-pierre charras 90c130b600 Eeschema: intermediate netlist : fix duplicate pins in list of nets, with multi parts per package. 2011-02-10 18:49:04 +01:00
jean-pierre charras 0cb6cd8c02 Eeschema: in intermediate netlist generation: remove redundant pins list by component, and make Dick happy.
Known bug in intermediate netlist generation: multi parts per package have their common pins listed more than once in nets section. Will be fixed.
2011-02-10 09:27:36 +01:00
jean-pierre charras a86385bf90 Eeschema: fix bug 714835. Add electrical pin type in intermediate netlist file.
Use non translated fields names in intermediate netlist file because they are keyword in this file.
Change intermediate netlist file extension from .tmp to .xml
2011-02-08 13:01:14 +01:00
Wayne Stambaugh e560573c5e Schematic object encapsulation and other minor improvements.
* Encapsulate file name member of base screen object.
* Encapsulate associated screen member of schematic sheet object.
* Create add screen method to schematic sheet object to simplify setting
  the associated screen.
* Move the change file name code in the schematic sheet object to the edit
  sheet method in the schematic editor frame object to eliminate message
  dialogs.
* Improve reference counting in schematic screen object.
* Add helper type definitions for changing schematic object storage to C++
  containers.
2011-01-20 11:34:57 -05:00
Wayne Stambaugh 938cb8843b Schematic reference object improvements and doxygen comment warning fixes.
* More schematic reference list object refactoring.
* Initial encapsultation of schematic reference object.
* Improve schematic reference object doxygen comments.
* Remove redundant library component lookup when generating net list.
* Fix doxygen waring in LIB_PIN object.
2011-01-05 14:16:55 -05:00
Wayne Stambaugh d0105f1ba6 EESchema code refactoring and other minor fixes. 2010-12-31 14:47:39 -05:00
jean-pierre charras a9010796e0 Doxygen comment warning fixes. 2010-12-29 18:47:32 +01:00
Wayne Stambaugh 7cb34aece7 Schematic component object encapsulation and Doxygen comment warning fixes. 2010-12-14 10:56:30 -05:00
Wayne Stambaugh adb4ad1a7b Schematic object improvements and other minor fixes. 2010-12-10 14:47:44 -05:00
Wayne Stambaugh c79077c9a2 Minor fixes and lots of coding policy changes. 2010-12-08 15:12:46 -05:00
Wayne Stambaugh 3fed7b9dd9 Component library object encapsulation work. 2010-12-07 11:10:42 -05:00
Wayne Stambaugh 37ad67dfb1 EESchema file name and location house keeping. 2010-11-11 16:10:27 -05:00
Wayne Stambaugh 76aa3f6e1c EESchema schematic object refactoring and header rationalization. 2010-11-10 10:30:12 -05:00
Dick Hollenbeck 067bf8518c change IOError class name spelling to IO_ERROR to conform to coding standards 2010-11-09 09:45:11 -06:00
Wayne Stambaugh 6566b0c5fa Schematic component library object improvements and other minor fixes. 2010-10-25 11:43:42 -04:00
Wayne Stambaugh 185a2544b5 Component library editor bug fixes and other minor fixes.
* Fix bug that prevented component from being replaced in library when
  the component root name was changed.
* Fix drawing bug when changing text or field item string while move in
  progress.
* Fix drawing bug when rotating text item while move in progress.
* Prevent undo or redo when editing a component draw item.
* Fix assert bug when replacing component in library when the component
  root name was changed.
* Fix bug in field editor caused by new root alias implementation that
  prevented any field from being changed.
* Fix minor spacing issues with EESchema find dialog.
* Deprecate remaining internal linked list code from component library
  objects.
* Rename pin object files to match new library object file naming
  scheme.
* Move LIB_TEXT object definition into it's own header file.
2010-10-22 08:11:52 -04:00
Wayne Stambaugh 0c3541b7c1 Component library object refactoring and minor code cleaning. 2010-09-09 13:37:25 -04:00
jean-pierre charras 4264ddb061 netform.cpp added in intermediate netlist the pin list for each component in schematic. Some netlist formats (spice, orcadpcb2) are very simple to create with this pins list. 2010-08-29 21:33:29 +02:00
Dick Hollenbeck 36575c0e1a go back to XML from S-expressions in WriteGENERICNetList() 2010-08-11 14:54:22 -05:00
Dick Hollenbeck 0ceb19879b implement OUTPUTFORMATTER::Quoted() 2010-08-11 14:52:44 -05:00
Dick Hollenbeck 97767241e4 fix path bug, use lower case local variable names please 2010-08-11 09:47:16 -05:00
Dick Hollenbeck b3f13be336 https://lists.launchpad.net/kicad-developers/msg05157.html 2010-08-11 00:58:34 -05:00
Dick Hollenbeck fb0bb79a8d TokenList2DsnLexer.cmake, netform.cpp enhancements 2010-08-08 21:03:16 -05:00
Dick Hollenbeck f285c8295b S-expression in xnode.cpp 2010-08-07 19:31:07 -05:00