Commit Graph

68 Commits

Author SHA1 Message Date
Dick Hollenbeck 0093f4f612 ++common:
* macros.h now has TO_UTF8() and FROM_UTF8() which are working converters
    to and from UTF-8 encoding for any wxWidgets build mode.  We can switch to
    them at any time.  I am using them now for specctra conversions and
    elsewhere where I wanted gauranteed UTF8 encoding.
  * added OUTPUTFORMATTER::Quoted( const wxString& ) to simplify converting
    to UTF8 encoded s-expression atoms.  The recommended technique is now simply:
        out->Quoted( wxString ).c_str()
2011-02-02 09:31:48 -06:00
Dick Hollenbeck 604edcac3a ++all:
* DSNLEXER::NextTok() now uses two separate modes to parse quoted strings.
    This gives us the freedom to control our own destiny separate from the
    constraints put on us by the Specctra DSN spec.
  * Added Documentation/s-expressions.txt to explain all this.
  * Enhanced our quoting protocol by moving away from doubling up double quotes
    to a C line escape mechanism.
  * Now support multi-line strings, which when properly escaped, can still be
    read in as a token originating on a single line.
2011-01-30 13:26:03 -06:00
Dick Hollenbeck ed8c021f63 ++all:
* TokenList2DsnLexer.cmake now supports comments, which start with a leading
    # character, and may be either on their own line or on a line after a token.
  * DSNLEXER::PopReader() now pops even the last LINE_READER* and returns it.
++pcbnew:
  * SPECCTRA_DB now inherits from new class SPECCTRA_LEXER, which led to a great
    deal of simplification and code factoring.
  * Moved specctra keywords into specctra.keywords.
2011-01-19 14:46:07 -06:00
Dick Hollenbeck d2cc77ac71 see CHANGELOG.txt 2010-12-30 16:15:53 -06:00
Dick Hollenbeck 5b5db5557d change order of constructor args of DSNLEXER::DSNLEXER() 2010-12-27 15:27:52 -06: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
Dick Hollenbeck 0267b05938 add PushReader and PopReader to DSNLEXER, make FILE_LINE_READER own its FILE* 2010-10-05 02:15:29 -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
Dick Hollenbeck 0361ad6a55 factor some pioneering code into a the stable building block class DSNLEXER, generalize expected valued for name and value within the template field parser. 2010-06-18 11:00:16 -05:00
Dick Hollenbeck a6cbee35c5 use Unexpected not Expected 2010-06-17 13:21:28 -05:00
Dick Hollenbeck f3d5c4948b meet Ralph, a big harry template fieldnames patch 2010-06-17 11:30:10 -05:00
Dick Hollenbeck aaea7473d8 carve out specctra_test.cpp unit testing program from specctra.cpp 2010-05-15 06:30:57 -05:00
charras 1b6ad8c7f7 code cleaning and a minor problem fixed in Gerbview printing option 2010-01-04 19:09:33 +00:00
dickelbeck ceb6ad1a72 * Factored out the DSNLEXER class so it can be re-used more generally. The
constructor takes a keyword table, so it can be used for arbitrary DSN
    syntax files of your own chosing.  Simply create an enum {} with all your
    unique tokens in it.  Then create a KEYWORD table.  See SPECCTRA_DB::keywords[].
    The reason you want an enum is to give the C++ debugger better type information
    so it can show symbolic integer symbols.
  * Factored out common richio.cpp and richio.h
    which is what DSNLEXER uses.
  * Fixed some minor issues with reading circuit descriptor from a *.dsn file.
2009-12-11 04:55:24 +00:00
dickelbeck 0fc7d7c127 c local for STANDALONE 2009-12-11 02:39:38 +00:00
dickelbeck 860fbb16d7 ++pcbnew & gerbview
* Moved ReturnLayerName() to static BOARD::GetDefaultLayerName() and migrated
    to a Specctra DSN compatible default layer naming scheme:
        Component becomes Front, Copper becomes Back.
  * set_color.h: Cmp becomes Front, Cu becomes Back.
  * D_PAD::DisplayInfo() changed to use actual copper layer names.
  * more layer setup dialog work, moved all programmatic wxControl instantiation
    into the wxFormbuilder environment, but this is fraught with danger:
    wxFlexGridSizer used the tallest control to establish the row heights, so
    be careful about changing control borders in the scroll panel. The vertical
    size can explode since just a couple of pixels times the number of rows
    is substantial.  Currently I am setting a 5 pixel border only left, top, and right
    but not bottom.
  * Set copper layer count is back in place as a hack until I can get the enabled
    layer bit map fully operational.
