From f3132afe2a86f4b6cdb028c6edfdbe67d809a1b7 Mon Sep 17 00:00:00 2001 From: Dick Hollenbeck Date: Sat, 14 Jan 2012 20:11:35 -0600 Subject: [PATCH] segment CHANGELOG.txt according to past years and current year --- CHANGELOG.txt | 1311 +------------------ Documentation/changelogs/CHANGELOG-2010.txt | 1010 ++++++++++++++ Documentation/changelogs/CHANGELOG-2011.txt | 297 +++++ 3 files changed, 1311 insertions(+), 1307 deletions(-) create mode 100644 Documentation/changelogs/CHANGELOG-2010.txt create mode 100644 Documentation/changelogs/CHANGELOG-2011.txt diff --git a/CHANGELOG.txt b/CHANGELOG.txt index f14acf420c..41e23d7347 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -1,6 +1,10 @@ KiCad ChangeLog 2012 ==================== +Please add newer entries at the top, list the date and your name with +email address. + + 2012-Jan-9 UPDATE Dick Hollenbeck ================================================================================ ++all @@ -29,1310 +33,3 @@ KiCad ChangeLog 2012 BASE_SCREEN (which is on its way out) into both SCH_SCREEN and BOARD. -KiCad ChangeLog 2011 -==================== - -Please add newer entries at the top, list the date and your name with -email address. - - -2011-Dec-19, UPDATE Jean-Pierre Charras -================================================================================ -Pcbnew: - Enhanced algorithms to calculate board connections: - - A track is seen connected to a pad if the track end is inside the pad shape. - - Pads inside pads are now seen connected, if the center of the pad is - *inside* the other pad. - (this is made to be sure a large copper area is shared by the 2 pads, - and to keep algorithm fast). - Algorithm to calculate pads connections is still very fast. - However some other functions (drag pads, track len calculation ...) - still need the track end exactly on the pad position. - - -2011-Dec-13 UPDATE Dick Hollenbeck -================================================================================ -++common - * changed all the RotatePoint() functions in trigo.{h,cpp} to take a double as the - angle, which is still in tenths of degrees for now. - * EDA_TEXT::m_Orient is now double, still in tenths of degrees (for a short while), - but the double means parsing files and saving them use a different format string. -++pcbnew - * DRAWSEGMENT::GetStart() and GetEnd() do not operate for S_ARC like they used to. - They are now simply accessors for m_Start and m_End. Use DRAWSEGMENT::GetArcStart() - and GetArcEnd() and GetCenter() for arcs. specctra_export.cpp was the only - source file dependent on the old behavior. - * DIMENSION::m_Text is now contained, not dynamically allocated. - * more kicad_plugin work. - - -2011-Dec-9 UPDATE Dick Hollenbeck -================================================================================ -++PCBNew - * added BOARD::GetPad(int), made BOARD::m_NetInfo private, and contained - within the BOARD, not dynamically allocated and owned via pointer. - * added BOARD::GetPadCount() - * changed NETINFO_LIST::GetCount() to GetNetCount() - * added BOARD::GetNetCount() - * more kicad_plugin work. - -2011-Dec-5 UPDATE Dick Hollenbeck -================================================================================ -++PCBNew - * Removed Pcb_Frame argument from BOARD() constructor, since it precludes - having a BOARD being edited by more than one editor, it was a bad design. - And this meant removing m_PcbFrame from BOARD. - * removed BOARD::SetWindowFrame(), since BOARD::m_PcbFrame gone. - * Removed the global BOARD_DESIGN_SETTINGS which was in class_board.cpp - * Added BOARD_DESIGN_SETTINGS to the BOARD class, a full instance - * A couple of dialogs now only change BOARD_DESIGN_SETTINGS when OK is pressed, - such as dialog_mask_clearance, dialog_drc, etc. - * Removed common/pcbcommon.cpp's int g_CurrentVersionPCB = 1 and replaced it - with build_version.h's #define BOARD_FILE_VERSION, although there may be a - better place for this constant. - * Made the public functions in PARAM_CFG_ARRAY be type const. - void SaveParam(..) const and void ReadParam(..) const - * PARAM_CFG_BASE now has virtual destructor since we have various ways of - destroying the derived classes and boost::ptr_vector must be told about this. - * Pass const PARAM_CFG_ARRAY& instead of PARAM_CFG_ARRAY so that we can use - an automatic PARAM_CFG_ARRAY which is on the stack. - * PCB_EDIT_FRAME::GetProjectFileParameters() may no longer cache the array, - since it has to access the current BOARD and the BOARD can change. - Remember BOARD_DESIGN_SETTINGS are now in the BOARD. - * Made the m_BoundingBox member private, this was a brutally hard task, - and indicative of the lack of commitment to accessors and object oriented - design on the part of KiCad developers. We must do better. - Added BOARD::GetBoundingBox, SetBoundingBox(), ComputeBoundingBox(). - * Added PCB_BASE_FRAME::GetBoardBoundingBox() which calls BOARD::ComputeBoundingBox() - - -2011-Dec-04, UPDATE Jean-Pierre Charras -================================================================================ -Pcbnew: - Enhanced algorithms to calculate board connections: - Previously, a track was seen connected to a pad only if the track end is - exactly on the pad position. - Now a track is seen connected to a pad if the track end is inside the pad shape. - Algorithm to calculate pads connections to track is still very fast. - However some other functions (drag pads, track len calculation ...) - still need the track end exactly on the pad position. - -2011-Nov-27 UPDATE Dick Hollenbeck -================================================================================ -++PCBNew - * Add PLUGIN and IO_MGR classes. - * Remove one argument from BOARD constructor, - * add BOARD::SetWindowFrame() - -2011-sept-13 UPDATE Wayne Stambaugh -================================================================================ - PCBNew locate code refactoring. - - * Move various locate functions into the appropriate board item object. - * Unified best zoom for all frames derived from PCB_BASE_FRAME. - * Remove track.cpp as it is no longer needed. - * Dead code removal. - * Remove scary frame window pointer member from board item objects. - * Add draw bounding box to gerber draw item for debugging purposes. - -2012-Sept-8 UPDATE Dick Hollenbeck -================================================================================ -++all - * Write an automatic bitmap generation script in cmake, PNG2cpp.cmake - * Write an infrastructure generate *.png files from inkscape files, and do - it maintaing the "as needed" change detection support. - * Support an *.SVG maintainer mode, AND an *.SVG user mode. - * Engineer a seemless switchover from old style xpm files, with minimal - impact to system wide source code. - -2011-Sept-07, UPDATE Andrey Fedorushkov -================================================================================ -Pcbnew: - Add hotkey "P" - place item - Add Roman Bashkov patch for record/play sequence hotkey macros - Add record and play macros for sequence hotkey. - Macros set to numeric key 0..9: - + - start record macros - ... | - + - end record macros - - play macros - Add menu save/read macros to/from xml-file - Add configure rotate angle for rotate module: 45 or 90 deg. - Fix segfault when move/drag segment if disconnected to pad - -2011-Sept-01, UPDATE Jean-Pierre Charras -================================================================================ - Add Fabrizio Tappero in contributors list. -Eeschema: - Graphic texts ans labels: fix fully broken undo/redo code relative to the way undo/redo command - handles changes (maintly move) for labels - Fix minor bug for undo command relative to block rotate - Remove dead code. - Add new class BITMAP_BASE, and (for Eeschema) SCH_BITMAP to handle bitmap images in schematic. - Remember plot Bitmaps in not possble with all plotters. - - -2011-Aug-19, UPDATE Jean-Pierre Charras -================================================================================ -Pcbnew: - Add support for not plated through holes (NPTH) pads - * These NPTH pads are used for mechanical purpose only, and cannot be connected to a net. - * When these pads have a same size and shape for the hole and the pad, the pad is not plotted - in GERBER files. - -2011-Apr-12, UPDATE Jerry Jacobs -================================================================================ -Minor UI changes that affect OS X platform. - - Fix for opening the help contents - - Fix for opening files with the default editor - - Fix for opening PDF files - -Solved all with the BSD open command, for other OS'es which have X11 and -utilities they can use the xdg-open command which I added to the pdf viewer tries -list. - -Kicad projectview: -Remove not-existing files when a empty project is created, this confuses when -users try to open it. Show a entry that the project is empty instead of these -void files. - -2011-Apr-6, UPDATE Jerry Jacobs -================================================================================ -Cleanup of all the menubar code to have the same style, remove the C comments. -Make the wxMenu behave native on OSX for KiCad, CvPCB and Gerbview and remove -unneeded ifdefs when using the wxIDs. Add a OnQuit for the gerber frame. -Change item->SetBitmap( item ) to use macro SET_BITMAP for menu items. - -2011-Apr-4, UPDATE Jerry Jacobs -================================================================================ -More native OSX changes, this removes some WXMAC defines replaced by wxID -macros. These are handled by wxWidgets itself and reduces in-app platform -defines. More work needs to be done for CvPCB and Gerbview. - -All: - Hotkey names in menu's all have tabs, this looks more uniform and pretty. - -EESschema & PCBNew: - Fix about and preferences wxMenu to be more native (remove unneeded WXMAC ) - Disable all icons in wxMenu on OSX with macro SETBITMAPS - -jp charras: - SETBITMAPS is incorrectly used here. change to SET_BITMAP - -2011-Mar-25 UPDATE Wayne Stambaugh -================================================================================ - EESchema multiple item hit testing and other minor improvements. - - * Add item clarification context menu to EESchema when multiple unresolved - items are found at the current cross hair position. - * Add collector class SCH_COLLECTOR for supporting multiple item hit testing. - * Removed bit wise masked filtering from schematic item hit testing. - * Removed all old hit testing functions and methods scattered about the - EESchema source code. - * Move terminal point test function into SCH_SCREEN object. - * Fixed bug in terminal point test when terminating a bus to a label. - * Define the < operator for sorting schematic items. - * Add area calculation method to EDA_Rect item. - * Add method for returning an item's bitmap for menu display purposes. - * Add method for returning an item's menu text for menu display purposes. - * Changed EDA_ITEMS container from boost::ptr_vector to std::vector. - * Factor coordinate string conversion code from EDA_DRAW_FRAME to function CoordinateToString(). - -2011-Mar-16, UPDATE Jean-Pierre Charras -================================================================================ -Gerbview: - Added: read Excellon files created by Pcbnew. - The full Excellon command set is not supported, but drill files created by Pcbnew are supported. - -2011-Feb-05, UPDATE Jean-Pierre Charras -================================================================================ -CvPcb: - Code cleanup. Rename WinEDA_CvpcbFrame to CVPCB_MAINFRAME, - according to coding style policy. - Change in CvPcb: - CvPcb does not use now .dcm files, only .mod files, - to read modules keywords and doc - - -2011-Feb-2 UPDATE Dick Hollenbeck -================================================================================ -++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-Jan-30 UPDATE Dick Hollenbeck -================================================================================ -++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 like 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-Jan-21 UPDATE Wayne Stambaugh -================================================================================ - EESchema code refactoring and coding policy naming fixes. - - * Move schematic wire and bus break code into schematic screen object. - * Move schematic test for dangling ends into schematic screen object. - * Remove left over debugging output in schematic screen object. - * Remove unused file eeschema/cleanup.cpp. - * Fix bug in schematic line object hit test algorithm. - * Fix a string concatenation compile error added in r2752. - * Rename class WinEDA_BasicFrame to EDA_BASE_FRAME. - * Rename class WinEDA_DrawFrame to EDA_DRAW_FRAME. - * Rename class WinEDA_DrawPanel to EDA_DRAW_PANEL. - -2011-Jan-19 UPDATE Dick Hollenbeck -================================================================================ -++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-Jan-17 UPDATE Dick Hollenbeck -================================================================================ -++all: - * TokenList2DsnLexer.cmake now wraps each token enum in its own namespace. It - also no longer setup of the "using" directive in the header file, which was - bad behavior. C++ enum values will have name collisions unless the enums - themselves are different namespaces. -++new: - * Sweet library is now a DSO/DLL. - * Brought in SWIG to do a wrap of the Sweet DSO/DLL for unit testing - and scripting. The SWIG DSO/DLLs are built separate from the Sweet DSO/DLL - and are also optional. - -2011-Jan-1 UPDATE Dick Hollenbeck -================================================================================ -++new: - * Added the basic structure to the Sweet parser in sch_part.cpp. - * Got inheritence working off of the 'extends' keyword and PART::inherit() - * Tossed the units support out of sweet.keywords, since we agreed to go dimensionless. -++richio: - * Added the problemInputLine support to PARSE_ERROR, so UI can show the - offending line of bytes. Yes bytes, not even guaranteed to be characters. - - -KiCad ChangeLog 2010 -==================== - -2010-dec-31 UPDATE Wayne Stambaugh -================================================================================ -++all - * Exclude boost header include path from Doxygen files. - * Coding guide line and doxygen warning fixes. -++EESchema - * Rename OBJ_CMP_TO_LIST to SCH_REFERENCE. - * Move code related to SCH_REFERENCE into the object where it belongs in hope - that some day the object members can be made private instead of public. - * Add GetComponent method to sheet path and sheet path list objects. - * Move screen list code into screen list object. - - -2010-Dec-28 UPDATE Dick Hollenbeck -================================================================================ -++richio: - * Deleted kicad_exceptions, because it required the big #include and - that was slowing down compiling. Moved that stuff back into richio.h where - it came from. - * Enhanced IO_ERROR to format an errorText. - * Added THROW_IO_ERROR() and THROW_PARSE_ERROR() macros to capture the - the call site of the thrower. If you have problems compiling, it is probably - due to the definition of __LOC__ in richio.h. Some compilers may not support - __func__ in C++ yet. Find a macro that identifies your compiler, and we can - work out something in the #define of __LOC__. - -2010-Dec-28 UPDATE Dick Hollenbeck -================================================================================ -++new: - Completed most of /new class LIB_TABLE. - Completed all of /new class LPID. -++common: - Tricked xnode.h into not issuing deprecation warnings. -++richio: - * Added support of DSNLEXER( LINE_READER* ) to TokenList2DsnLexer.cmake, which - allows the chaining of different grammars on top of a common LINE_READER. - * Changed OUTPUT_FORMATTER::Quoted() to return a std::string and not modify - its input parameter. - - -2010-dec-21 UPDATE Wayne Stambaugh -================================================================================ -++all - * Doxygen comment warning fixes. - * Coding policy fixes. -++common - * Add clone method to EDA_ITEM object. -++EESchema - * Replace GenCopy() method with Clone() in all items derived from SCH_ITEM. - * Simplify repeat last schematic item with new Clone() method. - * Simplify duplicate schematic item method with new Clone() method. - * Separate objects in sch_items.h/cpp into separate files per object. - - -2010-dec-20, UPDATE Jean-Pierre Charras -================================================================================ -common: - Rename EDA_Rect::Inside to EDA_Rect::Contains - ( EDA_Rect::Inside( const EDA_Rect& aRect ) was very ambiguous ) - Fix some Doxygen warnings and erroneous comments - - -2010-Dec-19 UPDATE Dick Hollenbeck -================================================================================ -++new: - Completed a good portion of /new class DIR_LIB_SOURCE. - Added an autonomous CMakeLists.txt file to /new, with new-docs target and - test program target. - -2010-dec-15, UPDATE Jean-Pierre Charras -================================================================================ -Gerbview: - Added: in file dialog, multiple file selection. - Added: Draw mode selector (in left toolbar): - Raw mode: - a Gerber image is drawn on screen without buffering. - Artifacts happen if there are negative items drawn, if more than one - Gerber file is shown. - Stacked mode: - each Geber image is drawn in a buffer and after drawn on screen - No artifact with negative items. - Each Gerber image covers previous images. - OR mode (transparency mode): - each Geber image is drawn in a buffer and after drawn on screen - No artifact with negative items. - Each Gerber image is "ORed" with previous images, like in Pcbnew. - Try to optimize Draw function in buffered modes. - (Useful for PC that have problems with "blit" graphic function) - Fix minor issues. - -2010-dec-13 UPDATE Wayne Stambaugh -================================================================================ - * Remove deprecated options and quoted project name option in Doxygen file. - * Make Bazaar ignore the files generated by Doxygen in the new folder. -++EESchema - * More schematic component encapsulation work. - * Doxygen comment fixes. - - -2010-Dec-13 UPDATE Dick Hollenbeck -================================================================================ -++eeschema: - Committed a new design for a "Distributed Library System". - To make the html docs, run doxygen in /new with that as your - current working directory, or run the shell script in there. You need - Doxygen installed. - - -2010-dec-13 UPDATE Wayne Stambaugh -================================================================================ -++common - * Make base marker hit test method const. -++EESchema - * Improve hit testing for schematic components. - * Add initial support for hit test filtering. - * Moved static function CountConnectedItems() into SCH_SCREEN object. - * Add IsConnected() method to SCH_ITEM object. - - -2010-dec-10 UPDATE Wayne Stambaugh -================================================================================ -++All - * Make a whole bunch of object methods const in order to make HitTest() const. - * Lots of coding policy fixes. -++common - * Add Inside override to EDA_Rect to test if another EDA_Rect is inside. - * Add additional parameter to EDA_TextStruct GetTextBox method to support - Y axis inversion and non-default thickness. - * Add accuracy parameter to EDA_TextStruct TextHitTest method. -++EESchema - * Refactor schematic object hit testing to provide coherent object interface. - * Remove redundant GetBoundaryBox from schematic component object. - * Remove redundant layer member from schematic text object. - * Create hit test override to check for rectangle intersection and - containment. - * Simplify schematic block selection hit testing. - * Make schematic and component library object enum naming consistent. - - -2010-dec-08 UPDATE Wayne Stambaugh -================================================================================ -++All - * Coding policy object naming and formating fixes. -++GerbView - * Fix compiler warnings. -++Common - * Change item list type from SCH_ITEM to EDA_BaseStruct in BASE_SCREEN - object. - * Encapsulate BASE_SCREEN drawing item list member. - * Change grid container from wxWidgets to standard C++ container. - - -2010-dec-07 UPDATE Wayne Stambaugh -================================================================================ -++EESchema - * Finish encapsulating LIB_FIELD object. - * Encapsulated all members currently in use in LIB_PIN object. -++Common - * Add SetModified() helper to EDA_BaseStruct object that checks for a parent - object and sets it's modified status as well. - - -2010-dec-02 UPDATE Wayne Stambaugh -================================================================================ -++EESchema - * Move color configuration dialog to dialogs folder. - * Simplify color configuration dialog design, remove enable grid checkbox( I - think we have enough places to do this), and remove abbreviated labels. - * Restore changing value field behavior to create new component from the - current one and handle all of the potential library naming conflict issues. - * Create a toolbar button perform the same function as renaming the value - field for improved usability. - * Add new copy component bitmap contributed by Jean-Pierre Charras. - - -2010-dec-02, UPDATE Jean-Pierre Charras -================================================================================ -Pcbnew: - For zone filling algo, change the default polygon library from Kbool to Boost::polygon. - - -2010-dec-01, UPDATE Jean-Pierre Charras -================================================================================ -Gerbview: - Added support for complex definitions of parameters in aperture macros and primitives macro - (a complex definition in a parameter that is calculated by an arithmetical expression) - Gerbview should now have a decent support of Gerber language. - Currently only the obscure knockout command is not supported (I have no motivation to do that) - Other "bug": - scale in A and B axis is poorly supported: coordinates are scaled, but shapes can have problem: - fro instance, a circle is drawn as a circle when A and B scales are different, - and perhaps should be an ellipse. - On the other hand, Gerber doc is not clear about the meaning of A and B scale. - (Alas! Gerber doc is not clear about most of advanced commands) - - -2010-nov-19 UPDATE Wayne Stambaugh -================================================================================ -++EESchema - * Move library new component and schematic edit sheet dialogs to dialogs - folder. - * Set library new component and schematic edit sheet dialogs default button. - * Create wxFormBuilder version of edit sheet label dialog and remove hand - coded version. - * More coding policy fixes. - - -2010-nov-19 UPDATE Wayne Stambaugh -================================================================================ -++EESchema - * Move library dimension, schematic configuration, and schematic options - dialogs to dialogs folder. - * Set library dimension, schematic configuration, and schematic options - dialogs default button to OK button. - * Kicad coding policy clean ups. - - -2010-nov-17 UPDATE Wayne Stambaugh -================================================================================ -++EESchema - * Move library text edit, library draw item edit, SVG print, and BOM dialogs - to dialogs folder. - * Rename library text edit dialog file and object names to comply with - coding policy. - * Set default button in library text edit, library draw item edit, SVG print, - and BOM dialogs. - * Move BOM dialog code into BOM dialog object source file. - - -2010-nov-11 UPDATE Wayne Stambaugh -================================================================================ -++EESchema - * Make schematic object file naming consistent. - * Move annotate dialog to dialogs subdirectory and set the "Annotation" - button as the default. - * Move ERC dialog to dialogs subdirectory and set the "Test Erc" button - as the default. - * Move the print dialog to dialogs subdirectory and set the "Print" button - as the default. - * Create print dialog header and move the OnPrint() method into - schframe.cpp. - - -2010-nov-10 UPDATE Wayne Stambaugh -================================================================================ -++EESchema - * Header file rationalization. - * Move schematic object load code into the appropriate schematic object. - - -2010-nov-3 UPDATE Wayne Stambaugh -================================================================================ -++common - * Initial ground work for using Boost container for storing draw items - instead of internal linked list. -++EESchema - * Move tests for dangling end code back into schematic objects. - * Add clear draw object state helper to SCH_SCREEN object. - * Add support for schematic objects to keep temporary list of connection - objects for dangling end and other connection related tests. - * Rearrange schematic label object code. - * Remove duplicate error message boxes when loading schematic items. - - -2010-oct-28, UPDATE Jean-Pierre Charras -================================================================================ -PolyLine.cpp: - remove unused method CPolyLine::TestPointInsideContour() which was a duplicate of - TestPointInsidePolygon(). - In CPolyLine::TestPointInside(); replace curious algo (which have a problem) - to test a point inside a polygon by TestPointInsidePolygon() -++Pcbnew: - fix a bug in Drc and clearance calculations when using a dummy pad - ( in zones calcualtions and to test holes ot tracks and holes to pads DRC). - -2010-oct-26 UPDATE Wayne Stambaugh -================================================================================ -++EESchema - * Change screen list object array type from wxARRAY to std::vector. - * Move all SCH_SCREEN methods into file class_sch_screen.cpp. - * Move find dialog files to dialogs sub-directory. - * Remove hallucinatory save and restore methods I wrote from component - library draw objects. - * Merge external TstAlignSegment function to SCH_LINE::MergeOverlap method. - * Move save schematic method to files-io.cpp and remove empty file - save_schemas.cpp. -++include - * Remove unused internal link list next and back methods from base screen - object. - - -2010-oct-25 UPDATE Wayne Stambaugh -================================================================================ -++EESchema - * Remove common library component and alias base class CMP_LIB_ENTRY. - * Derive LIB_COMPONENT and LIB_ALIAS directly from EDA_BaseStruct. - * Encapsulate most library draw item object members. - * Make most library draw item get methods constant. - * Merge two edit component properties methods into a single method. - * Update double click left mouse button to use merged edit component - properties method. - * Set schematic find dialog find button as default button. -++include - * Add in-line flag state helpers to EDA_BaseStruct. - - -2010-oct-22 UPDATE Wayne Stambaugh -================================================================================ - 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-Oct-20 UPDATE Dick Hollenbeck -================================================================================ -++richio: - LINE_READERs will now allocate a smaller initial size buffer, say 5000 bytes, - and then resize their buffers up to some provided maximum, after which an - exception is thrown should a line exceed that maximum line length. - - -2010-oct-15, UPDATE Jean-Pierre Charras -================================================================================ -++gerbview: - Added support for gerber commands: - SR (Step and Repeat) - multiple MOIN and/or MOMM in file (switch units from inch to mm and mm to inch) - -2010-oct-09, UPDATE Jean-Pierre Charras -================================================================================ -++gerbview: - Fixed some issues: - Now aperture macro with parameters works. - Note: complex parameters (like $1 + 4) are not supported - - other commands not yet supported: - SF (scale factors) - Offsets (image and layer) - Rotations (image and layer) - Axis definition - Mirroring - SR (Step and repeat) - KO - -2010-Oct-5 UPDATE Dick Hollenbeck -================================================================================ -++richio: - * LINE_READER now has a GetSource() function which is used in error - reporting. This is typically the name of the file which is supplying the - lines of text, or string "clipboard" if the text is coming from the clipboard. - Derived classes FILE_LINE_READER and STRING_LINE_READER's constructors both - need an additional parameter which identifies the source. - * FILE_LINE_READER now owns the source FILE and will close it in its destructor. - This resulted in the removal of several fclose() statements that had been - there to close a file associated with a FILE_LINE_READER. - * DSNLEXER now supports an internal LINE_READER* stack which is used to handle - nested s-expression files, with the ability to resume from the proper place - in the containing file. There is now PushReader() and PopReader() functions - in DSNLEXER to handle this. No protection is provided against circular - inclusions, but this could be done by searching the stack and comparing - GetSource() values for anything already on the stack before pushing. - Each s-expression grammar is free to define one or more keywords that cause - nesting to occur. That policy choice is not part of DSNLEXER's job. - One example might be: - (inherit (footprint library_uri ftprintname)) - -2010-oct-04 UPDATE Wayne Stambaugh -================================================================================ - Initial work on new component library stucture. - * Use C++ map in component library instead of boost::ptr_vector. - * Drop Boost pointer containers for standard C++ containers. - * Moved duplicate name user interface elements from library object to - library editor. - * Added code to support direct addition and replacement of component - alias objects into libraries. - * Removed temporary strings used to add and remove alias objects. - * Libraries only store alias objects, components now accessed thru alias. - * Simplify library API for adding, removing, and replacing components. - * Updated edit component in library dialog and library editor to reflect - component library object changes. - * Fixed bug in library viewer when displaying alias name. - * Made a few header files compile stand alone per the new coding policy. - * Remove some dead code and the usual code formatting fixes. - - -2010-oct-03, UPDATE Jean-Pierre Charras -================================================================================ -++gerbview: - finished Draw functions for aperture macros. - Now aperture macros are draww correctly. - Known bug: aperture macros having parameters are incorrect: parameters are not transmited correctly. - Work still in progress. - -2010-sept-28, UPDATE Jean-Pierre Charras -================================================================================ -++gerbview: - Important changes: - graphic functions rewritten. - graphics items are now specific to gerbview (added a GERBER_DRAW_ITEM class) - and do not use tracks from pcbnew. - The way used to draw them is also new. - Apertures are now correctly drawn for round, oval, rectangular and regular polygon shapes - (with or without holes) - Aperture definition type Polygon is not yet handle. - Polygons are correctly drawn. - TODO: - Draw functions for aperture macros. - Work in progress. - - -2010-Aug-9 UPDATE Dick Hollenbeck -================================================================================ -++CMakeModules: - Revise TokenList2DsnLexer.cmake to take outCppFile and outHeaderFile optinally - and enum mandatorily. Standardize the script's invocation technique within - all the CMakeLists.txt files. - -2010-Aug-8 UPDATE Dick Hollenbeck -================================================================================ -++CMakeModules: - Revise TokenList2DsnLexer.cmake to make an entire derived lexer class that - returns the proper enum type for superior debugging. -++eeschema - * netform.cpp now outputs the allowed footprint filters for a given library - component. - * There is an auto-generated class called NETLIST_LEXER which is defined in - from netlist.keywords by TokenList2DsnLexer.cmake into netlist_lexer.h, that - may be the basis of loading a S-expression form of the generic netlist format - which is written from netform.cpp. - - -2010-Aug-7 UPDATE Dick Hollenbeck -================================================================================ -++common - * add xnode.cpp and xnode.h which can be used to output either an XML or - S-expression document file. - * Add class STREAM_OUTPUTFORMATTER which is a richio class which can write - to any of the wxOutputStream derivatives, such as file, socket, zip, tar. - * Added netlist.keywords -++eeschema - * netform.cpp can now output S-expression OK, although I have it commented out - pending the addition of a UI for it. - - -2010-Aug-4 UPDATE Dick Hollenbeck -================================================================================ -++eeschema netform.cpp: - * Finish up first working version of the XML export. - -2010-Aug-3 UPDATE Dick Hollenbeck -================================================================================ -++eeschema netlist.cpp and netform.cpp: - * Found several speed optimizations in the netlist export code. - * Now sort the pins properly if they have pin numbers like A1 and A10, - i.e. alphanumerics in them. - - -2010-Jul-30 & 31 UPDATE Dick Hollenbeck -================================================================================ -++eeschema: - * Now link with XML support within wxWidgets. - * Export the generic netlist in XML. Only the libpart elements are missing now. - Still need to rework the chain loaded netlist plugin, but may do that in XSL. - * OBJ_CMP_TO_LIST class now uses a std::string to hold the 8 bit string m_Ref, - but hides this behind accessors which provide for both Unicode and 8 bit - set and get functions. - * build_BOM.cpp retains the selected filename on subsequent runs as a default. - * Code cleaning, especially in build_BOM.cpp. - - -2010-jul-27, UPDATE Jean-Pierre Charras -================================================================================ -++all: - Updated boost to version 1.44 - Added boost::polygon (experimental) -++pcbnew: - Added experimental zone fill calculations with boost::polygon - old file zones_convert_brd_items_to_polygons.cpp has now 2 versions: - zones_convert_brd_items_to_polygons_with_Boost.cpp use boost::polygon to calculate filled areas - zones_convert_brd_items_to_polygons_with_BKbool.cpp use kbool (code cleaned). - - >>> to use boost polygon version: - call cmake with option: -DUSE_BOOST_POLYGON_LIBRARY=ON - -2010-jul-12, UPDATE Jean-Pierre Charras -================================================================================ -++pcbnew: - Added grid origin patch from Lorenzo Marcantonio. - Converted set grid dialog from DialogBlocks to wxFormBuilder, - and added in this dialog the grid origin parameters settings. - -2010-jun-24 UPDATE Wayne Stambaugh -================================================================================ -++EESchema component library and hierarchical sheet label object improvements. - * Continue component library class clean up and encapsulation work. - * Change hierarchical sheet label container to boost::vector_ptr. - * Encapsulate hierarchical label handling in hierarchical sheet class. - * Convert some missed occurrences of wxString::GetData() to GetChars( wxString ). - * Fix some minor code formatting issues. - -2010-jun-23, UPDATE Jean-Pierre Charras -================================================================================ -++eeschema: - In netlist generation, changed the rule to calculate netnames of nets with labels: - Previously, named nets (i.e. nets with local, hierarchical or global labels) have their name - defined by the first label found in list. - So net names could be changed without really changing the schematic. - Now the names are calculated from the rules (by priority order) : - 1 - use the most top level labels in hierarchies. - 2 - use global labels first, local labels next (hidden power pins names are global labels). - 3 - use alphabetic sort (so, if GND and AGND are connected, the net will be always named AGND, - and adding a VSS connection cannot change the net name) - So power nets and nets that have more than one label cannot have their netname changed - if there is no actual change relative to these nets names in schematic - - -2010-Jun-17 UPDATE Dick Hollenbeck -================================================================================ -++eeschema: - Added "template fieldnames" to eeschema. Thanks to - Brian Sidebotham for the origins of this patch. - https://lists.launchpad.net/kicad-developers/msg04828.html - - A template fieldnames are a list of template elements - consisting of {name, value, visibility} which you want shown in the eeschema - component fieldname (property) editors (both schematic and library versions - of the editors). Template fieldnames are forced into the editors' - presentation of the fields even though those fields may not exist in the - component. Entering a non-blank value while in a field editor will cause the - field & value to be retained in the component. Therefore it is unusual to - provide a non-blank '.value' in a template, because a trip through the field - editor will invariably add that field to the component since the template - being applied has initially a non blank 'value'. The current template editor - is only going to last about a week and it does not support adding non-blank - template values yet, nor visibility control, only field '.name'. But the - template fieldnames configuration storage and component field editors do - know how to handle template.visible and template.value already, in addition - to template.name. See the file .eeschema in your home directory for the - configuration storage, keyword: FieldNames. e.g. only field Manufacturer has - a '.value': - - FieldNames=(templatefields (field (name "Manufacturer")(value "IBM 12")) (field (name "Vendor")) (field (name "Installed")) (field (name "Ralphy") visible)) - - DSNLEXER is used to parse the FieldNames record, & OUTPUTFORMATTER to generate it. - - -2010-jun-15, UPDATE Jean-Pierre Charras -================================================================================ -bitmap2component: - Use wxWidgets. - Better user interface - More bitmaps file format import (from wxWidgets) - This tool does not use Kicad classes. So it can be hacked by guys who do not know kicad sources. - -2010-jun-10, UPDATE Jean-Pierre Charras -================================================================================ -Added an experimental tool (bitmap2component) to create logos from .bmp bitmaps. Added Potrace library to convert bitmaps to polygons - This tool uses potarce library that converts a bitmap picture (.bmp or .pgm format) to a set of polygons. - bitmap2component converts a bitmap to a .emp footprint (that can be imported by modedit) or a .lib component that can be - imported by libedit. - Note: imported bitmaps logos are vectored by potrace, so there is no pixelation effect. - Scale is 1:1 for 300ppi pictures. - bitmap2component currently runs only is command line mode - run - bitmap2component bitmapfile.bmp bitmapfile.lib 1 to create a schematic component logo - (import this file using libedit) - or - bitmap2component bitmapfile.bmp bitmapfile.emp 1 to create a footprint logo - (import this file using modedit) - - -2010-may-18, UPDATE Jean-Pierre Charras -================================================================================ -++All: - Set minimum cmake version requirement to 2.6.4 - (does not works with 2.6.1) -++Pcbnew, Module Editor: - Added footprint name edition in the module properties dialog. - Until now, the footprint name used to retrieve a footprint in lib was - set only when saving the footprint in lib, and could not be edited without saving - the footprint in lib. - -2010-may-01, UPDATE Jean-Pierre Charras -================================================================================ -++Pcbnew: - Board and footprint editors: - Auto update 3D display after footprint or board edition. - (board or footprint is reloaded only when the 3D frame is reactivated, so - no extra time is needed during edition) - -2010-apr-29, UPDATE Jean-Pierre Charras -================================================================================ -++Pcbnew: - Fixed a crash that happens sometimes when opening the design rule dialog. - (due to the sorting function by netclass then by netname) - The sorting by netclass then by netname is now working well. - - -2010-apr-23, UPDATE Jean-Pierre Charras -================================================================================ -++Pcbnew: - Fixed minor problems. - Changed French word COTATION to DIMENSION in class COTATION (now class DIMENSION) - -2010-apr-22, UPDATE Jean-Pierre Charras -================================================================================ -++Pcbnew+Gerbview: - Fixed minor problems in printing. - -2010-apr-19, UPDATE Jean-Pierre Charras -================================================================================ -++Pcbnew: - * Added VRML export, from the patch sent by Lorenzo Marcantonio ( october 2009, 11) - * Fixed : - options to control vrml export. - flipped footprints - * Tested using Cortona and Blender. - - Needs more testing and refinements - -2010-apr-16, UPDATE Jean-Pierre Charras -================================================================================ -++Cvpcb: - Fixed a bug in footprint display frame (coordinates not displayed). Windows only. - Added right toolbar to select display options - Can now read netlists using UTF8 encoding. - Convert dialog_display_option from DialogBlocks to wxFormBuilder -++Pcbnew: - Fixed a very minor bug. -Cvpcb+Pcbnew: - Code cleanup in read netlist functions: use now FILE_LINE_READER. - -2010-Apr-12 UPDATE Dick Hollenbeck -================================================================================ -++all: - Switched the source code repository from subversion at sourceforge.net to - launchpad using bazaar. - - -2010-apr-08, UPDATE Jean-Pierre Charras -================================================================================ -++Pcbnew: - Drc: take in account the clearance "local parameters" for pads that have local parameters. - Until now, only NETCLASS clearance values were used. - (local parameters are used in zone filling) - But because a pad (or a footprint) can have a specific clearance value - Drc used now this value, and NETCLASS value only if no local value specified. - -2010-mar-31, UPDATE Jean-Pierre Charras -================================================================================ -++Pcbnew - Fixed an issue in GERBER file creation, under Vista and W7 only for non administrator users - Plot files were 0 byte length. - This was due to use of function tmpfile() in a GERBER function - to create a temporary file that seems not working using mingw. - Replaced by more usual files functions. - -2010-mar-29, UPDATE Jean-Pierre Charras -================================================================================ -++Pcbnew - enhancements in printing or plot in SVG format: - When printing technical layers, pads on solder mask or solder paste layers - where printed in sketch mode. - Now they are printed as solid shapes, with dimensions according to - solder paste or solder mask clearances. - - -2010-mar-18 UPDATE Jean-Pierre Charras -================================================================================ -++Eeschema - Some bugs fixed - Starting enhancements in Libedit: menubar and commands to "plot" - current component in PNG or SVF file (SVG file not fully working, must be refined) - -2010-mar-13 UPDATE Jean-Pierre Charras -================================================================================ -++ All: - Stable verion for kicad release - -2010-mar-10 UPDATE Jean-Pierre Charras -================================================================================ -++Pcbnew: - Added (see dialog_layers_setup.cpp) compilation options to - -hide non active copper layers - -show inner layers in same order than the layer manager - Currently these options are 2 define - HIDE_INACTIVE_LAYERS - // if defined, displays only active copper layers - // if not displays always 1=the full set (16 layers) - USE_LAYER_MANAGER_COPPER_LAYERS_ORDER - //if defined, used the layer manager copper layers order - // (from FRONT to BACK) to display inner layers. - // if not, use the default order (from BACK to FRONT) - - Currently not active, can be changed if the correponding lines are uncommented in dialog_layers_setup.cpp - -2010-Mar-3 UPDATE Dick Hollenbeck -================================================================================ -++common - * DSNLEXER now owns an abstract LINE_READER by pointer so that polymorphism - can be used in alternative LINE_READERS. - * Write FILE_LINE_READER and STRING_LINE_READER. The latter can be used - to parse text coming from the clipboard or other string source. - - -2010-Feb-20 UPDATE Dick Hollenbeck -================================================================================ -++common - DSNLEXER now supports: - 1) nested quotes. This is in anticipation of broader usage of the - file type/syntax. A string like this in the file: - "my ""favorate"" string" - can be returned as - my "favorite" string - 2) CommentsAsTokens is implemented, so you can ask the lexer to return - comments as tokens, so they can be preserved. The default is to ignore - them. A comment is defined as any line that has # as its first - non-blank character. (This means comments cannot follow anything else - on a line.) - - -2010-Feb-19 UPDATE Jean-Pierre Charras -================================================================================ -kicad: fixing an annoying problem: - * Building the tree project can be *very* long if there are a lot of subdirectories - * in the working directory. - * Unfornately, this happens easily if the project file *.pro is in the home directory - * So the tree project is built "on demand": - * First the tree is built from the current directory and shows files and subdirs. - * > First level subdirs trees are built (i.e subdirs contents are not read) - * > When expanding a subdir, each subdir content is read, - * and the corresponding sub tree is populated on the fly. - - -2010-Feb-17 UPDATE Jean-Pierre Charras -================================================================================ -kicad: - * Building the tree project can be *very* long if there are a lot of - * subdirectories in the working directory. - * Unfornately, this happens easily if the project file *.pro - * is in the home directory - * when subdirs are not loaded, double click on a directory to load its files and subdirs - * #define ADD_FILES_IN_SUBDIRS was used until now. - * It is now commented, so one must double click on a subdir name to load its files - * See treeprj_frme.cpp for more info - -2010-Feb-17 UPDATE Jean-Pierre Charras -================================================================================ -Eeschema, libedit: fixed last problems when editing alias info. - Now alias changes can be undone, and are correctly updated in lib - when updating the current edited component in memory - New code could be a good starting point to store all aliases info in the - root component, - and also easily store it to the *.lib files and remove the .dcm associated files - (most of code is done) - - -2010-Feb-14 UPDATE Jean-Pierre Charras -================================================================================ -Eeschema, libedit: fixed add/remove alias functions, broken -All: added in popup menus hotkeys info for zoom commands - - -2010-Feb-14 UPDATE Jerry Jacobs -================================================================================ -++ KiCad - Check if project is noname.pro so we don't get a error if kicad is first run. - Removed double separator in file menu. - Moved recent project to submenu in Open recent. - -++ Common - Added CTest/CDash support file - Moved helper tool to helper subdirectory - -++ OSX - Update compiling doc - -2010-Feb-07 UPDATE Vesa Solonen -================================================================================ -++ all: - Finnish translation, take one. - -2010-Feb-04 UPDATE Jean-Pierre Charras -================================================================================ -++ gerbview: - Use layer_widget to manage gerber layers colors and visibility. - -2010-Jan-31 UPDATE Jean-Pierre Charras -================================================================================ -++ pcbnew: - More about work on color selection and items visibility: - removed global variables and a lot of redundancies - Now Modedit does not uses the visiblity options of the board editor - (That can create a problem if hide modules is activated) - work in progress but almost finished - - -2010-Jan-30 UPDATE Jean-Pierre Charras -================================================================================ -++ pcbnew: - More about work on color selection and items visibility - work in progress - -2010-Jan-29 UPDATE Jean-Pierre Charras -================================================================================ - ++ All: - added a test to solve a problem when cross compiling Kicad under Linux for Windows - Specific to countries that use a comma as separators in floating point numbers notation: - Depending on wxWideget version: - printed as 0,5 and read as 0.5 - or - printed as 0.5 and read as 0,5 - So float values are always broken in dialogs (many are seen as 0) - Now a test is made, and if there are problems relative to floats - (write/read conversion error), - use the C convention (always a point as separator) - - ++ eeschema: - Removed metrics grid values, that cannot be handled in schematic. - (because 2 items are seen as connected if they have the same coordinates - mixing mm and mils with internal units = 1 mil break netlist - and ERC calculations - So grid value *must* be an integer (in 1/1000 inch). - And metric grid is not very useful in schematic. - (Also 1 mil and 0.025 mm can be seen as the same value for a schematic that do not - needs precision in dimensions, so no need to have mils and mm in grid values) - -++ pcbnew: - Starting work on color selection and items visibility - * code cleaning and removing global values. - * Separe visibility options for board editor and module editor - (work in progress, just starting) - - -2010-Jan-28 UPDATE Jean-Pierre Charras -================================================================================ - *fixed eeschema crash when using the hotkey m (move) command. -* Pcbnew :added option to show/hide footprints values and/or references - See if show/hide footprints texts option is now always useful. - -2010-Jan-27 UPDATE Jean-Pierre Charras -================================================================================ -++ Pcbnew: - Code cleaning about visibility variables (duplicates) in draw functions. - Removed old color and visiblity dialog - work in progress - -2010-Jan-24 UPDATE Jean-Pierre Charras -================================================================================ -++ Pcbnew: - in variable names, change non existent word Hight to High - Remove redundant tool in left toolbar (option toolbar) - (this option is now in layers manager) - Show layers in horizontal combo box in same order as in layer manager. - -++all: - minor code cleaning. - -2010-Jan-23 UPDATE Dick Hollenbeck -================================================================================ -++pcbnew's PCB_LAYER_WIDGET - Removed wxformbuilder dependency from LAYER_WIDGET, thus killing off - layer_widget_base.* and panel_layer_select.fbp. - Added aPointSize to LAYER_WIDGET constructor so it uses that font size. - Removed layer_widget.h from wxPcbStruct.h for faster compiles with less - dependencies, and this meant moving the class LYRS out of - class WinEDA_PcbFrame. While doing that I renamed it to PCB_LAYER_WIDGET. - Integration of PCB_LAYER_WIDGET into WinEDA_PcbFrame to fully support - the layer change logic. Added syncLayerWidget(), - * WinEDA_PcbFrame: - Added syncLayerWidget(), syncLayerBox() (via a rename), setActiveLayer(), - and getActiveLayer(). - Use a font size in PCB_LAYER_WIDGET 80% of the system font size for systems - with screen resolution height <= 900, or 100% if not. See WinEDA_PcbFrame - constructor. - * See TODO.txt for more things that need to be done. - - -2010-Jan-23 UPDATE Jean-Pierre Charras -================================================================================ -++ Pcbnew: - Update Layer manager display when changing active layer (from hotkey or menus) - fixed minor problems and fixed Layer Alignment Target bug. - -2010-Jan-22 UPDATE Wayne Stambaugh -================================================================================ -Minor fixes and code cleaning. - -* Remove redundant background redrawing RedrawActiveWindow. -* Remove redundant managed cursor callback in RedrawActiveWindow. -* Use refresh to redraw instead of directly calling RedrawActiveWindow. -* Remove unused SetDrawBgColor for drawframe.cpp. -* Fix compiler warning in cvpcb/cvframe.cpp. -* Fix menu spelling and syntax errors in pcbnew. -* Rename Trace_Curseur to DrawCursor in common/drawpanel.cpp. - -2010-Jan-21 UPDATE Dick Hollenbeck -================================================================================ -++pcbnew - Integration of LAYER_WIDGET into WinEDA_PcbFrame. See - TODO.txt for more things that need to be done. - - -2010-Jan-17 UPDATE Jerry Jacobs -================================================================================ -More work to make kicad more Mac OS X compliant. -* Workaround for wxAboutDialog bug. -* WXMAC needs wxID_EXIT to make closing the application function properly. -* Workaround for hotkeys, on Mac OS X we can't use Fx keys. - This needs to be further implemented and is a work in progress. - We need to modify the hotkey code to display Mac OS X the - special modifier keys in the hotkey list. - - -2010-Jan-18 UPDATE Dick Hollenbeck -================================================================================ -++any - Finished up complete implementation of class LAYER_WIDGET and am now ready to - integrate it into PCBNEW. This class was kept as general as possible by - omitting as many Kicad document structures as possible, and so can be used - in GERBVIEW. For GERBVIEW it could benefit from some minor additional - work such as a "move up" function for layer order changes. This is a matter - of rearranging wxWindows within the m_LayersFlexGridSizer. - Integration into PCBNEW should be done in just a few days. - - -2010-Jan-17 UPDATE Jerry Jacobs -================================================================================ -+ EESchema - + Added Torsten Huter's patch for hotkeys - + Moved recent opened documents to submenu - -+ Pcbnew - + Big (re)organisation of pcbframe menubar and cleanup - -2010-Jan-13 UPDATE Wayne Stambaugh -================================================================================ -Minor bug fixes, compiler warning fixes and code cleaning. - -* Fix debug asserts when passing NULL pointers to wxAuiPaneInfo. -* Fix Kicad main window sash sizer bug when using wxAui. -* Remove specctra_test from Visual Studio builds to prevent build errors. -* Add WIN32 to layer widget test so it will build properly on Visual Studio. -* Fixed compiler conversion warnings in PCBNew. -* Fixed worksheet print scaling in PCBNew. -* Minor code renaming. - -2010-Jan-12 UPDATE Jean-Pierre Charras -================================================================================ -++All - Use wxAutoBufferedPaintDC in OnPaint event - Seems solves slow grid redraw on some PC (tested under Window 7) - and is faster than use wxPaintDC, not buffered - (note MACOSX has natively a double buffer, so no change for MACOSX) - -2010-Jan-08 UPDATE Jean-Pierre Charras -================================================================================ -++Gerbview - Added support of arcs in polygons outlines. - Needed to show copper areas in some gerber files - Not fully tested but works better than without this support... - - -2010-Jan-03 UPDATE Jean-Pierre Charras -================================================================================ -++pcbnew - - fixed a potential bug in a fill zone function: AddClearanceAreasPolygonsToPolysList() - - Try to fix a problem with AddClearanceAreasPolygonsToPolysList() under Window Vista and Window 7 - This is perhaps a problem in kbool library - (a bug in Bool_Engine destructor ?) - It happens when: - - a lot of polygon corners are added in group A - - nothing in group B - - No operation asked in kbool engine ( that also has a bug if an operation is asked - with no polygon in group B) - - and call the Bool_Engine destructor. - Could be a stack error or overflow, very hard to locate and debug. - - Under Vista seems create always a crash. - - Under Window 7 sometimes create a crash. - - No problem under XP and Linux. - -Workaround: - Leave the group A void if group B is void. - I am not sure this change fix the problem. - Just it solves this problem with 2 samples boards that crash Pcbnew without this change. - -2010-Jan-01 UPDATE Jean-Pierre Charras -================================================================================ -++pcbnew - Rewrite plot dialog using wxDialogBlocks. - Display layers list according to the Setup layers dialog order. -++Gerbview - Write Gerbview plot dialog using wxDialogBlocks. - Do not use anymore the Pcbnew one. - diff --git a/Documentation/changelogs/CHANGELOG-2010.txt b/Documentation/changelogs/CHANGELOG-2010.txt new file mode 100644 index 0000000000..40f5d1bc27 --- /dev/null +++ b/Documentation/changelogs/CHANGELOG-2010.txt @@ -0,0 +1,1010 @@ +KiCad ChangeLog 2010 +==================== + +2010-dec-31 UPDATE Wayne Stambaugh +================================================================================ +++all + * Exclude boost header include path from Doxygen files. + * Coding guide line and doxygen warning fixes. +++EESchema + * Rename OBJ_CMP_TO_LIST to SCH_REFERENCE. + * Move code related to SCH_REFERENCE into the object where it belongs in hope + that some day the object members can be made private instead of public. + * Add GetComponent method to sheet path and sheet path list objects. + * Move screen list code into screen list object. + + +2010-Dec-28 UPDATE Dick Hollenbeck +================================================================================ +++richio: + * Deleted kicad_exceptions, because it required the big #include and + that was slowing down compiling. Moved that stuff back into richio.h where + it came from. + * Enhanced IO_ERROR to format an errorText. + * Added THROW_IO_ERROR() and THROW_PARSE_ERROR() macros to capture the + the call site of the thrower. If you have problems compiling, it is probably + due to the definition of __LOC__ in richio.h. Some compilers may not support + __func__ in C++ yet. Find a macro that identifies your compiler, and we can + work out something in the #define of __LOC__. + +2010-Dec-28 UPDATE Dick Hollenbeck +================================================================================ +++new: + Completed most of /new class LIB_TABLE. + Completed all of /new class LPID. +++common: + Tricked xnode.h into not issuing deprecation warnings. +++richio: + * Added support of DSNLEXER( LINE_READER* ) to TokenList2DsnLexer.cmake, which + allows the chaining of different grammars on top of a common LINE_READER. + * Changed OUTPUT_FORMATTER::Quoted() to return a std::string and not modify + its input parameter. + + +2010-dec-21 UPDATE Wayne Stambaugh +================================================================================ +++all + * Doxygen comment warning fixes. + * Coding policy fixes. +++common + * Add clone method to EDA_ITEM object. +++EESchema + * Replace GenCopy() method with Clone() in all items derived from SCH_ITEM. + * Simplify repeat last schematic item with new Clone() method. + * Simplify duplicate schematic item method with new Clone() method. + * Separate objects in sch_items.h/cpp into separate files per object. + + +2010-dec-20, UPDATE Jean-Pierre Charras +================================================================================ +common: + Rename EDA_Rect::Inside to EDA_Rect::Contains + ( EDA_Rect::Inside( const EDA_Rect& aRect ) was very ambiguous ) + Fix some Doxygen warnings and erroneous comments + + +2010-Dec-19 UPDATE Dick Hollenbeck +================================================================================ +++new: + Completed a good portion of /new class DIR_LIB_SOURCE. + Added an autonomous CMakeLists.txt file to /new, with new-docs target and + test program target. + +2010-dec-15, UPDATE Jean-Pierre Charras +================================================================================ +Gerbview: + Added: in file dialog, multiple file selection. + Added: Draw mode selector (in left toolbar): + Raw mode: + a Gerber image is drawn on screen without buffering. + Artifacts happen if there are negative items drawn, if more than one + Gerber file is shown. + Stacked mode: + each Geber image is drawn in a buffer and after drawn on screen + No artifact with negative items. + Each Gerber image covers previous images. + OR mode (transparency mode): + each Geber image is drawn in a buffer and after drawn on screen + No artifact with negative items. + Each Gerber image is "ORed" with previous images, like in Pcbnew. + Try to optimize Draw function in buffered modes. + (Useful for PC that have problems with "blit" graphic function) + Fix minor issues. + +2010-dec-13 UPDATE Wayne Stambaugh +================================================================================ + * Remove deprecated options and quoted project name option in Doxygen file. + * Make Bazaar ignore the files generated by Doxygen in the new folder. +++EESchema + * More schematic component encapsulation work. + * Doxygen comment fixes. + + +2010-Dec-13 UPDATE Dick Hollenbeck +================================================================================ +++eeschema: + Committed a new design for a "Distributed Library System". + To make the html docs, run doxygen in /new with that as your + current working directory, or run the shell script in there. You need + Doxygen installed. + + +2010-dec-13 UPDATE Wayne Stambaugh +================================================================================ +++common + * Make base marker hit test method const. +++EESchema + * Improve hit testing for schematic components. + * Add initial support for hit test filtering. + * Moved static function CountConnectedItems() into SCH_SCREEN object. + * Add IsConnected() method to SCH_ITEM object. + + +2010-dec-10 UPDATE Wayne Stambaugh +================================================================================ +++All + * Make a whole bunch of object methods const in order to make HitTest() const. + * Lots of coding policy fixes. +++common + * Add Inside override to EDA_Rect to test if another EDA_Rect is inside. + * Add additional parameter to EDA_TextStruct GetTextBox method to support + Y axis inversion and non-default thickness. + * Add accuracy parameter to EDA_TextStruct TextHitTest method. +++EESchema + * Refactor schematic object hit testing to provide coherent object interface. + * Remove redundant GetBoundaryBox from schematic component object. + * Remove redundant layer member from schematic text object. + * Create hit test override to check for rectangle intersection and + containment. + * Simplify schematic block selection hit testing. + * Make schematic and component library object enum naming consistent. + + +2010-dec-08 UPDATE Wayne Stambaugh +================================================================================ +++All + * Coding policy object naming and formating fixes. +++GerbView + * Fix compiler warnings. +++Common + * Change item list type from SCH_ITEM to EDA_BaseStruct in BASE_SCREEN + object. + * Encapsulate BASE_SCREEN drawing item list member. + * Change grid container from wxWidgets to standard C++ container. + + +2010-dec-07 UPDATE Wayne Stambaugh +================================================================================ +++EESchema + * Finish encapsulating LIB_FIELD object. + * Encapsulated all members currently in use in LIB_PIN object. +++Common + * Add SetModified() helper to EDA_BaseStruct object that checks for a parent + object and sets it's modified status as well. + + +2010-dec-02 UPDATE Wayne Stambaugh +================================================================================ +++EESchema + * Move color configuration dialog to dialogs folder. + * Simplify color configuration dialog design, remove enable grid checkbox( I + think we have enough places to do this), and remove abbreviated labels. + * Restore changing value field behavior to create new component from the + current one and handle all of the potential library naming conflict issues. + * Create a toolbar button perform the same function as renaming the value + field for improved usability. + * Add new copy component bitmap contributed by Jean-Pierre Charras. + + +2010-dec-02, UPDATE Jean-Pierre Charras +================================================================================ +Pcbnew: + For zone filling algo, change the default polygon library from Kbool to Boost::polygon. + + +2010-dec-01, UPDATE Jean-Pierre Charras +================================================================================ +Gerbview: + Added support for complex definitions of parameters in aperture macros and primitives macro + (a complex definition in a parameter that is calculated by an arithmetical expression) + Gerbview should now have a decent support of Gerber language. + Currently only the obscure knockout command is not supported (I have no motivation to do that) + Other "bug": + scale in A and B axis is poorly supported: coordinates are scaled, but shapes can have problem: + fro instance, a circle is drawn as a circle when A and B scales are different, + and perhaps should be an ellipse. + On the other hand, Gerber doc is not clear about the meaning of A and B scale. + (Alas! Gerber doc is not clear about most of advanced commands) + + +2010-nov-19 UPDATE Wayne Stambaugh +================================================================================ +++EESchema + * Move library new component and schematic edit sheet dialogs to dialogs + folder. + * Set library new component and schematic edit sheet dialogs default button. + * Create wxFormBuilder version of edit sheet label dialog and remove hand + coded version. + * More coding policy fixes. + + +2010-nov-19 UPDATE Wayne Stambaugh +================================================================================ +++EESchema + * Move library dimension, schematic configuration, and schematic options + dialogs to dialogs folder. + * Set library dimension, schematic configuration, and schematic options + dialogs default button to OK button. + * Kicad coding policy clean ups. + + +2010-nov-17 UPDATE Wayne Stambaugh +================================================================================ +++EESchema + * Move library text edit, library draw item edit, SVG print, and BOM dialogs + to dialogs folder. + * Rename library text edit dialog file and object names to comply with + coding policy. + * Set default button in library text edit, library draw item edit, SVG print, + and BOM dialogs. + * Move BOM dialog code into BOM dialog object source file. + + +2010-nov-11 UPDATE Wayne Stambaugh +================================================================================ +++EESchema + * Make schematic object file naming consistent. + * Move annotate dialog to dialogs subdirectory and set the "Annotation" + button as the default. + * Move ERC dialog to dialogs subdirectory and set the "Test Erc" button + as the default. + * Move the print dialog to dialogs subdirectory and set the "Print" button + as the default. + * Create print dialog header and move the OnPrint() method into + schframe.cpp. + + +2010-nov-10 UPDATE Wayne Stambaugh +================================================================================ +++EESchema + * Header file rationalization. + * Move schematic object load code into the appropriate schematic object. + + +2010-nov-3 UPDATE Wayne Stambaugh +================================================================================ +++common + * Initial ground work for using Boost container for storing draw items + instead of internal linked list. +++EESchema + * Move tests for dangling end code back into schematic objects. + * Add clear draw object state helper to SCH_SCREEN object. + * Add support for schematic objects to keep temporary list of connection + objects for dangling end and other connection related tests. + * Rearrange schematic label object code. + * Remove duplicate error message boxes when loading schematic items. + + +2010-oct-28, UPDATE Jean-Pierre Charras +================================================================================ +PolyLine.cpp: + remove unused method CPolyLine::TestPointInsideContour() which was a duplicate of + TestPointInsidePolygon(). + In CPolyLine::TestPointInside(); replace curious algo (which have a problem) + to test a point inside a polygon by TestPointInsidePolygon() +++Pcbnew: + fix a bug in Drc and clearance calculations when using a dummy pad + ( in zones calcualtions and to test holes ot tracks and holes to pads DRC). + +2010-oct-26 UPDATE Wayne Stambaugh +================================================================================ +++EESchema + * Change screen list object array type from wxARRAY to std::vector. + * Move all SCH_SCREEN methods into file class_sch_screen.cpp. + * Move find dialog files to dialogs sub-directory. + * Remove hallucinatory save and restore methods I wrote from component + library draw objects. + * Merge external TstAlignSegment function to SCH_LINE::MergeOverlap method. + * Move save schematic method to files-io.cpp and remove empty file + save_schemas.cpp. +++include + * Remove unused internal link list next and back methods from base screen + object. + + +2010-oct-25 UPDATE Wayne Stambaugh +================================================================================ +++EESchema + * Remove common library component and alias base class CMP_LIB_ENTRY. + * Derive LIB_COMPONENT and LIB_ALIAS directly from EDA_BaseStruct. + * Encapsulate most library draw item object members. + * Make most library draw item get methods constant. + * Merge two edit component properties methods into a single method. + * Update double click left mouse button to use merged edit component + properties method. + * Set schematic find dialog find button as default button. +++include + * Add in-line flag state helpers to EDA_BaseStruct. + + +2010-oct-22 UPDATE Wayne Stambaugh +================================================================================ + 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-Oct-20 UPDATE Dick Hollenbeck +================================================================================ +++richio: + LINE_READERs will now allocate a smaller initial size buffer, say 5000 bytes, + and then resize their buffers up to some provided maximum, after which an + exception is thrown should a line exceed that maximum line length. + + +2010-oct-15, UPDATE Jean-Pierre Charras +================================================================================ +++gerbview: + Added support for gerber commands: + SR (Step and Repeat) + multiple MOIN and/or MOMM in file (switch units from inch to mm and mm to inch) + +2010-oct-09, UPDATE Jean-Pierre Charras +================================================================================ +++gerbview: + Fixed some issues: + Now aperture macro with parameters works. + Note: complex parameters (like $1 + 4) are not supported + + other commands not yet supported: + SF (scale factors) + Offsets (image and layer) + Rotations (image and layer) + Axis definition + Mirroring + SR (Step and repeat) + KO + +2010-Oct-5 UPDATE Dick Hollenbeck +================================================================================ +++richio: + * LINE_READER now has a GetSource() function which is used in error + reporting. This is typically the name of the file which is supplying the + lines of text, or string "clipboard" if the text is coming from the clipboard. + Derived classes FILE_LINE_READER and STRING_LINE_READER's constructors both + need an additional parameter which identifies the source. + * FILE_LINE_READER now owns the source FILE and will close it in its destructor. + This resulted in the removal of several fclose() statements that had been + there to close a file associated with a FILE_LINE_READER. + * DSNLEXER now supports an internal LINE_READER* stack which is used to handle + nested s-expression files, with the ability to resume from the proper place + in the containing file. There is now PushReader() and PopReader() functions + in DSNLEXER to handle this. No protection is provided against circular + inclusions, but this could be done by searching the stack and comparing + GetSource() values for anything already on the stack before pushing. + Each s-expression grammar is free to define one or more keywords that cause + nesting to occur. That policy choice is not part of DSNLEXER's job. + One example might be: + (inherit (footprint library_uri ftprintname)) + +2010-oct-04 UPDATE Wayne Stambaugh +================================================================================ + Initial work on new component library stucture. + * Use C++ map in component library instead of boost::ptr_vector. + * Drop Boost pointer containers for standard C++ containers. + * Moved duplicate name user interface elements from library object to + library editor. + * Added code to support direct addition and replacement of component + alias objects into libraries. + * Removed temporary strings used to add and remove alias objects. + * Libraries only store alias objects, components now accessed thru alias. + * Simplify library API for adding, removing, and replacing components. + * Updated edit component in library dialog and library editor to reflect + component library object changes. + * Fixed bug in library viewer when displaying alias name. + * Made a few header files compile stand alone per the new coding policy. + * Remove some dead code and the usual code formatting fixes. + + +2010-oct-03, UPDATE Jean-Pierre Charras +================================================================================ +++gerbview: + finished Draw functions for aperture macros. + Now aperture macros are draww correctly. + Known bug: aperture macros having parameters are incorrect: parameters are not transmited correctly. + Work still in progress. + +2010-sept-28, UPDATE Jean-Pierre Charras +================================================================================ +++gerbview: + Important changes: + graphic functions rewritten. + graphics items are now specific to gerbview (added a GERBER_DRAW_ITEM class) + and do not use tracks from pcbnew. + The way used to draw them is also new. + Apertures are now correctly drawn for round, oval, rectangular and regular polygon shapes + (with or without holes) + Aperture definition type Polygon is not yet handle. + Polygons are correctly drawn. + TODO: + Draw functions for aperture macros. + Work in progress. + + +2010-Aug-9 UPDATE Dick Hollenbeck +================================================================================ +++CMakeModules: + Revise TokenList2DsnLexer.cmake to take outCppFile and outHeaderFile optinally + and enum mandatorily. Standardize the script's invocation technique within + all the CMakeLists.txt files. + +2010-Aug-8 UPDATE Dick Hollenbeck +================================================================================ +++CMakeModules: + Revise TokenList2DsnLexer.cmake to make an entire derived lexer class that + returns the proper enum type for superior debugging. +++eeschema + * netform.cpp now outputs the allowed footprint filters for a given library + component. + * There is an auto-generated class called NETLIST_LEXER which is defined in + from netlist.keywords by TokenList2DsnLexer.cmake into netlist_lexer.h, that + may be the basis of loading a S-expression form of the generic netlist format + which is written from netform.cpp. + + +2010-Aug-7 UPDATE Dick Hollenbeck +================================================================================ +++common + * add xnode.cpp and xnode.h which can be used to output either an XML or + S-expression document file. + * Add class STREAM_OUTPUTFORMATTER which is a richio class which can write + to any of the wxOutputStream derivatives, such as file, socket, zip, tar. + * Added netlist.keywords +++eeschema + * netform.cpp can now output S-expression OK, although I have it commented out + pending the addition of a UI for it. + + +2010-Aug-4 UPDATE Dick Hollenbeck +================================================================================ +++eeschema netform.cpp: + * Finish up first working version of the XML export. + +2010-Aug-3 UPDATE Dick Hollenbeck +================================================================================ +++eeschema netlist.cpp and netform.cpp: + * Found several speed optimizations in the netlist export code. + * Now sort the pins properly if they have pin numbers like A1 and A10, + i.e. alphanumerics in them. + + +2010-Jul-30 & 31 UPDATE Dick Hollenbeck +================================================================================ +++eeschema: + * Now link with XML support within wxWidgets. + * Export the generic netlist in XML. Only the libpart elements are missing now. + Still need to rework the chain loaded netlist plugin, but may do that in XSL. + * OBJ_CMP_TO_LIST class now uses a std::string to hold the 8 bit string m_Ref, + but hides this behind accessors which provide for both Unicode and 8 bit + set and get functions. + * build_BOM.cpp retains the selected filename on subsequent runs as a default. + * Code cleaning, especially in build_BOM.cpp. + + +2010-jul-27, UPDATE Jean-Pierre Charras +================================================================================ +++all: + Updated boost to version 1.44 + Added boost::polygon (experimental) +++pcbnew: + Added experimental zone fill calculations with boost::polygon + old file zones_convert_brd_items_to_polygons.cpp has now 2 versions: + zones_convert_brd_items_to_polygons_with_Boost.cpp use boost::polygon to calculate filled areas + zones_convert_brd_items_to_polygons_with_BKbool.cpp use kbool (code cleaned). + + >>> to use boost polygon version: + call cmake with option: -DUSE_BOOST_POLYGON_LIBRARY=ON + +2010-jul-12, UPDATE Jean-Pierre Charras +================================================================================ +++pcbnew: + Added grid origin patch from Lorenzo Marcantonio. + Converted set grid dialog from DialogBlocks to wxFormBuilder, + and added in this dialog the grid origin parameters settings. + +2010-jun-24 UPDATE Wayne Stambaugh +================================================================================ +++EESchema component library and hierarchical sheet label object improvements. + * Continue component library class clean up and encapsulation work. + * Change hierarchical sheet label container to boost::vector_ptr. + * Encapsulate hierarchical label handling in hierarchical sheet class. + * Convert some missed occurrences of wxString::GetData() to GetChars( wxString ). + * Fix some minor code formatting issues. + +2010-jun-23, UPDATE Jean-Pierre Charras +================================================================================ +++eeschema: + In netlist generation, changed the rule to calculate netnames of nets with labels: + Previously, named nets (i.e. nets with local, hierarchical or global labels) have their name + defined by the first label found in list. + So net names could be changed without really changing the schematic. + Now the names are calculated from the rules (by priority order) : + 1 - use the most top level labels in hierarchies. + 2 - use global labels first, local labels next (hidden power pins names are global labels). + 3 - use alphabetic sort (so, if GND and AGND are connected, the net will be always named AGND, + and adding a VSS connection cannot change the net name) + So power nets and nets that have more than one label cannot have their netname changed + if there is no actual change relative to these nets names in schematic + + +2010-Jun-17 UPDATE Dick Hollenbeck +================================================================================ +++eeschema: + Added "template fieldnames" to eeschema. Thanks to + Brian Sidebotham for the origins of this patch. + https://lists.launchpad.net/kicad-developers/msg04828.html + + A template fieldnames are a list of template elements + consisting of {name, value, visibility} which you want shown in the eeschema + component fieldname (property) editors (both schematic and library versions + of the editors). Template fieldnames are forced into the editors' + presentation of the fields even though those fields may not exist in the + component. Entering a non-blank value while in a field editor will cause the + field & value to be retained in the component. Therefore it is unusual to + provide a non-blank '.value' in a template, because a trip through the field + editor will invariably add that field to the component since the template + being applied has initially a non blank 'value'. The current template editor + is only going to last about a week and it does not support adding non-blank + template values yet, nor visibility control, only field '.name'. But the + template fieldnames configuration storage and component field editors do + know how to handle template.visible and template.value already, in addition + to template.name. See the file .eeschema in your home directory for the + configuration storage, keyword: FieldNames. e.g. only field Manufacturer has + a '.value': + + FieldNames=(templatefields (field (name "Manufacturer")(value "IBM 12")) (field (name "Vendor")) (field (name "Installed")) (field (name "Ralphy") visible)) + + DSNLEXER is used to parse the FieldNames record, & OUTPUTFORMATTER to generate it. + + +2010-jun-15, UPDATE Jean-Pierre Charras +================================================================================ +bitmap2component: + Use wxWidgets. + Better user interface + More bitmaps file format import (from wxWidgets) + This tool does not use Kicad classes. So it can be hacked by guys who do not know kicad sources. + +2010-jun-10, UPDATE Jean-Pierre Charras +================================================================================ +Added an experimental tool (bitmap2component) to create logos from .bmp bitmaps. Added Potrace library to convert bitmaps to polygons + This tool uses potarce library that converts a bitmap picture (.bmp or .pgm format) to a set of polygons. + bitmap2component converts a bitmap to a .emp footprint (that can be imported by modedit) or a .lib component that can be + imported by libedit. + Note: imported bitmaps logos are vectored by potrace, so there is no pixelation effect. + Scale is 1:1 for 300ppi pictures. + bitmap2component currently runs only is command line mode + run + bitmap2component bitmapfile.bmp bitmapfile.lib 1 to create a schematic component logo + (import this file using libedit) + or + bitmap2component bitmapfile.bmp bitmapfile.emp 1 to create a footprint logo + (import this file using modedit) + + +2010-may-18, UPDATE Jean-Pierre Charras +================================================================================ +++All: + Set minimum cmake version requirement to 2.6.4 + (does not works with 2.6.1) +++Pcbnew, Module Editor: + Added footprint name edition in the module properties dialog. + Until now, the footprint name used to retrieve a footprint in lib was + set only when saving the footprint in lib, and could not be edited without saving + the footprint in lib. + +2010-may-01, UPDATE Jean-Pierre Charras +================================================================================ +++Pcbnew: + Board and footprint editors: + Auto update 3D display after footprint or board edition. + (board or footprint is reloaded only when the 3D frame is reactivated, so + no extra time is needed during edition) + +2010-apr-29, UPDATE Jean-Pierre Charras +================================================================================ +++Pcbnew: + Fixed a crash that happens sometimes when opening the design rule dialog. + (due to the sorting function by netclass then by netname) + The sorting by netclass then by netname is now working well. + + +2010-apr-23, UPDATE Jean-Pierre Charras +================================================================================ +++Pcbnew: + Fixed minor problems. + Changed French word COTATION to DIMENSION in class COTATION (now class DIMENSION) + +2010-apr-22, UPDATE Jean-Pierre Charras +================================================================================ +++Pcbnew+Gerbview: + Fixed minor problems in printing. + +2010-apr-19, UPDATE Jean-Pierre Charras +================================================================================ +++Pcbnew: + * Added VRML export, from the patch sent by Lorenzo Marcantonio ( october 2009, 11) + * Fixed : + options to control vrml export. + flipped footprints + * Tested using Cortona and Blender. + + Needs more testing and refinements + +2010-apr-16, UPDATE Jean-Pierre Charras +================================================================================ +++Cvpcb: + Fixed a bug in footprint display frame (coordinates not displayed). Windows only. + Added right toolbar to select display options + Can now read netlists using UTF8 encoding. + Convert dialog_display_option from DialogBlocks to wxFormBuilder +++Pcbnew: + Fixed a very minor bug. +Cvpcb+Pcbnew: + Code cleanup in read netlist functions: use now FILE_LINE_READER. + +2010-Apr-12 UPDATE Dick Hollenbeck +================================================================================ +++all: + Switched the source code repository from subversion at sourceforge.net to + launchpad using bazaar. + + +2010-apr-08, UPDATE Jean-Pierre Charras +================================================================================ +++Pcbnew: + Drc: take in account the clearance "local parameters" for pads that have local parameters. + Until now, only NETCLASS clearance values were used. + (local parameters are used in zone filling) + But because a pad (or a footprint) can have a specific clearance value + Drc used now this value, and NETCLASS value only if no local value specified. + +2010-mar-31, UPDATE Jean-Pierre Charras +================================================================================ +++Pcbnew + Fixed an issue in GERBER file creation, under Vista and W7 only for non administrator users + Plot files were 0 byte length. + This was due to use of function tmpfile() in a GERBER function + to create a temporary file that seems not working using mingw. + Replaced by more usual files functions. + +2010-mar-29, UPDATE Jean-Pierre Charras +================================================================================ +++Pcbnew + enhancements in printing or plot in SVG format: + When printing technical layers, pads on solder mask or solder paste layers + where printed in sketch mode. + Now they are printed as solid shapes, with dimensions according to + solder paste or solder mask clearances. + + +2010-mar-18 UPDATE Jean-Pierre Charras +================================================================================ +++Eeschema + Some bugs fixed + Starting enhancements in Libedit: menubar and commands to "plot" + current component in PNG or SVF file (SVG file not fully working, must be refined) + +2010-mar-13 UPDATE Jean-Pierre Charras +================================================================================ +++ All: + Stable verion for kicad release + +2010-mar-10 UPDATE Jean-Pierre Charras +================================================================================ +++Pcbnew: + Added (see dialog_layers_setup.cpp) compilation options to + -hide non active copper layers + -show inner layers in same order than the layer manager + Currently these options are 2 define + HIDE_INACTIVE_LAYERS + // if defined, displays only active copper layers + // if not displays always 1=the full set (16 layers) + USE_LAYER_MANAGER_COPPER_LAYERS_ORDER + //if defined, used the layer manager copper layers order + // (from FRONT to BACK) to display inner layers. + // if not, use the default order (from BACK to FRONT) + + Currently not active, can be changed if the correponding lines are uncommented in dialog_layers_setup.cpp + +2010-Mar-3 UPDATE Dick Hollenbeck +================================================================================ +++common + * DSNLEXER now owns an abstract LINE_READER by pointer so that polymorphism + can be used in alternative LINE_READERS. + * Write FILE_LINE_READER and STRING_LINE_READER. The latter can be used + to parse text coming from the clipboard or other string source. + + +2010-Feb-20 UPDATE Dick Hollenbeck +================================================================================ +++common + DSNLEXER now supports: + 1) nested quotes. This is in anticipation of broader usage of the + file type/syntax. A string like this in the file: + "my ""favorate"" string" + can be returned as + my "favorite" string + 2) CommentsAsTokens is implemented, so you can ask the lexer to return + comments as tokens, so they can be preserved. The default is to ignore + them. A comment is defined as any line that has # as its first + non-blank character. (This means comments cannot follow anything else + on a line.) + + +2010-Feb-19 UPDATE Jean-Pierre Charras +================================================================================ +kicad: fixing an annoying problem: + * Building the tree project can be *very* long if there are a lot of subdirectories + * in the working directory. + * Unfornately, this happens easily if the project file *.pro is in the home directory + * So the tree project is built "on demand": + * First the tree is built from the current directory and shows files and subdirs. + * > First level subdirs trees are built (i.e subdirs contents are not read) + * > When expanding a subdir, each subdir content is read, + * and the corresponding sub tree is populated on the fly. + + +2010-Feb-17 UPDATE Jean-Pierre Charras +================================================================================ +kicad: + * Building the tree project can be *very* long if there are a lot of + * subdirectories in the working directory. + * Unfornately, this happens easily if the project file *.pro + * is in the home directory + * when subdirs are not loaded, double click on a directory to load its files and subdirs + * #define ADD_FILES_IN_SUBDIRS was used until now. + * It is now commented, so one must double click on a subdir name to load its files + * See treeprj_frme.cpp for more info + +2010-Feb-17 UPDATE Jean-Pierre Charras +================================================================================ +Eeschema, libedit: fixed last problems when editing alias info. + Now alias changes can be undone, and are correctly updated in lib + when updating the current edited component in memory + New code could be a good starting point to store all aliases info in the + root component, + and also easily store it to the *.lib files and remove the .dcm associated files + (most of code is done) + + +2010-Feb-14 UPDATE Jean-Pierre Charras +================================================================================ +Eeschema, libedit: fixed add/remove alias functions, broken +All: added in popup menus hotkeys info for zoom commands + + +2010-Feb-14 UPDATE Jerry Jacobs +================================================================================ +++ KiCad + Check if project is noname.pro so we don't get a error if kicad is first run. + Removed double separator in file menu. + Moved recent project to submenu in Open recent. + +++ Common + Added CTest/CDash support file + Moved helper tool to helper subdirectory + +++ OSX + Update compiling doc + +2010-Feb-07 UPDATE Vesa Solonen +================================================================================ +++ all: + Finnish translation, take one. + +2010-Feb-04 UPDATE Jean-Pierre Charras +================================================================================ +++ gerbview: + Use layer_widget to manage gerber layers colors and visibility. + +2010-Jan-31 UPDATE Jean-Pierre Charras +================================================================================ +++ pcbnew: + More about work on color selection and items visibility: + removed global variables and a lot of redundancies + Now Modedit does not uses the visiblity options of the board editor + (That can create a problem if hide modules is activated) + work in progress but almost finished + + +2010-Jan-30 UPDATE Jean-Pierre Charras +================================================================================ +++ pcbnew: + More about work on color selection and items visibility + work in progress + +2010-Jan-29 UPDATE Jean-Pierre Charras +================================================================================ + ++ All: + added a test to solve a problem when cross compiling Kicad under Linux for Windows + Specific to countries that use a comma as separators in floating point numbers notation: + Depending on wxWideget version: + printed as 0,5 and read as 0.5 + or + printed as 0.5 and read as 0,5 + So float values are always broken in dialogs (many are seen as 0) + Now a test is made, and if there are problems relative to floats + (write/read conversion error), + use the C convention (always a point as separator) + + ++ eeschema: + Removed metrics grid values, that cannot be handled in schematic. + (because 2 items are seen as connected if they have the same coordinates + mixing mm and mils with internal units = 1 mil break netlist + and ERC calculations + So grid value *must* be an integer (in 1/1000 inch). + And metric grid is not very useful in schematic. + (Also 1 mil and 0.025 mm can be seen as the same value for a schematic that do not + needs precision in dimensions, so no need to have mils and mm in grid values) + +++ pcbnew: + Starting work on color selection and items visibility + * code cleaning and removing global values. + * Separe visibility options for board editor and module editor + (work in progress, just starting) + + +2010-Jan-28 UPDATE Jean-Pierre Charras +================================================================================ + *fixed eeschema crash when using the hotkey m (move) command. +* Pcbnew :added option to show/hide footprints values and/or references + See if show/hide footprints texts option is now always useful. + +2010-Jan-27 UPDATE Jean-Pierre Charras +================================================================================ +++ Pcbnew: + Code cleaning about visibility variables (duplicates) in draw functions. + Removed old color and visiblity dialog + work in progress + +2010-Jan-24 UPDATE Jean-Pierre Charras +================================================================================ +++ Pcbnew: + in variable names, change non existent word Hight to High + Remove redundant tool in left toolbar (option toolbar) + (this option is now in layers manager) + Show layers in horizontal combo box in same order as in layer manager. + +++all: + minor code cleaning. + +2010-Jan-23 UPDATE Dick Hollenbeck +================================================================================ +++pcbnew's PCB_LAYER_WIDGET + Removed wxformbuilder dependency from LAYER_WIDGET, thus killing off + layer_widget_base.* and panel_layer_select.fbp. + Added aPointSize to LAYER_WIDGET constructor so it uses that font size. + Removed layer_widget.h from wxPcbStruct.h for faster compiles with less + dependencies, and this meant moving the class LYRS out of + class WinEDA_PcbFrame. While doing that I renamed it to PCB_LAYER_WIDGET. + Integration of PCB_LAYER_WIDGET into WinEDA_PcbFrame to fully support + the layer change logic. Added syncLayerWidget(), + * WinEDA_PcbFrame: + Added syncLayerWidget(), syncLayerBox() (via a rename), setActiveLayer(), + and getActiveLayer(). + Use a font size in PCB_LAYER_WIDGET 80% of the system font size for systems + with screen resolution height <= 900, or 100% if not. See WinEDA_PcbFrame + constructor. + * See TODO.txt for more things that need to be done. + + +2010-Jan-23 UPDATE Jean-Pierre Charras +================================================================================ +++ Pcbnew: + Update Layer manager display when changing active layer (from hotkey or menus) + fixed minor problems and fixed Layer Alignment Target bug. + +2010-Jan-22 UPDATE Wayne Stambaugh +================================================================================ +Minor fixes and code cleaning. + +* Remove redundant background redrawing RedrawActiveWindow. +* Remove redundant managed cursor callback in RedrawActiveWindow. +* Use refresh to redraw instead of directly calling RedrawActiveWindow. +* Remove unused SetDrawBgColor for drawframe.cpp. +* Fix compiler warning in cvpcb/cvframe.cpp. +* Fix menu spelling and syntax errors in pcbnew. +* Rename Trace_Curseur to DrawCursor in common/drawpanel.cpp. + +2010-Jan-21 UPDATE Dick Hollenbeck +================================================================================ +++pcbnew + Integration of LAYER_WIDGET into WinEDA_PcbFrame. See + TODO.txt for more things that need to be done. + + +2010-Jan-17 UPDATE Jerry Jacobs +================================================================================ +More work to make kicad more Mac OS X compliant. +* Workaround for wxAboutDialog bug. +* WXMAC needs wxID_EXIT to make closing the application function properly. +* Workaround for hotkeys, on Mac OS X we can't use Fx keys. + This needs to be further implemented and is a work in progress. + We need to modify the hotkey code to display Mac OS X the + special modifier keys in the hotkey list. + + +2010-Jan-18 UPDATE Dick Hollenbeck +================================================================================ +++any + Finished up complete implementation of class LAYER_WIDGET and am now ready to + integrate it into PCBNEW. This class was kept as general as possible by + omitting as many Kicad document structures as possible, and so can be used + in GERBVIEW. For GERBVIEW it could benefit from some minor additional + work such as a "move up" function for layer order changes. This is a matter + of rearranging wxWindows within the m_LayersFlexGridSizer. + Integration into PCBNEW should be done in just a few days. + + +2010-Jan-17 UPDATE Jerry Jacobs +================================================================================ ++ EESchema + + Added Torsten Huter's patch for hotkeys + + Moved recent opened documents to submenu + ++ Pcbnew + + Big (re)organisation of pcbframe menubar and cleanup + +2010-Jan-13 UPDATE Wayne Stambaugh +================================================================================ +Minor bug fixes, compiler warning fixes and code cleaning. + +* Fix debug asserts when passing NULL pointers to wxAuiPaneInfo. +* Fix Kicad main window sash sizer bug when using wxAui. +* Remove specctra_test from Visual Studio builds to prevent build errors. +* Add WIN32 to layer widget test so it will build properly on Visual Studio. +* Fixed compiler conversion warnings in PCBNew. +* Fixed worksheet print scaling in PCBNew. +* Minor code renaming. + +2010-Jan-12 UPDATE Jean-Pierre Charras +================================================================================ +++All + Use wxAutoBufferedPaintDC in OnPaint event + Seems solves slow grid redraw on some PC (tested under Window 7) + and is faster than use wxPaintDC, not buffered + (note MACOSX has natively a double buffer, so no change for MACOSX) + +2010-Jan-08 UPDATE Jean-Pierre Charras +================================================================================ +++Gerbview + Added support of arcs in polygons outlines. + Needed to show copper areas in some gerber files + Not fully tested but works better than without this support... + + +2010-Jan-03 UPDATE Jean-Pierre Charras +================================================================================ +++pcbnew + - fixed a potential bug in a fill zone function: AddClearanceAreasPolygonsToPolysList() + - Try to fix a problem with AddClearanceAreasPolygonsToPolysList() under Window Vista and Window 7 + This is perhaps a problem in kbool library + (a bug in Bool_Engine destructor ?) + It happens when: + - a lot of polygon corners are added in group A + - nothing in group B + - No operation asked in kbool engine ( that also has a bug if an operation is asked + with no polygon in group B) + - and call the Bool_Engine destructor. + Could be a stack error or overflow, very hard to locate and debug. + - Under Vista seems create always a crash. + - Under Window 7 sometimes create a crash. + - No problem under XP and Linux. + -Workaround: + Leave the group A void if group B is void. + I am not sure this change fix the problem. + Just it solves this problem with 2 samples boards that crash Pcbnew without this change. + +2010-Jan-01 UPDATE Jean-Pierre Charras +================================================================================ +++pcbnew + Rewrite plot dialog using wxDialogBlocks. + Display layers list according to the Setup layers dialog order. +++Gerbview + Write Gerbview plot dialog using wxDialogBlocks. + Do not use anymore the Pcbnew one. + diff --git a/Documentation/changelogs/CHANGELOG-2011.txt b/Documentation/changelogs/CHANGELOG-2011.txt new file mode 100644 index 0000000000..fc3e1e6d0a --- /dev/null +++ b/Documentation/changelogs/CHANGELOG-2011.txt @@ -0,0 +1,297 @@ +KiCad ChangeLog 2011 +==================== + +Please add newer entries at the top, list the date and your name with +email address. + + +2011-Dec-19, UPDATE Jean-Pierre Charras +================================================================================ +Pcbnew: + Enhanced algorithms to calculate board connections: + - A track is seen connected to a pad if the track end is inside the pad shape. + - Pads inside pads are now seen connected, if the center of the pad is + *inside* the other pad. + (this is made to be sure a large copper area is shared by the 2 pads, + and to keep algorithm fast). + Algorithm to calculate pads connections is still very fast. + However some other functions (drag pads, track len calculation ...) + still need the track end exactly on the pad position. + + +2011-Dec-13 UPDATE Dick Hollenbeck +================================================================================ +++common + * changed all the RotatePoint() functions in trigo.{h,cpp} to take a double as the + angle, which is still in tenths of degrees for now. + * EDA_TEXT::m_Orient is now double, still in tenths of degrees (for a short while), + but the double means parsing files and saving them use a different format string. +++pcbnew + * DRAWSEGMENT::GetStart() and GetEnd() do not operate for S_ARC like they used to. + They are now simply accessors for m_Start and m_End. Use DRAWSEGMENT::GetArcStart() + and GetArcEnd() and GetCenter() for arcs. specctra_export.cpp was the only + source file dependent on the old behavior. + * DIMENSION::m_Text is now contained, not dynamically allocated. + * more kicad_plugin work. + + +2011-Dec-9 UPDATE Dick Hollenbeck +================================================================================ +++PCBNew + * added BOARD::GetPad(int), made BOARD::m_NetInfo private, and contained + within the BOARD, not dynamically allocated and owned via pointer. + * added BOARD::GetPadCount() + * changed NETINFO_LIST::GetCount() to GetNetCount() + * added BOARD::GetNetCount() + * more kicad_plugin work. + +2011-Dec-5 UPDATE Dick Hollenbeck +================================================================================ +++PCBNew + * Removed Pcb_Frame argument from BOARD() constructor, since it precludes + having a BOARD being edited by more than one editor, it was a bad design. + And this meant removing m_PcbFrame from BOARD. + * removed BOARD::SetWindowFrame(), since BOARD::m_PcbFrame gone. + * Removed the global BOARD_DESIGN_SETTINGS which was in class_board.cpp + * Added BOARD_DESIGN_SETTINGS to the BOARD class, a full instance + * A couple of dialogs now only change BOARD_DESIGN_SETTINGS when OK is pressed, + such as dialog_mask_clearance, dialog_drc, etc. + * Removed common/pcbcommon.cpp's int g_CurrentVersionPCB = 1 and replaced it + with build_version.h's #define BOARD_FILE_VERSION, although there may be a + better place for this constant. + * Made the public functions in PARAM_CFG_ARRAY be type const. + void SaveParam(..) const and void ReadParam(..) const + * PARAM_CFG_BASE now has virtual destructor since we have various ways of + destroying the derived classes and boost::ptr_vector must be told about this. + * Pass const PARAM_CFG_ARRAY& instead of PARAM_CFG_ARRAY so that we can use + an automatic PARAM_CFG_ARRAY which is on the stack. + * PCB_EDIT_FRAME::GetProjectFileParameters() may no longer cache the array, + since it has to access the current BOARD and the BOARD can change. + Remember BOARD_DESIGN_SETTINGS are now in the BOARD. + * Made the m_BoundingBox member private, this was a brutally hard task, + and indicative of the lack of commitment to accessors and object oriented + design on the part of KiCad developers. We must do better. + Added BOARD::GetBoundingBox, SetBoundingBox(), ComputeBoundingBox(). + * Added PCB_BASE_FRAME::GetBoardBoundingBox() which calls BOARD::ComputeBoundingBox() + + +2011-Dec-04, UPDATE Jean-Pierre Charras +================================================================================ +Pcbnew: + Enhanced algorithms to calculate board connections: + Previously, a track was seen connected to a pad only if the track end is + exactly on the pad position. + Now a track is seen connected to a pad if the track end is inside the pad shape. + Algorithm to calculate pads connections to track is still very fast. + However some other functions (drag pads, track len calculation ...) + still need the track end exactly on the pad position. + +2011-Nov-27 UPDATE Dick Hollenbeck +================================================================================ +++PCBNew + * Add PLUGIN and IO_MGR classes. + * Remove one argument from BOARD constructor, + * add BOARD::SetWindowFrame() + +2011-sept-13 UPDATE Wayne Stambaugh +================================================================================ + PCBNew locate code refactoring. + + * Move various locate functions into the appropriate board item object. + * Unified best zoom for all frames derived from PCB_BASE_FRAME. + * Remove track.cpp as it is no longer needed. + * Dead code removal. + * Remove scary frame window pointer member from board item objects. + * Add draw bounding box to gerber draw item for debugging purposes. + +2012-Sept-8 UPDATE Dick Hollenbeck +================================================================================ +++all + * Write an automatic bitmap generation script in cmake, PNG2cpp.cmake + * Write an infrastructure generate *.png files from inkscape files, and do + it maintaing the "as needed" change detection support. + * Support an *.SVG maintainer mode, AND an *.SVG user mode. + * Engineer a seemless switchover from old style xpm files, with minimal + impact to system wide source code. + +2011-Sept-07, UPDATE Andrey Fedorushkov +================================================================================ +Pcbnew: + Add hotkey "P" - place item + Add Roman Bashkov patch for record/play sequence hotkey macros + Add record and play macros for sequence hotkey. + Macros set to numeric key 0..9: + + - start record macros + ... | + + - end record macros + - play macros + Add menu save/read macros to/from xml-file + Add configure rotate angle for rotate module: 45 or 90 deg. + Fix segfault when move/drag segment if disconnected to pad + +2011-Sept-01, UPDATE Jean-Pierre Charras +================================================================================ + Add Fabrizio Tappero in contributors list. +Eeschema: + Graphic texts ans labels: fix fully broken undo/redo code relative to the way undo/redo command + handles changes (maintly move) for labels + Fix minor bug for undo command relative to block rotate + Remove dead code. + Add new class BITMAP_BASE, and (for Eeschema) SCH_BITMAP to handle bitmap images in schematic. + Remember plot Bitmaps in not possble with all plotters. + + +2011-Aug-19, UPDATE Jean-Pierre Charras +================================================================================ +Pcbnew: + Add support for not plated through holes (NPTH) pads + * These NPTH pads are used for mechanical purpose only, and cannot be connected to a net. + * When these pads have a same size and shape for the hole and the pad, the pad is not plotted + in GERBER files. + +2011-Apr-12, UPDATE Jerry Jacobs +================================================================================ +Minor UI changes that affect OS X platform. + - Fix for opening the help contents + - Fix for opening files with the default editor + - Fix for opening PDF files + +Solved all with the BSD open command, for other OS'es which have X11 and +utilities they can use the xdg-open command which I added to the pdf viewer tries +list. + +Kicad projectview: +Remove not-existing files when a empty project is created, this confuses when +users try to open it. Show a entry that the project is empty instead of these +void files. + +2011-Apr-6, UPDATE Jerry Jacobs +================================================================================ +Cleanup of all the menubar code to have the same style, remove the C comments. +Make the wxMenu behave native on OSX for KiCad, CvPCB and Gerbview and remove +unneeded ifdefs when using the wxIDs. Add a OnQuit for the gerber frame. +Change item->SetBitmap( item ) to use macro SET_BITMAP for menu items. + +2011-Apr-4, UPDATE Jerry Jacobs +================================================================================ +More native OSX changes, this removes some WXMAC defines replaced by wxID +macros. These are handled by wxWidgets itself and reduces in-app platform +defines. More work needs to be done for CvPCB and Gerbview. + +All: + Hotkey names in menu's all have tabs, this looks more uniform and pretty. + +EESschema & PCBNew: + Fix about and preferences wxMenu to be more native (remove unneeded WXMAC ) + Disable all icons in wxMenu on OSX with macro SETBITMAPS + +jp charras: + SETBITMAPS is incorrectly used here. change to SET_BITMAP + +2011-Mar-25 UPDATE Wayne Stambaugh +================================================================================ + EESchema multiple item hit testing and other minor improvements. + + * Add item clarification context menu to EESchema when multiple unresolved + items are found at the current cross hair position. + * Add collector class SCH_COLLECTOR for supporting multiple item hit testing. + * Removed bit wise masked filtering from schematic item hit testing. + * Removed all old hit testing functions and methods scattered about the + EESchema source code. + * Move terminal point test function into SCH_SCREEN object. + * Fixed bug in terminal point test when terminating a bus to a label. + * Define the < operator for sorting schematic items. + * Add area calculation method to EDA_Rect item. + * Add method for returning an item's bitmap for menu display purposes. + * Add method for returning an item's menu text for menu display purposes. + * Changed EDA_ITEMS container from boost::ptr_vector to std::vector. + * Factor coordinate string conversion code from EDA_DRAW_FRAME to function CoordinateToString(). + +2011-Mar-16, UPDATE Jean-Pierre Charras +================================================================================ +Gerbview: + Added: read Excellon files created by Pcbnew. + The full Excellon command set is not supported, but drill files created by Pcbnew are supported. + +2011-Feb-05, UPDATE Jean-Pierre Charras +================================================================================ +CvPcb: + Code cleanup. Rename WinEDA_CvpcbFrame to CVPCB_MAINFRAME, + according to coding style policy. + Change in CvPcb: + CvPcb does not use now .dcm files, only .mod files, + to read modules keywords and doc + + +2011-Feb-2 UPDATE Dick Hollenbeck +================================================================================ +++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-Jan-30 UPDATE Dick Hollenbeck +================================================================================ +++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 like 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-Jan-21 UPDATE Wayne Stambaugh +================================================================================ + EESchema code refactoring and coding policy naming fixes. + + * Move schematic wire and bus break code into schematic screen object. + * Move schematic test for dangling ends into schematic screen object. + * Remove left over debugging output in schematic screen object. + * Remove unused file eeschema/cleanup.cpp. + * Fix bug in schematic line object hit test algorithm. + * Fix a string concatenation compile error added in r2752. + * Rename class WinEDA_BasicFrame to EDA_BASE_FRAME. + * Rename class WinEDA_DrawFrame to EDA_DRAW_FRAME. + * Rename class WinEDA_DrawPanel to EDA_DRAW_PANEL. + +2011-Jan-19 UPDATE Dick Hollenbeck +================================================================================ +++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-Jan-17 UPDATE Dick Hollenbeck +================================================================================ +++all: + * TokenList2DsnLexer.cmake now wraps each token enum in its own namespace. It + also no longer setup of the "using" directive in the header file, which was + bad behavior. C++ enum values will have name collisions unless the enums + themselves are different namespaces. +++new: + * Sweet library is now a DSO/DLL. + * Brought in SWIG to do a wrap of the Sweet DSO/DLL for unit testing + and scripting. The SWIG DSO/DLLs are built separate from the Sweet DSO/DLL + and are also optional. + +2011-Jan-1 UPDATE Dick Hollenbeck +================================================================================ +++new: + * Added the basic structure to the Sweet parser in sch_part.cpp. + * Got inheritence working off of the 'extends' keyword and PART::inherit() + * Tossed the units support out of sweet.keywords, since we agreed to go dimensionless. +++richio: + * Added the problemInputLine support to PARSE_ERROR, so UI can show the + offending line of bytes. Yes bytes, not even guaranteed to be characters. + +