2009-12-07 03:46:13 +00:00
dickelbeck 8f853800e3 Topo-R specctra import fix 2009-07-13 22:59:56 +00:00
dickelbeck 69fd16ed26 switch to GetChars() and away from wxString::GetData() 2009-04-17 06:37:23 +00:00
charras 989ccd0e0e wxWidgets 2.9 compatibility change. 2009-04-16 15:50:55 +00:00
charras 7ab924c3e1 minor bugs fixed, and remove warnings when using wxWidgets 3 in specctra.cpp 2009-04-16 08:48:54 +00:00
dickelbeck 9de1af02d0 PADSTACK::Compare() now tests id also to include drill hole size 2008-10-30 18:53:39 +00:00
dickelbeck 39473ff065 handle XX-1-1 as "XX-1"-1 2008-09-29 13:15:58 +00:00
dickelbeck 7470a3bd67 brian's patch 2008-09-17 17:07:08 +00:00
dickelbeck afaba0df94 brian's patch 2008-09-17 16:52:47 +00:00
charras 777076c86f minor changes. See changelog 2008-06-06 16:39:45 +00:00
dickelbeck 8ef962305a more amazing free specctra software 2008-02-29 06:49:34 +00:00
dickelbeck 709be49518 more amazing free specctra work 2008-02-14 01:07:52 +00:00
dickelbeck 7dbb0da3bb more amazing free specctra import/export software 2008-02-08 00:16:59 +00:00
dickelbeck f0ba106edb more amazing free software 2008-02-07 20:23:58 +00:00
dickelbeck 70fde0fded specctra import work 2008-02-07 17:10:12 +00:00
dickelbeck 57c1927121 more amazing free software 2008-02-05 02:13:16 +00:00
dickelbeck 227fa1e26e fixed specctra_export's net handling 2008-02-03 15:23:00 +00:00
dickelbeck a60cbb91b5 specctra export: quote toks with % in them for freerouting.net 2008-02-01 21:19:51 +00:00
dickelbeck b9f9d53998 more amazing free specctra software 2008-02-01 20:32:18 +00:00
dickelbeck 14cd0109aa more amazing free software 2008-02-01 01:09:39 +00:00
dickelbeck e775cee97b more amazing free software 2008-01-31 01:30:52 +00:00
dickelbeck b91f11ad38 more amazing free software 2008-01-30 19:16:46 +00:00
dickelbeck 2db8cd2b2a more free specctra support, MODULE::GetValue() 2008-01-29 22:10:14 +00:00
dickelbeck 1c294c33a5 more free specctra support, MODULE::GetValue() 2008-01-29 22:09:09 +00:00
dickelbeck 67ebe29b60 more free specctra work 2008-01-29 16:45:14 +00:00
dickelbeck 501fb2c270 more free specctra work 2008-01-25 22:03:36 +00:00
dickelbeck 1969a51173 more free specctra dsn work 2008-01-24 21:47:54 +00:00
dickelbeck 9da29ee2e2 fixed parsing functions 2008-01-23 22:38:16 +00:00
dickelbeck 300d50b1bc more specctra dsn work 2008-01-22 20:48:02 +00:00
dickelbeck 8d79a82b3d specctra export support 2008-01-21 22:16:45 +00:00
dickelbeck babc73e7fa first version after splitting out specctra.h 2008-01-21 20:54:19 +00:00
dickelbeck da3f44305b more specctra dsn work 2008-01-20 12:58:55 +00:00
dickelbeck b2e11dc9d2 more specctra dsn work 2008-01-20 00:34:21 +00:00
dickelbeck b8f048b55e more specctra dsn work 2008-01-19 06:56:48 +00:00