diff options
Diffstat (limited to 'Documentation/changelogs')
-rw-r--r-- | Documentation/changelogs/CHANGELOG-2007.txt | 1547 | ||||
-rw-r--r-- | Documentation/changelogs/CHANGELOG-2008.txt | 1561 | ||||
-rw-r--r-- | Documentation/changelogs/CHANGELOG-2009.txt | 1013 | ||||
-rw-r--r-- | Documentation/changelogs/CHANGELOG-2010.txt | 1010 | ||||
-rw-r--r-- | Documentation/changelogs/CHANGELOG-2011.txt | 297 |
5 files changed, 5428 insertions, 0 deletions
diff --git a/Documentation/changelogs/CHANGELOG-2007.txt b/Documentation/changelogs/CHANGELOG-2007.txt new file mode 100644 index 0000000..a0d98bf --- /dev/null +++ b/Documentation/changelogs/CHANGELOG-2007.txt @@ -0,0 +1,1547 @@ +KiCad ChangeLog 2007 +==================== + +2007-Dec-29 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++pcbnew: + First draft (and code..) about new zone handling, using polygons to define an outline. + Now currently not useable because the fill function (and many other important functions) is not implemented. + Many functions are not yet implemented: merging zones, cutout, DRC ... + Nevertheless, one can create, modify edit and save zone outlines + + +2007-Dec-23 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++all + * Because of the discussion 4 months ago about using Boost::Python, and + because of an excellent boost::ptr_vector class, I want to make some of the + boost libraries be necessary for building Kicad. These would be: + 1) boost pointer container library (immediately) + http://www.boost.org/libs/ptr_container/doc/ptr_container.html + See the work in specctra.cpp to see where this is going: + typedef boost::ptr_vector<ELEM> ELEM_ARRAY found within class PARENT. + I found that gcc 4.2.1 was complaining about the standard ubuntu libboost-dev + package and would not compile ptr_vector class. But the svn of boost + fixed this. + 2) boost::python when building python in. + * Added FIND_PACKAGE(Boost) to CMakeLists.txt + + +2007-Dec-22 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++all + added strlower() to common.h and string.cpp. + fixed compiler warnings in common/gr_basic.cpp and pcbnew/clean.cpp ++pcbnew + started the DSN file import/export for SPECCTRA routers, adding dsn.cpp and + specctra.cpp, with "stand alone" compile support for it in pcbnew/CMakeLists.txt. + + +2007-Dec-17 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++pcbnew + WinEDA_PcbFrame::Other_Layer_Route() was leaving in the bridging segment + when the DRC denied the via insertion. + + +2007-Dec-17 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++pcbnew: + some changes about zones: enhanced dialog, and files reorganisation + + +2007-Dec-14 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++pcbnew + WinEDA_PcbFrame::Other_Layer_Route() now returns bool, so that if the DRC + would not allow the new via placement, then it can be checked and the layer + change can also then be aborted. Previously the layer change would happen + in mid track even if the via could not be placed. + + +2007-Dec-13 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++pcbnew + * surbrill.cpp's int WinEDA_PcbFrame::Select_High_Light( wxDC* DC ) + was re-written to use the GENERAL_COLLECTOR, and the scanList is set to + give pads a higher search priority than tracks, vias or zones. + The objective was to use the pad if possible, rather than a track on a pad, + so the pad can be sent to eeschema. Finding the track only (even though + on a pad) would not send anything to eeschema. + + +2007-Dec-12 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++pcbnew + * Fized zone drawing bug in svn HEAD only. + pcbnew/zones.cpp, see: + http://tech.groups.yahoo.com/group/kicad-users/message/2993 + + +2007-Dec-11 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++all + * Fixed hotkey table for '+' and '-' bug. The lookup table in + common/hotkeys_basic.cpp had bad entries for + and -. These hotkeys + were not working on Linux. + * Added polygon directory to Doxyfile. + + +2007-Dec-09 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++cvpcb: + listboxes.cpp FootprintListBox::m_ActiveFootprint member was not initialized. + Can crash cvpcb (WINDOWS only, i believe) + + +2007-Dec-09 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++pcbnew: + changes in file organisation and classes to prepare zone redesign. No real new code. + class zone functions and definitions moved in class_zone.h and .cpp + + +2007-Dec-07 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++pcbnew + Very minor bug in drill map : inaccurate via shapes (I believe EXCELLON drill file has no problems) + + +2007-Dec-06 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++all + Solved zoom key command problems (under linux and windows) + (seen http://sourceforge.net/tracker/index.php?func=detail&aid=1844960&group_id=145591&atid=762476) + ++pcbnew + solved bug when loading a footprint in modedit: invisible text attribute was lost (trunk and tag) + + +2007-Dec-4 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++pcbnew + added the D() macro to fctsys.h to ease conditional debug printf()s. + worked on http://sourceforge.net/tracker/index.php?func=detail&aid=1844960&group_id=145591&atid=762476 + but could not resolve it in 1/2 day. + + +2007-Dec-4 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++pcbnew + * drc.cpp and dialog_drc.cpp update. + Added double click support on a MARKER or unconnected DRC_ITEM in the listboxes. + On Linux, it sometimes pops up the menu from PcbGeneralLocateAndDisplay() + for some reason after repositioning the cursor. That is not intended, but + after several attempts to work around it, I realized it is not so bad to + have this happen. + * Added right click popup menus to the list boxes. User must first select + the item he wants to go to, as the right click does not change the selection. + * Added WinEDA_BasePcbFrame::CursorGoto( const wxPoint& ) by factoring it + out of pcbnew/find.cpp + Done now, its ready for folks to start using it and testing it. + + +2007-Dec-02 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++eeschema: + Solved an annotation problem: in multiple parts per package components, + when sorted by position, parts were not grouped by package. + + +2007-Dec-2 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++pcbnew + drc.cpp and dialog_drc.cpp intermediate update. + + +2007-Nov-30 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++pcbnew + * added virtual GetPosition() to BOARD_ITEM and derivatives. + * added classes DRC, REPORT_ISSUE, DRC_ITEM and rearranged drc.cpp entirely + to comprize the DRC class. The result has finer granularity of functions + and each is fairly well documented in English, see drc_stuff.h. + Keeping old stuff commented out at bottom of drc.cpp until some more usage + and testing is done. + * Made the DRC dialog modeless, so it can sit off to the side while the MARKER + are inspected one by one. + + +2007-Nov-29 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++pcbnew: + Removed a bug (function block() ) which crashes pcbnew when erasing a zone by block delete + + +2007-Nov-27 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++pcbnew + * changed class MARQUEUR to class MARKER name only. + * Moved BOARD's MARKERs from m_Drawings to vector<MARKER*> m_markers so + they can be easily deleted and navigated to from the drc dialog. + * deprecated the MARKER::Unlink() function. + * Added + BOARD::Add( BOARD_ITEM*, int ) + BOARD::GetMARKER(int) + BOARD::Delete( BOARD_ITEM* ) + BOARD::DeleteMARKERs(); + * Changed BOARD::~BOARD() to use DeleteMARKERs(). + * Revised screen drawing routine to know about BOARD::m_markers. + * Revised BOARD::Visit() to know about BOARD::m_markers. + * Revised pcbnew/find.cpp to know about BOARD::m_markers. + * removed wxYield() from drc.cpp + + +2007-Nov-26 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++pcbnew + DRC code and dialog rework start. This breaks DRC, until I get out the + other end of the tunnel. + + +2007-Nov-24 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++pcbnew + * dialog_track_options uses a portable technique for SetFocus(), namely the + function OnInitDialog( wxInitDialogEvent& event ). + * started work on dialog_drc, not checked in. basic wxHtmlListBox is working with dummied text. ++all + makefile.include's now use CXX instead of CC for compiling. + + +2007-Nov-15 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++pcbnew: + Removed a bug (function Delete_Zone() ) which crashes pcbnew when erasing a zone by popup menu + + +2007-Nov-13 UPDATE Geoff Harland <gharlandau@yahoo.com.au> +================================================================================ ++ eeschema & pcbnew + * The "Page Settings" dialog box has been enhanced; it now includes a + wxStdDialogButtonSizer, and is also now designed to be expandable. ++ pcbnew + * The "DRC Control" and "Netlist:" dialog boxes have also been enhanced. Each + of those dialogs now includes a wxStdDialogButtonSizer and a "Cancel" button, + (so each of those dialogs can now (otherwise) be cancelled by pressing the + "Esc" key), and is also now designed to be expandable. + + +2007-Nov-11 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++ pcbnew + Fixed modedit.cpp bug which occurred when selecting a non pad item (such + as a text field) in the module editor, then selecting Dimensions -> Pad Settings + in the module editor. + + +2007-Nov-11 UPDATE Geoff Harland <gharlandau@yahoo.com.au> +================================================================================ ++ eeschema & pcbnew & gerbview + * The "Colors" dialog box has been enhanced; the distance between adjacent + controls now increases (and in both horizontal and vertical directions) + when that dialog is resized. And the "Cancel" button is no longer centre- + justified; it is now right-justifed instead. ++ eeschema + * A wxStdDialogButtonSizer is now used within the "EESchema Colors" dialog box, + meaning that the sequence of the "OK", "Cancel", and "Apply" buttons within + that dialog now depends upon which (OS) version of KiCad is being used (and + thus matching the nature of the corresponding dialogs within Pcbnew and GerbView + in that regard). (As of yet, the vertical distance between adjacent controls + does not increase when this dialog is resized, but that aspect will also be + implemented when time permits.) ++ gerbview + * The "GerbView Layer Colors:" dialog box has been updated, and is now similar + in nature to the corresponding dialogs within EESchema and Pcbnew. Tool tips + have also been provided for the "Show All" and "Show None" buttons. + + +2007-Nov-10 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++eeschema: + More comprehensive dialog in netlist plugin interface. + Eeschema configuration now shows the plugin netlist list + + +2007-Nov-09 UPDATE Geoff Harland <gharlandau@yahoo.com.au> +================================================================================ ++ 3d-viewer + * The 3d_canvas.cpp file has been updated to use a const parameter, as suggested + within (Bug) Request ID 1828487. ++ pcbnew + * Sizers have now been provided for the "Pcbnew Layer Colors:" dialog box (previously + identified as the "Colors:" dialog box), and tool tips have been provided for the + "Show All" and "Show None" buttons. + * The reglage.cpp file (which is not currently used) has been removed, and replaced + with reglage.cpp.notused. + + +2007-Nov-02 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++ all + removed not used files + + +2007-Nov-07 UPDATE Geoff Harland <gharlandau@yahoo.com.au> +================================================================================ ++ all + * The common/svg_print.cpp, common/svg_print.h, and common/svg_print.pjd files (which + are not currently used) have been removed, and replaced with svg_print.cpp.notused, + svg_print.h.notused, and svg_print.pjd.notused. And common/makefile.include has + also been updated so that none of those files are now listed at all. ++ eeschema + * A "Cancel" button has now been provided within each of the "Component properties", + "EESchema Annotation", "EESchema Erc", "Global Label properties", "Label properties", + and "Text properties" dialog boxes, and each of those dialogs can now (otherwise) be + cancelled by pressing the "Esc" key. (In due course, each of those dialogs will be + refined yet further; this is just an incremental enhancement.) + * The eestatus.cpp file (which is not currently used) has been removed, and replaced + with eestatus.cpp.notused. + + +2007-Nov-05 UPDATE Geoff Harland <gharlandau@yahoo.com.au> +================================================================================ ++ eeschema + * The previously provided "Close" button within the "Netlist" dialog box has + now been replaced with a "Cancel" button, and this dialog can now (otherwise) + be cancelled by pressing the "Esc" key. General cleanup and beautification of + eeschema/netlist_control.cpp. ++ pcbnew + * The color of each text string provided within the "Swap Layers:" dialog box is + now set to blue for each string specifying that the associated layer is *not* + being swapped with any other layer, or to fushia for each string specifying that + the associated layer *is* being swapped with another layer. (This change was + made after being suggested by Dick Hollenbeck.) ++ gerbview + * The color of each text string provided within the "Layer selection" dialog box + is similarly now set to blue for each string specifying that the associated + Gerber layer is *not* being exported to any pcbnew layer, or to fushia for each + string specifying that the associated Gerber layer *is* being exported to a + pcbnew layer. + + +2007-Nov-2 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++ pcbnew + fixed a crashing bug which happened if you "dragged" a module with + tracks. Then deleted one of the pad connected tracks, then deleted the + next track attached to the first one. Memory was being corrupted because + PcbGeneralLocate() and display was not being called on the 2nd track to + be deleted because the m_Flags test: + bool ItemFree = (GetCurItem()==0 || GetCurItem()->m_Flags==0); + was returning false. Solution was to SetCurItem(NULL) after deleting a + TRACK. This makes sense, SetCurItem() is used for designating a "selected" + item, and a deleted TRACK is not even in the BOARD anymore and should not + be selected or selectable. I think this bug may have been causing spurious + crashes for the last couple of months. + + +2007-Nov-02 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++all: + solved: eeschema, pcbnew and cvpcb did not find libraries when they were + in the default library path, but in a subdirectory + (this is because the default path was not added to the name if the name had + already a path) + + +2007-Nov-02 UPDATE Geoff Harland <gharlandau@yahoo.com.au> +================================================================================ ++ pcbnew + * Sizers have now been provided for the "Swap Layers:" dialog box, and the + previously provided radiobuttons have been replaced with buttons and static + text strings. (In the previous version of this dialog, radiobuttons were being + used in an inappropriate manner. The most "orthodox" way of implementing the + functionality within this dialog would be to provide a combobox for each layer, + but as up to 30 strings would be needed within the dropdown list associated with + each of those controls (one string for each of the layers, and another string to + deselect the layer), such controls would be less than user-friendly. Hence a + button is now provided for each layer instead (and which, like the previously + provided radiobutton, invokes the "Select Layer:" dialog box after being clicked + on). Two static text strings are also provided for each layer, with one of them + being used to identify that layer, and the other being used to identify which + layer that each layer is currently being swapped to.) The previously provided + "Select" and "Deselect" buttons are no longer required, and are thus no longer + provided. ++ gerbview + * The "Layer selection" dialog box (invoked during the "Export to Pcbnew" command) + has similarly been updated. (This dialog did use spacers before, but once again, + the previously provided radiobuttons were being used in an inappropriate manner.) + + +2007-Nov-01 UPDATE Geoff Harland <gharlandau@yahoo.com.au> +================================================================================ ++ pcbnew + * Provided new definitions of FIRST_COPPER_LAYER and LAST_COPPER_LAYER within + include/pcbstruct.h, and used those definitions within various other files. + Beautified and generally refined 3d-viewer/3d_draw.cpp and pcbnew/plotgerb.cpp. + + +2007-Oct-31 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++kicad: + rename mdiframe.cpp to mainframe.cpp + create commandframe.cpp to handle the command frame (which have the 4 "fast launch" buttons) + + +2007-Oct-31 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++ all + * Added Doxygen configuration file, whose standard name is Doxyfile. Output + is set to go to ./doxygen directory just off the project tree. + * Added a note to todo.txt which asks folks to start using "Doxygen compatible" + comments in member functions and classes. Run Doxygen on the project, then + look at the documentation for class INSPECTOR as an example. ++ pcbnew + * zones.cpp, Trace_Pcb(), & EDGE_ZONE class: + Reversed the usage of EDGE_ZONE::Pnext and Pback in the list management to be + consistent with other classes and with BOARD_ITEM::IterateForward() and + BOARD::~BOARD(). + * Fixed a display bug when high contrast mode is enabled and the track tool + is selected. + + +2007-Oct-31 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++all: + gcc 4.2.1 compatibility: change char * to const char * whenever it was necessary, + mainly in .xpm files + + +2007-Oct-30 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++ pcbnew + added BOARD_ITEM::Save() and to all derived classes as well. Made virtual + and removed all UI code from these utility functions. + removed WriteDesc() functions from all BOARD_ITEM derived classes, although + Keeping old ones in commented out form for a while for reference. + @todo: delete these from *.cpp files eventually. + zones.cpp, clean up in prep for enhancements. ++ gerbview + fixed bug which came about when BOARD::~BOARD() started deleting the objects + that a BOARD owns. export_to_pcbnew.cpp was not consistent with this + design and was crashing. Also, export_to_pcbnew.cpp now uses the simple + BOARD::Save() function. It was another place to maintain the PCB file format, + rather than simply putting that knowledge into one place like BOARD::Save(). ++ all + beautified gr_basic.cpp and made CLIP_LINE macro a static inline function. + + +2007-Oct-30 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++cvpcb: listboxes.cpp problem solved: exists only under windows + now apply to windows only, because this Workaround creates a problem undex linux ++others: + some very minor problems solved ++eeschema: + in B.O.M.: the footprint field can be added to the field list + + +2007-Oct-29 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++cvpcb: listboxes.cpp problem solved: Workaround for a curious bug in wxWidgets: + if we switch from a long list of footprints to a short list (a filtered footprint list), + and if the selected item is near the end of the long list, + the new list is not displayed from the top of the list box ++eeschema: + Implemented: graying in/out of "Edit/Undo", "Edit/Redo" menu items, + when Undo/Redo stack is empty/filled. ++pcbnew: + Implemented: action for ID_POPUP_PCB_DELETE_MARKER + + +2007-Oct-27 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++ all: + remove unused files. + some translations ++cvpcb: + set flag wxFRAME_FLOAT_ON_PARENT when create the footprint 3D frame and the + display frame + minor other changes ++ pcbnew: + Use collector class to locate items in modedit. + This is a big enhancement, + but a small work for me because Dick made all the work. + + +2007-Oct-26 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++ pcbnew: + Add class_marker.cpp and class_marker.h and move MARQUEUR functions in class_marker.cpp + Change MARQUEUR::HitTest to take in account the zoom level. + change global var EDA_Appl to g_EDA_Appl + + +2007-Oct-25 UPDATE Geoff Harland <gharlandau@yahoo.com.au> +================================================================================ ++ cvpcb + * Fine-tuned contents of dialog_display_options.cpp, dialog_display_options.h, + and dialog_display_options.pjd, so that the controls within the associated + ("Display Options") dialog box now also expand if that dialog is expanded. ++ all + * The share/selcolor.cpp file (which is no longer used) has been removed, and + replaced with share/selcolor.cpp.notused + + +2007-Oct-24 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++ cvpcb: + 2 missing .prj files added (and updated) + dialog_display_option.cpp is rebuild from its dialog_display_option.prj source + + +2007-Oct-23 UPDATE Geoff Harland <gharlandau@yahoo.com.au> +================================================================================ ++ eeschema + * Sizers have now been provided for the "EESchema Preferences" dialog box, + together with "OK", "Cancel", and "Apply" buttons. And an additional bitmap + button and checkbox have also been provided for the purpose of editing the + color and visibility of the grid. + + +2007-Oct-21 UPDATE Geoff Harland <gharlandau@yahoo.com.au> +================================================================================ ++ all + * Provided an MAYBE_RESIZE_BORDER field within all of the .pjd files (used by + DialogBlocks), and restored the MAYBE_RESIZE_BORDER field to cleaningoptions_dialog.h + + +2007-Oct-21 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++ all + added UIpolicies.txt + + +2007-Oct-21 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++ pcbnew: + rename dialog_clean_pcb.pjd to cleaningoptions_dialog.pjd, + accordind to the corresponding cpp filename. + enter the new tool tips in cleaningoptions_dialog.pjd. ++all: + USE_RESIZE_BORDER is now defined (default) in fctsys.h. + Therefore, under windows, dialogs are now resizable (like under unix) + + +2007-Oct-21 UPDATE Geoff Harland <gharlandau@yahoo.com.au> +================================================================================ ++ eeschema & pcbnew & gerbview + * Sizers have now been provided within the "Colors" dialog box. + + +2007-Oct-19 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++ pcbnew + * "Clean tracks" changed to "Track operations". + * Housekeeping on clean.cpp completed. + Added static void ConnectDanglingEndToVia( BOARD* pcb ) in clean.cpp which + extends tracks to via centers. Call it from "extend to pads", works nice. + * Added tooltip text to cleaningoptions_dialog.cpp's m_ConnectToPadsOpt + but don't know if DialogBlocks will parse this backwards. + * Made compilable, somebody broke #define VIA_???? s throughout. Would not compile. + * SEGVIA::SetPos() & GetPos() added. + + +2007-Oct-17 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++ pcbnew: + Removed enhancements in connectivity computation because + rastnest computation does not work (errors) with short track segments + (lenght < width) . This is not a bug, but an algorithm problem, so + I must work on algos. + + +2007-Oct-17 UPDATE Geoff Harland <gharlandau@yahoo.com.au> +================================================================================ ++ pcbnew + * Rolled back previous changes (made in revision 336) that edited the values of + vias' Shape property (following feedback from Jean-Pierre Charras concerning + the true significance of that property). + + +2007-Oct-13 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++ pcbnew: + remove a change for Read VIA because via attributes + (TROUGH VIA, BLIND VIA or BURIED VIA) are autorisations for layer connection, + and are not a real layer indicator. + If a via connect layers from copper to component, it can have a BURIED VIA attribute. + the meaning is for this via the layer pair can be changed for other layer pair + if after editing this via connect 2 tracks which are only int internal layers, + its layer pair can be changed. + If a via has a TROUGH VIA attribute, it connects ALL layers, whenever tracks + connected to it. + Note: curenty: only TROUGH VIA are handled. + Other types (BLIND VIA and BURIED VIA) are only experimental. + A **lot** of code is needed for a full support. + enhancements in connectivity computation + + +2007-Oct-15 UPDATE Geoff Harland <gharlandau@yahoo.com.au> +================================================================================ ++ pcbnew + * Made some changes involving vias so that these would have the correct value + of the Shape property assigned to them - while being created, and while files + are being saved, and while files are being loaded. + + +2007-Oct-14 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++ pcbnew: + * housekeeping and translation to English on bottom third of pcbnew/clean.cpp. + No algorithm changes were intended, only improved readability. + * my todo: figure out how to intercept double clicks on a wxWidgets text control + so I can complete the work I started on MARQUEUR error tracking. + + +2007-Oct-13 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++ pcbnew: + ratsnest.cpp translated into english. + Many infos on the LEE algorithm used here added. + todo (by myself): connect.cpp translation. + onrightclick() bug (created by last change) solved: one could reselect an item, + while moving a previously selected item (pcbnew crashes). + + +2007-Oct-13 UPDATE Geoff Harland <gharlandau@yahoo.com.au> +================================================================================ ++ eeschema + * The previously provided "Quit" button within the "List of Material" dialog box + has been replaced with "OK", "Cancel", and "Apply" buttons. Greater consistency + has also been achieved after clicking on the "Create List" button; none of the + prevailing settings are subsequently saved (previously, some, but not all, of + the settings were subsequently saved). (However, settings can still be saved by + clicking on either of the "OK" or "Apply" buttons instead.) Assorted cleanup + and beautification of associated source code. + * The genliste.cpp file (which is no longer used) has been removed, and replaced + with genliste.cpp.notused + + +2007-Oct-12 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++ all + * m_NetCode is now private or protected throughout. + added SetNet() and GetNet() to all classes which have this member name. + ditto for m_Sous_NetCode, for which there is now SetSubNet() and GetSubNet(). ++ pcbnew + added more disambiguating text to the PcbGeneralLocateAndDisplay() popup + menu for tracks. We need all the info we can get there I found after using + the software for many hours. + + + Jean-Pierre: + + I never thought I would find a greater problem in using Kicad than having to + lay down all the ground and power tracks, rather that just linking vias into + pre-established zones or "tagged layers". + + But I have, hundreds of my tracks and vias are showing + unconnected under my BGA, (where say the track or via is NetCode==0) and it + should not be, because the damn track ties the BGA pad to a nearby via. + How can the software be made to think these three items are on the same net, + without re-entering all the damn tracks? + + This issue has been coming up for months on the user list, it must be dealt with now. + There is always the same lame answer, "make sure your tracks go to the center of the pads". + Nonsense, the software picked the track end points, not me, and grid was on when it did it. + There are bugs here. + + Does Recalcule_all_net_connexion() work, and why is not called from anywhere? + + + +2007-Oct-11 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++ pcbnew + * D_PAD::Draw() refinements. + * WinEDA_DrawFrame::SetToolID() will redraw the DrawPanel if the track + button is selected or de-selected and the high-contrast mode is in play. + * If high-contrast mode is in play, the Select Layer Pair dialog completion + will redraw the DisplayPanel, now that SMD pads' colors are so dependent + on these variables. + + +2007-Oct-11 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++ pcbnew + * D_PAD::Draw() so that it shows SMD pads as greyed out when in high contrast + mode and not on current layer. Slight variation on this when laying down + tracks: m_Route_Layer_BOTTOM or m_Route_Layer_TOP layers' SMD pads are + not greyed out. + * Changed English UI text for "Cotation" to "Dimension". + + +2007-Oct-11 UPDATE Geoff Harland <gharlandau@yahoo.com.au> +================================================================================ ++ pcbnew + * The "Target Properties" and "Pads Global Edit" dialog boxes can now (otherwise) + be cancelled by pressing the "Esc" key, and the caption of the "OK" button + within the latter dialog box has been capitalised (so that an icon is now + provided within that button within the Linux version of KiCad). + * The pcbpiste.cpp file (which is no longer used) has been removed, and replaced + with pcbpiste.cpp.notused ++ cvpcb + * The affiche.cpp file (which is no longer used) has been removed, and replaced + with affiche.cpp.notused + + +2007-Oct-11 UPDATE Geoff Harland <gharlandau@yahoo.com.au> +================================================================================ ++ pcbnew + * The previously provided "Exit" button within the "Colors:" dialog box has been + replaced with "OK", "Cancel", and "Apply" buttons, and the code for editing the + visibility of the Grid layer from that dialog now is "cleaner" than before. + Details associated with buttons within that dialog box moved from set_color.cpp + to set_color.h (matching implementation for GerbView's corresponding dialog box). + * Fixed bug which previously prevented the Copper layer from being selected as the + current layer when only one copper layer is enabled (and made some modifications + to the code for selecting the next copper layer and previous copper layer). ++ gerbview + * The code for editing the visibility of the Grid layer from the "GerbView Layer + Colors:" dialog box is "cleaner" than before, and assorted other beautification. ++ eeschema + * The options.cpp file (which is no longer used) has been removed, and replaced + with options.cpp.notused + + +2007-Oct-10 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++ pcbnew + * bug fix: prevent OnRightClick() from calling PcbGeneralLocateAndDisplay() + when creating a new track. + * bug fix: popup menu was not handling Mires, because the collector was not + being asked to find them. + * added TRACK::ShowWidth() and call it from BOARD_ITEM::MenuText(). There was + not enough information in Selection Clarification at a busy junction to + make a reasonable choice. + * SEGVIA::MenuText() shows via width, rather than net_code. + * Beautified ratsnets.cpp, I would like to understand it better. It would help + if the comments were in English. ++ all + * Changed English UI text "Mire" to "Target" according to this post: + http://tech.groups.yahoo.com/group/kicad-users/message/1380 + * rewrote msgpanel.cpp so it retains wxStrings and therefore can repaint its + window when being uncovered, resized or whatever. + + +2007-Oct-9 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++ pcbnew + changed pcbnew/onrightclick.cpp so that a right click only shows the + Selection Clarification menu if there is no selected object or if the + click is in a position different from where the selection was previously + made. + + +2007-Oct-09 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++ eeschema: + cross-probing minor bug solved ( due to last modification): pins/pads not probed + + +2007-Oct-08 UPDATE Geoff Harland <gharlandau@yahoo.com.au> +================================================================================ ++ gerbview + Display on screen now updates properly (in Linux version) after clicking on + the "OK" button provided within the "GerbView Layer Colors" dialog box. + + +2007-Oct-7 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++ eeschema + create new file cross-probing.cpp + move RemoteCommand() to cross-probing.cpp and create SendMessageToPCBNEW() + ++ pcbnew + bug in move pad fixed (could crash pcbnew) + Small change in selection clarification (side effect removed): + - Escape or click on title does not show the next popup menu. + - the title is displayed under linux + - definition CUIVRE_N translated into COPPER_LAYER_N + + +2007-Oct-07 UPDATE Geoff Harland <gharlandau@yahoo.com.au> +================================================================================ ++ all + * Various dialog boxes can now (otherwise) be cancelled by pressing the "Esc" key. + (Some dialog boxes still require attention in that regard though, so that task + is not yet complete.) And the captions of the "OK" button within various dialog + boxes have been fully capitalised (meaning that an icon is now provided within + each of those buttons within the Linux version of KiCad). + * DIALOG_STYLE (defined within include/wxstruct.h) now includes MAYBE_RESIZE_BORDER + field. (Refer to 2007-Oct-2 UPDATE notes for the relevance of this.) + * Beautification and house keeping. ++ eeschema + * The editpart.cpp and libedpart.cpp files (which are no longer used) have been + removed, and replaced with editpart.cpp.notused and libedpart.cpp.notused ++ cvpcb + * Additional "OK", "Cancel", and "Apply" buttons have now been provided for the + "Options" dialog box which lists various display options for footprints. ++ pcbnew + * Invoking the "Select Layer Pair:" dialog box is no longer possible whenever only + one (copper) layer is currently enabled. And it is no longer possible to select + the same layer to be both the Top Layer and Bottom Layer (for any Layer Pair). + * Deselecting layers during the "Swap layers" command is now more user-friendly, + due to the provision of an additional "(Deselect)" radiobutton within the (child) + "Select Layer:" dialog box (which is always invoked whenever a different + radiobutton within the "Swap Layers:" dialog box is clicked on). (It had + previously been necessary to cancel the "Select Layer:" dialog box before being + able to click on the "Deselect" button within the "Swap Layers:" dialog box.) + * Definition for NB_LAYERS changed from (EDGE_N + 1) to (LAST_NO_COPPER_LAYER + 1) + (Although EDGE_N is currently the "last" layer, that wouldn't necessarily still + be true if any additional layers are ever defined in the future.) And comparisons + to 29 (or 28) have been replaced with comparisons to NB_LAYERS (when appropriate). ++ gerbview + * The previously provided "Exit" button within the "GerbView Layer Colors" dialog + box has been replaced with "OK", "Cancel", and "Apply" buttons; and both the + visibility and color of the Grid layer can now be edited from the same dialog. + * Deselecting (Gerber) layers during the "Export to Pcbnew" command is now more + user-friendly, due to the provision of an additional "(Deselect)" radiobutton + within the (child) "Select Layer:" dialog box (which is always invoked whenever + a different radiobutton within the "Layer selection:" dialog box is clicked on). + (It had previously been necessary to cancel the "Select Layer:" dialog box before + being able to click on the "Deselect" button within the "Layer selection:" dialog + box.) + * The "Export to Pcbnew" command now requires at least one Gerber file to have been + already loaded. And Gerber files can now be loaded into any of the 32 (Gerber) + layers provided. (It had previously been necessary to avoid having any gaps within + the sequence of used Gerber layers.) + + +2007-Oct-6 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++ pcbnew + create new file cross-probing.cpp + move RemoteCommand() and SendMessageToEESCHEMA() to cross-probing.cpp + + +2007-Oct-3 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++ pcbnew + made BOARD_ITEM::UnLink() virtual + added BOARD_ITEM::DeleteStructure(). + added EDA_BaseStruct::DeleteStructList() + deleted gerbview/struct.cpp, pcbnew/struct.cpp, + BOARD::~BOARD() now deletes objects that it owns. + Collectors now finds MARQUEURs also + added MARQUEURS::Display_Infos() + added MARQUEURS::HitTest() + + +2007-Oct-2 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++ all + The lack of border resizing in dialogs has been a problem. In my world, + dialog boxes are resizable. I use large fonts, I like to see stuff. + So now for __UNIX__ they are resizeable, for windows not. + See fctsys.h and the #define for MAYBE_RESIZE_BORDER. For windows it defaults + to zero which means resizeable is not featured. A compiler command line + option of "USE_RESIZE_BORDER" can override this windows default. + + +2007-Oct-01 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++ pcbnew/eeschema + Cross-probing pcbnew to eeschema: + A left click on a pad in pcbnew moves the eeschema cursor on the corresponding component pin + A left click on a footprint ref or value in pcbnew moves the eeschema cursor on the corresponding component ref or value + A left ckick on a footprint moves the eeschema cursor on the corresponding component anchor ++ pcbnew + removed drc.cpp change line 584, and translate comments in english. + nothing broken: + -> a pad with its netcode = 0 means the pad ** must be left unconnected ** (not attached to * a net). + -> a track with its netcode = 0 means the track is not attached to a net (cannot be connected to any pad). + + +2007-Sep-30 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++ pcbnew + Added dedicated Show() function for SEGVIA. Enhanced BOARD_ITEM::MenuText() + for SEGVIA. + + +2007-Sep-29 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++ pcbnew + * drc.c made a change near line 584 to comment out pt_pad->m_NetCode test against + zero. This was preventing me from laying out my board. It's possible that + this broke something else, but it is also clear that something was broke before + this change, because I could not put down some tracks. + * beautification, house keeping. + + + +2007-Sep-29 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++ pcbnew + create new file onleftclick.cpp + move onleftcligk() and onleftDcligk() from edit.cpp to onleftclick.cpp + + +2007-Sep-27 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++ all + test case for OnLeftClick() handling enhancements. + TAB key removed, because is not needed for block selection and double click. + (SHIHT ou CTRL or ALT key is sufficient to suppress the popup menu + if needed for a double click ) + Some work is still needed, of course ++ pcbnew + Color grid setting now works + + +2007-Sep-26 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++ all + test case for OnLeftClick() handling from a release circumstance. + a few simple changes to void WinEDA_DrawPanel::OnMouseEvent( wxMouseEvent& event ), + but they affect all programs in a subtle way. + TAB key allow double clicking, but is not needed for block selection. + ++ pcbnew + GENERAL_COLLECTOR::GetCount() returns int, not unsigned. Was tired of the + compiler complaining when using an int ndx. + + +2007-Sep-25 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++ pcbnew + * removed reference to global display options DisplayOpt.DisplayZones in + collectors.cpp so collectors.cpp can continue to be used in multiple future + (non-display related) general contexts. I don't want unnecessary dependencies + in there. The way to completely ignore a type is to exclude it from scanList. + The way to sometimes ignore a type is to add support for this in COLLECTORS_GUIDE. + * Moved TYPEZONE to end of AllBoardItems, added GENERAL_COLLECTOR::AllButZones to + provide support for DisplayOpt.DisplayZones. + * Added aHotKeyCode to PcbGeneralLocateAndDisplay() ++ gerbview + * viewer was getting stuck in a loop when loading a bad gerber file. Fixed + the bug, but line 223 through 225 of readgerb.cpp needs review. + * beautified a few files with uncrustify, (any I had to look at). + + +2007-sept-25 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++ pcbnew: + * add class_board_item.cpp file and move BOARD_ITEM::MenuText() and BOARD_ITEM::MenuIcon() in it + * Add zone detection, forgotten in PcbGeneralLocateAndDisplay() ++ class_collector.h: + add void COLLECTOR::Remove( unsigned int item_position ), needed by zone detection, see PcbGeneralLocateAndDisplay + + +2007-Sep-25 UPDATE Geoff Harland <gharlandau@yahoo.com.au> +================================================================================ ++ gerbview + The "Exit" button previously provided within the dialog box invoked from the + "Preferences -> File ext" menu entry has now been replaced by "OK" and "Cancel" + buttons. Similarly, the "Accept" button previously provided within each of the + dialog boxes invoked from the "Preferences -> Options" and "Preferences -> Display" + menu entries has now been replaced by an "OK" button. And each of those three + dialog boxes can now (otherwise) be cancelled by pressing the "Esc" key. + + +2007-sept-22 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++ all + * small change in hotkeys handling + (Ki_HotkeyInfo: new member m_IdMenuEvent to call an existing event handler from a hotkey list) + ++ eeschema: + * added drag component in pop up menu and hotkeys + * plot svg format: incorrect arc draw fixed + + +2007-Sep-22 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++ pcbnew + GENERAL_COLLECTOR::Collect() was skipping thru hole pads even though they + were visible. + Highlight tool now sends message to eeschema when a pad is selected. + + +2007-Sep-20 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++ eeschema + * beautify, add debug Show() functions, changed ReturnFieldName() + to return "const wxString&" for speed, added GetFieldValue(). + * tracking down questionable behavior (a bug?) in erc regarding pwr_flag, still looking + + +2007-sept-20 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++ all + * hotkeys handling finished ++ pcbnew + * bug fix: a subtle bug in place via : partial drc only was made. + + +2007-Sep-14 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++ pcbnew + * controle.cpp, added Function AllAreModulesAndReturnSmallestIfSo() which is + called from PcbGeneralLocateAndDisplay() + * onrightclick.cpp changed to calls to BOARD_ITEM::MenuText(), and switched + to member functions for createPopupMenus() so we can get all the state + information we need for the proper menus. + * BOARD_ITEM::MenuText() got new argument BOARD*, and elaboration for + TRACKs and VIAs and Pcb Graphics. + * Fixed a problem in GENERAL_COLLECTOR::Inspect() so it now knows that MODULEs + have their own visibility controls (same for pads and pcb texts). This + interpretation must always match the drawing code's interpretation. + * Made TRACK::TRACK( const TRACK& ) protected to enforce use of TRACK::Copy() + + +2007-Sep-13 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++ kicad + * Inverted the logic associated with filters. Filters now enable a file + in the project manager. The default is to ignore all files. + * The filter for *.sch files is smarter, in that it looks to display only + top level *.sch files, rather than all *.sch files. ++ Others + More beautification + + +2007-sept-13 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++ all + * EDA_BaseStruct.SetType() removed. + The m_StructType member of class EDA_BaseStruct is no more modified in kicad. + Now Virtual functions can be widely used. + * The old EDA_BaseStruct.ReturnClassName() was removed. + the virtual EDA_BaseStruct.GetClass() is used instead. + ++ gerbview: hotkeys Ok. + + +2007-Sep-13 UPDATE Geoff Harland <gharlandau@yahoo.com.au> +================================================================================ ++ eeschema & pcbnew & gerbview + A Cancel button has now been provided for the "Colors" dialog box, which also + permits it to (otherwise) be cancelled by pressing the "Esc" key; the button + whose color matches that of the color currently selected (for the layer being + edited) also has the initial focus set to it. + + +2007-Sep-11 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++ pcbnew + * Changed PcbLocateAndDisplay() to be tool specific in its search and to present + a popup menu when there are multiple items under the mouse. It is also + a framework for future enhancements. + @todo: grep for @todo and finish off those tasks. + * Introduced a formal notion of "selected item". This is done with the addition + of the WinEDA_BasePcbFrame::SetCurItem() function. So now you have to first + select an item with the left mouse button before you attempt to use the + right button popup menu. Right button no longer has an effect on the + currently selected item. The currently selected item is shown in the MsgPanel. + When none is selected, the m_Pcb is shown. + * Tweaked the OnRightClick() popup menus so that the most likely choices are + at the top. + * Added wxString BOARD_ITEM::MenuText() const and BOARD_ITEM::MenuIcon() and + both need more work, work which I will not have time to do. + + +2007-Sep-10 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++ pcbnew + * Searched and did not see any usage of TRACK::Copy(int), where int was other + than '1', so renamed it to TRACK::CopyList(int) and commented it out because + with int==1, this makes Copy(1) equivalent to the new Copy(void). + * Made TRACK::Copy() capable of copying SEGZONE too. + + +2007-sept-10 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++ gerbview + Programmable hotkeys added. Fixed a compilation probleme in ansi mode (non unicode mode). + + +2007-Sep-8 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++ pcbnew + * Made good progress in onrightclick.cpp for multiple items under the mouse. + * Fixed some macros in macros.h so they can be followed with a semicolon and + used like simple expressions. + All changes not yet committed. + +2007-sept-6 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++ eeschema & pcbnew + Programmable hotkeys update. + some features are still subject to change (mainly path for config files: see 2007-aug-30 UPDATE)) + The preference menu has a command to create and reread config hotkey files. + the hotkey ? lists the current hotkeys. + + +2007-Sep-4 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++ pcbnew + * Made GENERAL_COLLECTORS_GUIDE and GENERAL_COLLECTOR useable. They can now + serve as a fully functional replacement for PcbGeneralLocateAndDisplay(), + see DEBUG code in BOARD_ITEM* WinEDA_BasePcbFrame::PcbGeneralLocateAndDisplay(). + * Made GENERAL_COLLECTOR capable of Collect()ing from a MODULE as well as a BOARD. + * pcbnew/onrightclick.cpp changed English from "Free Module" to "Unlock Module". + Next I hope to add some UI to handle multiple items under the mouse in onrightclick.cpp + + +2007-sept-04 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++ pcbnew + better comments in editrack-part2 (the todo remark solved) ++ todo.txt: note about editrack-part2 modified (problem solved) + + +2007-Aug-31 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++ pcbnew & gerbview + * Added TRACK::Copy() which can copy a SEGVIA or a TRACK. + * Changed export_to_pcbnew.cpp so it created a SEGVIA properly, a significant change. + Moved and changed a big block of code in export_to_pcbnew.cpp so we can + properly construct the SEGVIA(). Not tested. + * Make EDA_BaseStruct::m_StructType private so we can trap where it is being + changed. (It should never be changed after construction, see comment above + EDA_BaseStruct::SetType().) + + +2007-Aug-30 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++ pcbnew + * Removed SEGVIA::IsViaOnLayer, and instead implemented an override to + virtual BOARD_ITEM::IsOnLayer() called SEGVIA::IsOnLayer(). + * Tweaked TRACK::Visit() to not traverse the KICAD_T scan list and a + corresponding change to BOARD::Vist() so we can now get VIA priority + if desired. (Have to traverse m_Tracks twice, wonder if we could use + two lists: m_Tracks and a new m_Vias?) + * Changed signature of MODULE::Display_Infos( WinEDA_DrawFrame* frame ) so + it gets called virtually with any BOARD_ITEM* which is actually a MODULE*. + This was a bug. + * With virtual functions, it is now critical that the correct object type + be instantiated. This was not happening in ioascii.cpp when reading + the vias. Bug fixed. + * GENERAL_COLLECTOR getting closer to useable. + + +2007-aug-30 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++ eeschema & pcbnew + more about programmable hotkeys. + Most existing hotkeys are programmable and displayed in popup menus or tools + Work still in progress but most features are ok. + some features are not fixed (mainly the configuration files path, which is + currently the home directory under unix systems and kicad/template under windows)) + + +2007-Aug-29 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++ pcbnew + Started abstract class COLLECTORS_GUIDE. + Renamed classtrc.cpp to classtrc.cpp.notused + Changed some comments in class BOARD's header to english, clarifying + linked list contents. + + +2007-aug-27 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++ all + Display grid size in mils or mm in popup menu according to the current unit choice + + +2007-Aug-24 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++ eeschema & pcbnew + * Removed class EDA_BaseLineStruct, which brought no behavioral advantage, only data. + Classes which were based on it got its data members added and their initializers. + * Changed type of EDA_BaseStruct::m_StructType from int to KICAD_T which is an + enum. This makes debugging easier since gdb will show the name of the + KICAD_T rather than simply a number. Added NOT_USED = -1 to KICAD_T enum for + 3d which was using -1. + * More beautification using latest uncrustify and the committed uncrustify.cfg + + +2007-Aug-24 UPDATE Geoff Harland <gharlandau@yahoo.com.au> +================================================================================ ++ pcbnew + A new option has now been provided which permits Gerber files to be generated + in which the contents of the Edges Pcb layer are not also included with the + contents of each other layer. + + +2007-Aug-23 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++ eeschema & pcbnew + * Fixed MODULE::Visit() and BOARD::Vist() so they traverse certain lists + only once and they are working nicely now. + * You can test the GENERALCOLLECTOR::Scan() code by compiling with DEBUG=1 on + the command line and enabling the stuff near line 124 in + pcbnew/controle.cpp, then watch Show( std::cout ) show the selected items in + xml format on your console. (launch pcbnew from command line.) + @todo: + The layer selection mechanism used by the collector is still inadequate, so + tomorrow I will add a new class COLLECTORS_GUIDE which can be used by a + COLLECTOR to control its operation. It adds the concept of layer + locking, even though PCBNEW does not support that in the UI yet. + + +2007-Aug-22 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++ eeschema & pcbnew + Things are still pretty transient, should be stable a day or two: + * Fixed a filename case sensitivity problem that would show up on Linux + but probably not on Windows: bitmap/Reload.xpm needed uppercase R. + * Wedged a new class BOARD_ITEM underneath all PCB drawable classes. This is + a big change and may introduce a bug or two, but it is worth it for the + future, because we can add virtual functions there that do not impact + the entire project (since everything is derived from EDA_BaseStruct). + The corresponding class in EESCHEMA seems to be DrawPartStruct, so we had + nothing in PCBNEW like that. + BOARD_ITEM::GetLayer() and SetLayer() introduced, more functions to come. + Much of this work is geared towards making collectors.cpp's ARROWCOLLECTOR::Inspect() + very very simple, and that can be a model for future work. + * Changed min() and max() macros to MIN() and MAX() because min() and max() + are actually reserved according to the C++ standard! (and their usage prevented + the use of #include <vector>). + * Added files class_collector.h, collectors.h, and collectors.cpp. + File collectors.cpp is still unfinished. + * Started using a function and class comment style that will make sense to the + Doxygen source code documenter program. + * Beautified more un-beautified files. + + +2007-aug-21 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++ eeschema & pcbnew + First version of programmable hotkeys by editing hotkey configuration files. + some hotkeys are not programmable (Zoom)(work in progress) + + +2007-Aug-21 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++ administrative + Added copyright.h as a proposed copyright header for Mr. Charras's review. + Added uncrustify.cfg, the configuration file for the "uncrustify" C++ beautifier. + + +2007-Aug-20 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++ pcbnew & eeschema + * Moved allowed m_Flags values from pcbnew.h, general.h, and eeschema/delete.cpp to base_struct.h + near m_Flags itself. Several of the flags values were changed. I am only + comfortable with this change if m_Flags is not written to disk anywhere, + and we need to give that some thought. If m_Flags is a memory only usage + and not saved to disk, then this change should be safe. I could not find + any case where m_Flags was being saved to disk, but I could have missed one. + The reason for the change was to consolidate into one place the allowed values + so that as new flags are allocated there is no conflict. + * Moved most all the pcbnew/affiche.cpp functions to virtual member functions of their + respective classes with the name Display_Infos(). + * Moved GetEquipot() global function to BOARD::FindNet(). + These changes are working towards a concise locate.cpp module, on the way + to implementing the multiple choice support. Mass edits should be slowing down + in a day or so. + + +2007-Aug-20 UPDATE Geoff Harland <gharlandau@yahoo.com.au> +================================================================================ ++ eeschema & pcbnew + The comments provided within postscript files now fully comply with Adobe's + Document Structuring Convention. + + +2007-aug-20 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++ eeschema & pcbnew + modify hotkeys.cpp code (large modifications). + Added: common code in hotkeys_basic.cpp (in common) and hotkeys_basic.h (in include) + In the future, i hope hotkeys will be programmed by a config file + ++ pcbnew + filename drc_dialog.prj changed to dialog_drc.prj + (according to the fulename dialog_drc.cpp and dialog_drc.h created by dialogblock from the .prj) + + +2007-Aug-19 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++ all + * Made BASE_SCREEN::m_CurrentItem private so we can force usage of the new + SetCurItem() function, and use it to put a breakpoint on the only place + that m_CurrentItem is changed, namely in the new SetCurItem() function. + ( Added new function GetCurItem() as well to class BASE_SCREEN in + drawpanel_wxstruct.h.) Using a stack trace at the breakpoint we can tell + who called it. There were in excess of 450 edits to get this done so I + had to commit it asap so other folks could get on with edits without a + merge conflict. + * Started work on the COLLECTOR class which will assist in giving a choice + in PCBNEW when there is more than one click candidate at the same mouse + or cursor coordinates. COLLECTOR not committed yet. + * More beautification. + * The mouse click and part synchronization from EESCHEMA to PCBNEW would + track fine but would not always position the PCBNEW part on screen. Now + we center it unconditionally. No change was made in the reverse direction + since that code uses the long established Find support. + + +2007-Aug-14 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++ eeschema & pcbnew + * Added mouse click, TCP/IP socket based, part synchronization in the reverse + of how it was working, so a mouse click on a module in PCBNEW will take + EESCHEMA to the part with the same reference. + * More beautification, working with developer of uncrustify. Almost ready + to add the customized uncrustifiy configuration file to this project. + * Fixed a bug in pcbnew/tracepcb.cpp's WinEDA_PcbFrame::Trace_Pcb( wxDC* DC, int mode ) + which was using a bool for the MaskLay variable, causing through hole pads + on modules on copper layer not to be shown when the copper components were + set to invisible. + + +2007-aug-11 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++ eeschema + modify hotkeys.cpp code. + + +2007-Aug-10 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++ pcbnew & common + Improved MODULE::FindPadOrModule(). + Ran more source files through auto-beautifier. + Renamed dupltrac.cpp to dupltrac.cpp.notused. + + +2007-aug-10 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++ eeschema + better hotkeys.cpp code. + + +2007-Aug-09 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++ pcbnew & common + Released the new Visitor paradigm. Wrote MODULE::FindPadOrModule() using + it. + + +2007-aug-09 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++ eeschema + Some new hotkeys (see hotkeys.cpp). + Now, the key ? display the current existing hotkeys + + +2007-Aug-08 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++ pcbnew & common + * Renamed locate.cpp's distance() to DistanceTest() and moved it to trigo.cpp. + Pass more parameters to DistanceTest and removed globals that were used by + distance() in locate.cpp. + Moved and renamed DistanceTest function proto from protos.h to trigo.h. + * Implemented HitTest() for class_cotation, class_mire, and a few other classes + by factoring out existing code from locate.cpp. locate.cpp should operate + exactly the same as before. + * Improved or implemented the Show() function for several classes. + * Detected that the suspected class_module hit-testing bug was not real, + i.e. no bug found. + + +2007-aug-08 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++ eeschema + bug in class_hierarchy_sheet.cpp. + ++ pcbnew + small change in block commands: + rastnest was updated for each footprint, while moving footprints. + Now it is updated at the end of changes. + enhancements in block.cpp and connect.cpp + + +2007-Aug-07 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++ pcbnew & common + * More searching work. Made HitTest() virtual. Factored out a HitTest() + function for both class_module and class_pad from existing code. + * Embellished the Show() function for several of the classes. Could be the + basis of a possible future XML export, but with the native format being + ascii already, this is of questionable value as an export. + * Discovered a long time existing bug in class_module hit-testing. + Still need to understand it. It could just be an improperly formatted module. + + +2007-Aug-06 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++ pcbnew & common + Started sketching out a new search architecture. To learn more: + look for "INSPECTOR" text in base_struct.h. + + +2007-Aug-05 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++ pcbnew & common + * Added some conditional DEBUG code for showing the pcb object tree in + simple XML format. See class EDA_BaseStruct's new Show() function. + * Changed the function name of Locate( const wxPoint& ref_pos ) to bool HitTest(..) + in both class_text_mod and base_struct. + * More beautification and commenting. + + +2007-Aug-04 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++ pcbnew + Read-ability formatting, I am playing with a C++ beautifier called "uncrustify". + I had to patch it and spent 2 days getting it configured. Patch not + sent upstream yet. + Fixed a bug in "display local ratsnest pad or module": if you had a small + module and the mouse clicked its reference text, the ratnest for + the associated module would not show. The work around was to add + support to Show_1_Ratsnest() so it could take a TYPETEXTEMODULE as + the result of the hit-testing. But I think a longer term better + solution will be to create a specific search function for this kind + of hit-testing, one which could disregard text and look only for + pads and modules. + + +2007-aug-02 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++ pcbnew + Drc test now generates a DRC file report. + + +2007-Jul-31 UPDATE Geoff Harland <gharlandau@yahoo.com.au> +================================================================================ ++ pcbnew + Drill Map and Drill Report files now list the diameters of each drill in + the selected drill unit first, and then in the other drill unit. + Drill report files also now list the tool assigned to each drill, and + the correct hole count and oval count for each drill size; the + file creation date and the selected drill unit are also listed. + + +2007-Jul-30 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++ pcbnew + Some file are added (missing .prj files) + Better Drc test: + Zones can be tested. + better pad to pad test. + + +2007-Jul-25 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ + ** Some minor enhancements ++ pcbnew + In Drc diags, better (more explicit) messages + Change (and simplify) code in 'update' as well as 'insert' modules into main PCB from within the module editor, + because it had a bug (crashes when there was no footprint in pcb) + + + +2007-June-21 UPDATE Tim Hanson <tim@hardcarve.com> +================================================================================ ++ pcbnew + 1. added button to 'update' as well as 'insert' modules into main PCB + from within the module editor. Made them functional, of course. + 2. added control-o, control-s & control-f to pcbnew, + though I'm not perfectly happy with the implementation -- wxwidgets puts + the control-characters in alphabetical order! + + +2007-June-25 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++ pcbnew + minor enhancement in Edit footprint dialog (more help tool tips). + better hotkey.cpp (code cleaning and info messages) + + +2007-June-19 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++ pcbnew + After locking a module with 'L', update the status window with the locked + status. Side step some asserts from wxWidgets which were happening when + running compiled for debug. + + +2007-June-16 UPDATE Richard A Burton <richardaburton@gmail.com> +================================================================================ ++ pcbnew + fix debug assert starting pcbnew with wx2.6 ++ build + add install targets for resources and docs + + +2007-June-15 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++ pcbnew + ** only modules on the present layer are subject to individual module + moves, rotations, or layer swaps, with the 'M', 'G', 'R' or 'S' hotkeys. + ** only unlocked modules are subject to the individual module moves, + rotations, or layer swaps, with the 'M', 'G', 'R' or 'S' hotkeys. + ** implemented the 'L' hotkey to quickly lock or unlock a module, + just by hovering over it and hitting the 'L' or 'l' key. The lock is + toggled. + ** Enhanced locate.cpp's Locate_Prefered_Module(BOARD * Pcb, int typeloc) + significantly, it now has a widely ranging behavior based on the + typeloc argument. + + +2007-June-14 UPDATE Igor Plyatov <plyatov@mail.ru> +================================================================================ ++ eeschema + Added sorting by value or position in to the annotation window + (Thanks for patch to Andrey Fedorushkov). + +2007-June-13 RELEASE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++All: + merging my development with svn version + ++ pcbnew: + bug fix (problem in postscript generation due to the internationalization + of floating point number notation ) + added tool to select layer pair and monitor active layer + ++ eeschema + bug fix: + crash libedit when loading certain components (linux only) + incomplete generation of erc file list + + +2007-June-13 UPDATE Richard A Burton <richardaburton@gmail.com> +================================================================================ ++ build: + dynamic linking by default, use make -f makefile.gtk KICAD_STATIC_LINK=1 + or uncomment the bit in libs.linux for static + + +2007-June-11 UPDATE Richard A Burton <richardaburton@gmail.com> +================================================================================ ++ build: + removed several 2 line scripts for configuring wx builds and put them in + how-to-build-kicad.txt + improved KICAD_STATIC_LINK handling so it can be overridden on the command + line e.g. "make -f makefile.gtk KICAD_STATIC_LINK=0" + + +2007-June-11 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++ Started this change log file. + + +2007-June-5 UPDATE Richard A Burton <richardaburton@gmail.com> +================================================================================ ++ pcbnew: + fixed 3d-display image export (blank box in image) ++ build: + fixed makefile clean targets so they don't fail if already clean + fixed wx2.6 compatibility + + +2007-May-25 RELEASE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++ pcbnew: + bug: problem with 3D shapes. ++ Gerbview: + Better (but crude...) support to export gerber files to pcbnew. + diff --git a/Documentation/changelogs/CHANGELOG-2008.txt b/Documentation/changelogs/CHANGELOG-2008.txt new file mode 100644 index 0000000..d210585 --- /dev/null +++ b/Documentation/changelogs/CHANGELOG-2008.txt @@ -0,0 +1,1561 @@ +KiCad ChangeLog 2008 +==================== + +2008-Dec-31 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ +++Eeschema: + Note: this is a work in progress! + Files modification. + More about italic and bold fields in libraries + Use DLIST to handle fields in lib entries + Bugs and problems solved in fields edition (some are windows only). + + +2008-Dec-30 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ +++Eeschema: + Note: this is a work in progress! + Change dialog to edit fields in libedit. + Most of code created by Dick to edit fields in shematic is reused (this was the goal). + Component dialog properties -in libedit) is not modified, and fields can be also edited with it. + New dialog box is similar to the component dialog box used in schematic. + But all features do not work (work in progress!) + TODO (by me): + use vector to handle fields in libraries, like schematic. + Finish work, and test it. + +2008-Dec-29 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ +++all + * gr_basic.h DOXYGEN comments. made a couple functions static and removed + those from gr_basic.h since they are private to gr_basic.c. changed the + polygon code to use wxPoints since that is what the underlying wxWidgets + API uses. +++gerbview + * More work on drawing polygons, erasure of polygons completed. + * Added full support for aperture macro 6, MOIRE. + * Example 2 in RS274xrevd_e.pdf almost draws properly now. Need ARC support + in polygons, and need polygon aperture type support to complete. + + +2008-Dec-28 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ +++Eeschema: + More about italic and bold texts options in fields and graphic texts + + +2008-Dec-22 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ +++Pcbnew: + Added dialog box to edit graphic items (graphic segments, circles, arcs) + properties + + +2008-Dec-22 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ +++All + Cleaning code to draw/plot texts: + Now only one function is used to draw and plot texts in pcbnew in all formats + Italics texts are allowed in pcbnew (work in progress) + +2008-Dec-14 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ +++All + Cleaning code to draw/plot texts (work in progress): + Now only one function is used to draw and plot texts (not for pcbnew) + (easier to maintain and ensure texts have the same size in ploting and drawing) + In eeschema, italic and bold texts allowed (in pcbenew, texts thickness is already adjustable) + + +2008-Dec-18 UPDATE Wayne Stambaugh <stambaughw@verizon.net> +================================================================================ +++all + * Virtualize DrawFrame class methods required to eliminate compiling + drawframe.cpp multiple times depending on the application being built. + * Move zoom.cpp and drawframe.cpp to common library and update CMake files. + * drawpanel.cpp - Extracted mouse wheel events out of mouse event handler, + generate commands for mouse wheel events, and moved panning from DrawFrame + class into DrawPanel class. + * Initial ground work for new zoom implementation. + + +2008-Dec-15 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ +++gerbview + Implemented most of the "thermal" aperture macro, at least so that it + displays as concentric circles OK. Still need to do the cross hairs. + Fixed a bug loading aperture macros from disk, could crash gerbview. + Switched TRACKs to after polygons in tracepcb.cpp, temporary solution until + I have more time. + + +2008-Dec-14 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ +++pcbnew + Display a short net name on vias and pads (if zoom level allows it). + Short net names are net names without hierarchy path + Add m_ShortNetname and change m_Netname to private in classes D_PAD and EQUIPOT + + +2008-Dec-08 UPDATE Wayne Stambaugh <stambaughw@verizon.net> +================================================================================ +++all + * Remove all instances of application pointers both global and embedded + member variables. Use wxGetApp() for improved readability and type + safety. + + +2008-Dec-6 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ +++pcbnew & gerbview + * As a final migration step, made BOARD_ITEM::SetNext() and + BOARD_ITEM::SetBack() _private_, starting at BOARD_ITEM in the class + hierarchy so that the compiler will tell us where they are used illegally. + Classes derived from BOARD_ITEM then also cannot expose SetNext() and + SetPrev(), and this forces everthing related to BOARD_ITEM through DLIST for + list manipulation. The compiler turned up a couple I had missed, two of which + were the back pointers of MODULE::m_Reference->Back(), m_Value->Back(), which I + do not think are needed since the MODULE owns these texts, not the other way around. + This should be the final nail in the coffin for undisciplined list manipulation + within pcbnew and gerbview. + * Converted BOARD::Delete() into BOARD::Remove() and then added an inline for + BOARD::Delete() which deletes what Remove() returns. + * Removed BOARD::DeleteMARKER( int ) since BOARD::Delete() works. + * Removed gerbview's undelete.cpp and made gerbview use pcbnew's, + by moving the two supporting functions into the common base class + of WinEDA_BasePcbFrame, had to add some "#if !defined(GERBVIEW)"s. + + +2008-Dec-5 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ +++pcbnew & gerbview + * Renamed Struct3D_Master to S3D_MASTER. + * MODULE::m_3D_Drawings is now a DLIST<> + * Removed AddToChain(), DeleteStructList() and replaced with calls to DLIST<> + members so that list item counting stays accurate. + + +2008-Dec-05 UPDATE Wayne Stambaugh <stambaughw@verizon.net> +================================================================================ +++all + * Simplified and improved grid implementation. User grid will no longer + be displayed if it is the same as any of the default grid sizes. + * Removed unused grid code in BASE_SCREEN class. + * Source file share/drawpanel.cpp now compiled into common library. + * Declare WinEDA_Appl so you can use wxGetApp() instead of passing app + pointers all over the place. + * Fixed assertion in debug build of 3D viewer. + * Some general code beautification and redundant header file removal in files + changed by the grid implementation. + + +2008-Dec-3 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ +++pcbnew & gerbview + * added g_CurrentTrackList, and made g_CurrentTrackSegment and g_FirstTrackSegment + be #defines into this DLIST<TRACK>, see pcbnew.h. + * Changed to DLIST<> for almost all the list heads in BOARD. + Switched datatype of BOARD::m_Track, BOARD::m_Zone, etc to DLIST<>. + This simplifies BOARD::~BOARD() somewhat, and adds automatic counting of list elements and encapsulation + of all list operations into DHEAD member functions, see common/dlist.cpp. + * Removed TRACK::Insert() since it no long fits with the new BOARD::m_Track and BOARD::m_Zone datatypes. + * Removed the g_UnDeleteStack support from <any>::UnLink(), this may leave a deficiency, but this code needs + to be external to UnLink() anyway. + * Made TRACK::SetNext() and TRACK::SetBack() private so they may not be used, + the only way to put a TRACK on a list is through DLIST<TRACK>::PushFront() + and other member functions of DLIST<TRACK>. + * Switched to std::vector<TRACK*> in track.cpp to hold the temporary static list. + * Renamed some KICAD_Ts to more closely match the corresponding classname. +++gerbview + * Switched to GR_COPY mode for drawing so we can see the erasures. debugged + erasures in rs274d.cpp. + * Now using order specific TRACK loading, so erasures come after objects they + are intended to erase. Still need layer ordering and polygon ordering support, my todo. + + I do not like DeleteStructList() and plan to migrate away from it, DLIST<>:DeletAll() + does something like it. + + +======= +2008-Dec-03 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ +++pcbnew + Switch to polygons in zones (old way no more supported) + areas can be now filled using solid polygons, or using segments to fill areas inside polygons. + results are same, but using segments can be better (faster redraw time) for polygons having a lot + of segments (more than 10000) + +2008-Dec-02 UPDATE Wayne Stambaugh <stambaughw@verizon.net> +================================================================================ +++build fixes + * Changed wxWidgets library find order so monolithic build is no longer + required (at least on MinGW). + * Changed CreateSVNVersionHeader.cmake to fall back to "build_version.h" + when 'svn info' command fails. The default macro that ships with CMake + will not create build files when 'svn info' fails. + + +2008-Nov-25 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++eeschema + edit component in schematic editor. works pretty well, I'm done. + + +2008-Nov-24 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++eeschema + edit component in schematic editor. It is not complete but further. + Keep your old eeschema binary, this one does not fully work yet, another day or so. + Switched away from wxGrid to wxListCtrl, and that class is poorly documented + so much time pioneering how to use it. Should go faster now. + + +2008-Nov-23 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++all + + Made _protected_ EDA_BaseStruct's: + EDA_BaseStruct* Pnext; /* Linked list: Link (next struct) */ + EDA_BaseStruct* Pback; /* Linked list: Link (previous struct) */ + EDA_BaseStruct* m_Parent; /* Linked list: Link (parent struct) */ + EDA_BaseStruct* m_Son; /* Linked list: Link (son struct) */ + + Split TRACK::Draw() out for SEGVIA + + Added dlist.h & dlist.cpp for DLIST<> template. All the _inline_ list manipulation + code throughout the package is rediculous. I don't mind list traversal, only + list manipulation. DLIST<> templates can be used to consolidate reliable + list manipulation operations and get this code out of the mainline. + These functions are shared/inherited for any derivation, so only one copy exists + in the final program image. To use, simply declare e.g. DLIST<D_PAD> or similar. + See dlist.h, template class DLIST for function comments. + + added EDA_BaseStruct::m_List to assist in debugging list manipulation functions. ++eeschema + Started on the edit component in schematic editor. It is not complete and + breaks the usefulness of the editor at this moment. Do not build this version + if you want to fully use eeschema. + + +2008-Nov-22 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ +++pcbnew + Some cleanup in dialog pad edition. + Added: + Zones now have a min thickness filled area parameter + that ensure a minimun width for filled copper areas + (areas below this min thickness are removed) + Shapes also are better + + +2008-Nov-19 UPDATE Jerry Jacobs <jerkejacobs@gmail.com> +================================================================================ +++kicad-library + Moved {number}DIP packages to DIP-{number}__{WIDTH} seperated library dip_sockets.mod + Created DIP Packages board +++kicad.pro template + Added dip_sockets library to pcbnew libraries in template file + + +2008-Nov-18 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ +++pcbnew + First version of pcbnew using polygonal filled areas in zones in rats nets calculations. + Needs more tests. + + +2008-Nov-14 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ +kbool: + Using the last version (1.9) of kbool, downloaded from the wxArt2D project site + (see www.wxart2d.org) + But the version 1.8 bug still is here. + So using the workaround remains mandatory. + (this is not a problem because thermal shapes are better...) + + + +2008-Nov-14 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++gerbiew + + Added support for displaying most aperture macros embedded in a RS274X compatible file. + Cleanup of rs274d.cpp and added the beginning of the isDark support, which we + need to discuss. GERBER::m_ImageNegative can toggle during the course of reading + a rs274x file and sometimes this means erasing things. + + Tested pcbnew's gerber plotting, still working. Done + with aperture macros for now, but we need to handle the isDark support to + top it off after discussion. + + +2008-Nov-8 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ +++pcbnew + Thermal shapes modification for round and oblong pads. + This is a workaround for a bug (i believe) of kbool. + New thermal shapes have NO angle < 90 degrees between 2 adjacent segments. + For shapes that have angle < 90 degrees between 2 adjacent segments, + under certains circumstances kbool drops some holes and creates a bad filled area. + (see zones_convert_brd_items_to_polygons.cpp) + + +2008-Nov-8 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++gerview + Added support for reading in aperture macros embedded in a RS274X compatible file. + Cannot display them yet. + General cleanup of gerbview. GERBER_Descr replaced with class GERBER. + ReturnToolDescr() replaced with GERBER::GetDCODE(). + D_CODEs are created lazily now. pcbnew's gerber plotting needs testing, might + have broke something there, accidentally. + + +2008-nov-5 UPDATE Andrey Fedorushkov <andrf@mail.ru> +================================================================================ ++all: + Add cyrillic font support. + Add russian GOST worksheet support. + +2008-nov-2 CLEANUP Jerry Jacobs <jerkejacobs@gmail.com> +================================================================================ +++kicad: + Cleanup comment/codestyle to make things more clear for newbie codeviewer + and developers. + + buildmnu.cpp + + commandframe.cpp + + kicad.cpp + + treeprj_frame.cpp + + +2008-oct-30 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ +++All + Use double instead float when possible, ande code cleaning. + Some changes for a better code compatibility with others compliers (MSVC) + (__MSVC__ must be defined when using MSVC) + (double round(double) and typeof unkown in MSVC) + Note: I cannot test kicad under MSVC. + + +2008-Oct-19 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++eeschema + Fixed SCH_COMPONENT() copy constructor with Jean-Pierre's bug catch. + Developed a non-functional fbp file using wxFormBuilder for the new + dialog_edit_component_in_schematic dialog which I plan on coding in the + next couple of weeks as time permits. + +2008-oct-17 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++pcbnew: + Solved a bug when creating a new zone outline that could crash pcbnew + More about copper zones filled without grid (by polygons) + Currently for tests only (work in progress). + now working: Thermal reliefs parameters can be set. + +2008-oct-11 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++pcbnew: + More about copper zones filled without grid (by polygons) + Currently for tests only (work in progress). + now working + thermal reliefs. + texts on copper zones. + Removing insulated copper islands. + currently : not implemented: + trapezoidal pads + +2008-oct-07 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++pcbnew: + More about copper zones filled without grid (by polygons) + Currently for eyes and tests only (work in progress). + now working + thermal reliefs. + texts on copper zones. + To select this feature choose No Grid in zone grid filling. + Work in progress: + currently : not implemented: + Removing insulated copper islands. + trapezoidal pads + + +2008-Oct-6 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++eeschema + First work on arbitrary number of user fields, i.e. name/value pairs, + per schematic component. Use std::vector to hold fields, added GetField() + function to SCH_COMPONENT. + + +2008-oct-02 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++pcbnew: + First tests about copper zones filled without grid (by polygons) + Currently for eyes and tests only. + To select this feature choose No Grid in zone grid filling. + Work in progress: + currently : not implemented: + thermal reliefs (pads are always covered by copper zones). + texts on copper zones. + Removing insulated copper islands. + +2008-Oct-1 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++pcbnew + gen_modules_placefile.cpp: backed out of the "Cu & Cmp" centric terminology + and moved towards using layer names which are BOARD specific. + + +2008-Sep-26 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++pcbnew: + more about use polygons in zone fill algos on technicals layers: + plot Ok. holes are handled + +2008-Sep-26 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++pcbnew: + Starting work to use polygons in zone fill algos. + Currently, use this to add zone on non copper layers (technical layers) + Only for eyes. + Plot outputs do not handle this. + Problems with holes in zones. + Also: first used of wxFormBuilder + + +2008-Sep-17 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++pcbnew: + Fixed a bug in modedit which crashes pcbnew when closing the properties module dialog + Both in trunk and tagged versions + + +2008-Sep-17 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++eeschema: + code cleaning + PartTextStruct class name changed to a name : SCH_CMP_FIELD + +2008-Sep-14 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++pcbnew: + Fixed a problem in zone filling algo: due tu differents ways to truncate coordinates + between 2 functions (one round coordinates, and others truncate coordinates), + some start points used to fill zones can be inside the zone outlines, + but placed outside when init matrix parameters when rounding them instead of truncate. + So zone was filled inside and outside when happens. + + +2008-Sep-9 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++eeschema + Fixed a bug plotting pins with circles in them from eeschema. + Added type FILL_T. + + +2008-Aug-26 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++all: + subtle bug solved: no response to the first left click command after opening a dialog box + (after an item edition, for instance) + +2008-Aug-22 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++eeschema: + bug solved: netlist calculations could crash eeschema under very rare circumstances. + recent bug solved: background filled shapes (filled but not solid: texts are readables inside shapes) + were drawn (and plotted) as filled (solid) shapes + +2008-Aug-18 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++pcbnew: + bug solved: Horizontal Oblong pads holes have a bad T Code size in the drill file. + + +2008-Aug-15 UPDATE Jerry Jacobs <jerkejacobs@gmail.com> +================================================================================ ++About dialog +modified: (common.cpp) GetAboutBuildVersion() is a custom build version for the about dialog + (config.h.cmake) + (CreateSVNVersionHeader.cmake) KICAD_ABOUT_VERSION macro added + +added: (about_dialog.cpp) InitKiCadAbout() initalise the about dialog + +removed: (common/infospgm.cpp) is no longer needed + + +2008-Aug-11 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++eeschema: + libedit: + solved : a bug which can crash eeschema on a double click. + modified : pin lenght edit in pin edit dialog. The value (handle by spin control) was not editable with recent wxWidgets versions + +2008-Aug-09 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++pcbnew: + bug solved: pads holes not printed. + enforced controls against malformed libraries + +2008-Aug-06 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++pcbnew: + Removed an obsolete option in the plot menu, in gerber format. + Cleanup code. + Solved a minor bug: rastnest was not displayed after a move module + and if the command was aborted + +2008-Juil-31 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++eeschema: + Added component sheet X,Y location in BOM. + Netlist generation: now spaces in names are replaced by '_' for pcbnew (which does not accept spaces) + Bug: print all pages did not work. + Please note in complex hierarchy, the current "Print All" function needs to be enhanced, + because it does not draw all sheets but only all different sheets + +2008-Jule-08 UPDATE Andrey Fedorushkov <andrf@mail.ru> +================================================================================ ++pcbnew: + Added displayed length highlighted net to pcbnew/affiche.cpp + + +2008-June-22 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++all: + Default path kicad/share added when searching kicad data (like library, internat ...) + Kicad data Default paths are now (windows version and linux server install) + 1 - kicad/share + 2 - kicad + + +2008-June-15 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++eeschema: + Bug solved: Eeschema crashed when creating a new subsheet with the same + filename as an existing filename, if loading this existing file. + + +2008-June-11 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++all: + Online doc format changed to PDF format. + This is **very** easier to handle, because : + - Openoffice has a very good pdf export function. + - Only one file for application + - Is standart (The old html format used a zipped archive, not standart) + - the doc tree is less complex (see doc/help/fr or doc/help/en for the new tree). + + If a localized doc file is not found, the english version is automatically loaded instead. + No need to copy the same pdf file in subdirectory. + + +2008-June-06 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++all: + minor changes + added void SetLocaleTo_C_standard(void) and void SetLocaleTo_Default(void) + This is wrapper to the C setlocale( LC_NUMERIC, "C" ) + and setlocale( LC_NUMERIC, "" )function, + but could make more easier an optional use of locale in kicad in floating point notations + + +2008-May-30 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++pcbnew + removed GPC library due to its unacceptable (and stupid) license + using the powerfull kbool library insteed (see polygon/kbool) ++all: + minor changes + + +2008-May-22 UPDATE Martin Kajdas <kajdas@cox.com> +================================================================================ ++all + Moved all XPM files to <kicad>/bitmaps directory and fixed all related files ++PCBnew + Changed File/Export shortcut from 'x' to 'e' + + +2008-May-21 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++eeschema: + Solved: problem in manual part selection for multiple parts per package components + + +2008-May-17 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++all + Removed bitmaps.cpp. Made a static library target named "bitmaps" which + gets linked into any app needing bitmaps. Changed bitmaps.h to simply + include an alphabetized listing of the bitmap arrays. + We can now continue to migrate all remaining bitmaps into: + > the <base>/bitmaps directory + > the <base>/bitmaps/CMakeLists.txt file there + > the include/bitmaps.h file. + + +2008-May-16 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++eeschema: + Solved: bad update of toolbars (eeschema and libedit): + undo/redo buttons were not always updated after a change. + ++kicad + the project tree now (as earlier) reads subdirs list files when starting + kicad. This feature can be disabled (see treeprj_frame.cpp) + +2008-May-15 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++eeschema: + Solved netlist problems for multiple parts per package components + in complex hierarchies. + + + +2008-May-5 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++common.c + wrote wxString& operator << ( wxString&, const wxPoint& ) by moving code + from DRC_ITEM::ShowCoord() ++pcbnew + * embellished DRAWSEGMENT::MenuText() and DRAWSEGMENT::Display_Infos() + * wrote wxString BOARD_ITEM::ShowShape( Track_Shapes aShape ) + * wrote wxPoint DRAWSEGMENT::GetEnd() which calculates the end point of an arc + * wrote DRAWSEGMENT::GetLength() + * Added S_ARC support to the specctra_export.cpp for EDGES_PCB with DRAWSEGMENTS + of arcs. Arc and lines can be intermixed, its just that they must be + contiguous. The user can now use the improved DRAWSEGMENT::Display_Infos() to + find any bad or non-contiguous DRAWSEGMENTS, since that function now shows + the two endpoints of any segment. + + +2008-May-2 UPDATE Wayne Stambaugh <stambaughw@verizon.net> +================================================================================ ++cmake + * Use Subversion to automatically generate build date and revision level + when building with CMake. Header file build_version.h will still need + manual updates when using the hand written make files. + + +2008-May-4 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++pcbnew + * Added DRAWSEGMENT::GetStart(), GetEnd() and support S_ARC and S_SEGMENT + with it for now. + * Added arc support to pcb perimeter of the specctra export. + + +2008-May-2 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++pcbnew + * Added ZONE_CONTAINER::GetBoundingBox() and used it to clean up + ZONE_CONTAINER deletion. + * For end of edge dragging activity: used full DrawPanel->Refresh() + to clean up all XOR artifacts. + + +2008-May-1 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++pcbnew + * Fixed bugs in layer name handling within the BOARD + + +2008-Apr-30 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++eeschema: + made in some dialogs the ESC key working (linux version, already working under windows) + screen number and screen count now are set + + +2008-Apr-29 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++pcbnew + * Added WinEDA_PcbFrame::UpdateToolbarLayerInfo() by factoring it out of + ReCreateLayerBox(). + * Changed call in void WinEDA_PcbFrame::SetToolbars() from ReCreateLayerBox() + to UpdateToolbarLayerInfo(). + * Removed calls to SetToolbars() from: + > share/drawpanel.cpp's void WinEDA_DrawPanel::OnMouseEvent( wxMouseEvent& event ) + > void WinEDA_BasePcbFrame::GeneralControle( wxDC* DC, wxPoint Mouse ) + + +2008-Apr-28 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++pcbnew + * Layer names were not being set into the htoolbar listbox properly if the + BOARD was loaded via the command line as happens when kicad chain loads + pcbnew. Also, layer names were not being set if a second board was loaded + that had the same number of layers as the previous board. The solution was + to comment out the listbox rebuild test in WinEDAChoiceBox* + WinEDA_PcbFrame::ReCreateLayerBox( WinEDA_Toolbar* parent ) + * files.cpp: added Clear_Pcb( false ) to LoadOnePcbFile() and call it if + not appending. This way a user can get into the file selection dialog and + still abort (change his mind) without losing the current board. Removed calls to + Clear_Pcb() where LoadOnePcbFile() would now do that. + * edtxtmod.cpp: fixed the drawing relics when moving and rotating module texts. + + +2008-Apr-21 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++pcbnew + PS output: now shows oblong holes with the true shape. + + +2008-Apr-22 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++eeschema + * Spent a 1/2 day tracking down two linked list bugs in deleting a + DRAW_HIERARCHICAL_PIN_SHEET_STRUCT_TYPE. I cannot believe in the year + 2008 we should have to debug a linked list function. This is stuff I expected + to do 20 years ago, not today. The function + void WinEDA_SchematicFrame::DeleteSheetLabel( wxDC* DC, + Hierarchical_PIN_Sheet_Struct* SheetLabelToDel ) never worked as + far as I can tell. + Should switch to boost::ptr_vector ASAP everywhere, and leave linked lists in the 1980's. + * Hierarchical_PIN_Sheet_Struct::Hierarchical_PIN_Sheet_Struct() was not + setting the m_Parent. + + +2008-Apr-21 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++eeschema + * Added WinEDA_LibeditFrame::GeneralControle( wxDC* DC, wxPoint Mouse ); + * Added WinEDA_ViewlibFrame::GeneralControle( wxDC* DC, wxPoint Mouse ); + Needed: Move redundant code to WinEDA_DrawFrame::GeneralControle + + ** Current sheet only Annotation and clear annotation now works for complex hierarchies + + +2008-Apr-17 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++all + * Made a little more sense out of the GetScreen() problem by making it + non-virtual, and having the two types of frame classes (eeschema's and pcbnew's) + each return their respective types of screens {SCH,PCB}_SCREEN*. + * Added GetBaseScreen() as the virtual function which always returns BASE_SCREEN*. + * Made WinEDA_DrawFrame::GeneralControle( wxDC* DC, wxPoint Mouse ){ dummy } + * Added WinEDA_SchematicFrame::GeneralControle( wxDC* DC, wxPoint Mouse ); + * Moved to void <class>::Place( WinEDA_SchematicFrame* frame, wxDC* DC ) from + void <class>::Place( WinEDA_DrawFrame* frame, wxDC* DC ) so that these + functions can use the new SCH_SCREEN* WinEDA_SchematicFrame::GetScreen() + function (the non-virtual one that returns SCH_SCREEN* not BASE_SCREEN*). + * Made some menus conformant to UIpolicies.txt regarding uppercase. + * Beautified 5-10 files. + + +2008-Apr-17 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++eeschema + very small bug in display component info removed ++pcbnew ++cvpcb + removed bug: forgotten paths when adding lib files when not in the default lib path + (same problem as in eeschema, solved in 2008-Apr-09 Update) + + +2008-Apr-16 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++eeschema + In complex hierarchies, multiples parts per packages now should work, + without restrictions + Update and use annotate_dialog.pjd to create annotate dialog + + +2008-Apr-15 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++eeschema + More code cleaning and Files cleaning and reorganization. + change DrawSheetLabelStruct class name to a better name: Hierarchical_PIN_Sheet_Struct + For simple Hierarchies, files are now compatables with old eescheam versions + In complex hierarchies, multiples parts per packages have still problems, + but i hope to solve that soon + (in fact all the last changes were made for that) + + +2008-Apr-14 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++eeschema + code cleaning. SCH_ITEM class used for all schematic items in eeschema. + Files reorganization. + + +2008-Apr-09 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++eeschema + code cleaning. + + +2008-Apr-09 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++eeschema + removed bug: forgotten paths when adding lib files when not in the default lib path + Also: adding SCH_COMPONENT.m_PartPerPackageSelections to handle multiple parts per package selection + in a complex hierarchy, but yet, no other code to do that. + + +2008-Mar-30 UPDATE Jonas Diemer <diemer-at-gmx.de> +================================================================================ ++eeschema ++pcbnew + Display a warning on a file format version mismatch. + +2008-Mar-31 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++all + Tweaked class MsgPanel so that the screen drawing only happens from + its OnPaint() function. ++pcbnew + Added virtual BOARD_ITEM::Draw() and forced all BOARD_ITEM derived classes + to implement it so that all these functions are also virtual. + Made the offset argument default to the new wxPoint BOARD_ITEM::ZeroOffset. + Coded DRAWSEGMENT::Draw() from Trace_DrawSegmentPcb() and removed the latter. + Coded EQUIPOT::Draw(), and BOARD::Draw(). Both are dummies for now, but + both can be reasonably implemented in the future. + + +2008-Mar-30 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++eeschema + Solved: eeschema crashes when create a new sheet, using the default filename and enter it. + Solved: eeschema crashes when delete a sheet label (pin sheet), undo this and move the label. + (bad value (not updated) for the DrawSheetLabelStruct.m_Parent member after redo command in sheet edit). + ++all: + Added comments in gestfich.cpp to explain the default paths used by kicad to find help files and lib files + + +2008-Mar-30 UPDATE Jonas Diemer <diemer-at-gmx.de> +================================================================================ ++eeschema + Removed artifacts resulting from redraws in XOR-Mode. + +2008-Mar-24 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++pcbnew + Ensure graphic and footprint texts have a sufficient size to be seen on screen. + (bug 1909165, due to text on edge layer with a 0 value for X size) + +2008-Mar-22 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++pcbnew + Netlist dialog redesigned, netlist.cpp code modified + and added an option to remove not locked footprints + when not found in netlist + + +2008-Mar-21 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++pcbnew + pcbplot.cpp now saves the selected layers as wxConfig options, + i.e. retentitively. The ESC key now works in that dialog. + Make upper/lower case conformat to UIpolicies.txt + Put buttons at bottom, "Close" as bottom button. + + +2008-Mar-21 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++eeschema + Removed an very old bug in onrightclick.cpp which crashes eeschema when + right clicking in a field inside a component. + Old code should never works, but ... + + +2008-Mar-20 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++pcbnew + refined the dialog_freeroute_exchange + If possible (i.e. if freeroute.jnlp is found in kicad binary directory) javaws is called insteed of the default browser) + So @todo removed + +2008-Mar-19 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++eeschema + Renamed some classes and their corresponding KICAD_T types so they are both + simpler, shorter and more closely match each other: the type and the classname. + Wedged a class SCH_ITEM underneath most eeschema drawable items, and this + class came from DrawPartStruct which was largely disfunctional. Eeschema + now more closely matches what we have in pcbnew with the BOARD_ITEM base class. + The corresponding class in eeschema is now SCH_ITEM. Put in some of Jonas' + patch for the dragging of a block. Needs testing, especially dragging + text since there is no GetBoundingBox() for that yet. As an interrim solution + we could make SCH_ITEM::GetBoundingBox() return a HUGE rectangle so that any class + not implementing GetBoundingBox() in eeschema will get properly re-drawn, + in theory. + + We are currently using XORing for dragging a single object and using full + redraws for dragging a block. I suppose this can be an experiment for a + week or so. I would not expect that dragging a block of labels with no + other object to work currently (i.e. *visually* correctly). + + +2008-Mar-19 UPDATE Igor Plyatov <plyatov@mail.ru> +================================================================================ + * Support for Gnome/KDE menu added. + * install.txt rewritten and must be used as main source of information for + KiCad installation. + * how-to-build-kicad.txt deprecated. + * how-to-build-for-windows.txt deprecated. + + +2008-Mar-18 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++pcbnew + refined the dialog_freeroute_exchange.pjd file, adding tooltips, wording + changes, wxID_CANCEL so ESC key closes, and added this comment also: + // @todo: + // 1) add freeroute.jnlp to the Kicad project + // 2) change this next C++ line simply run $ "javaws freeroute.jnlp" as a system + // command, bypassing the browser altogether. Merely need a PATH to javaws. + + +2008-Mar-18 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++pcbnew + MODULE::GetBoundingBox() takes in account the clearence around the pads + (the clearence limit shape around pads (when shown) was not always erased ) + + +2008-Mar-17 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++pcbnew + * Fixed a crashing bug which occured when you run the module editor, select + "Update module in current board" and then run the DRC checker after that. + * Changed to void CreateSortedPadListByXCoord( BOARD* aBoard, std::vector<D_PAD*>* aVector ) + So caller can safely forget to delete the array of pad pointers and the vector's + destructor handles this automatically. + * Delete pad from within PCBNEW, not module editor, now uses PostDirtyRect() + + +2008-Mar-14 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++eeschema + * cleaned up some xor artifacts, see eeschema/getpart.cpp's comment: + // switch from normal mode to xor mode for the duration of the move, first + // by erasing fully any "normal drawing mode" primitives with the PostDirtyRect(), + // then by drawing the first time in xor mode so that subsequent xor + // drawing will fully erase this first copy and then the previous copy. + * redraw the entire screen at end of a component move. + * added many calls to Refresh() to eeschema/onleftclick.cpp and in such cases + I now pass a NULL DC to TestDanglingEnds() + + +2008-Mar-14 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ + some code cleaning and comment translations. + added: + /** EDA_Rect::Merge( EDA_Rect & aRect ) + * Modify Position and Size of this in order to contain the given rect + * mainly used to calculate bounding boxes + * @param aRect = given rect to merge with this + */ + + +2008-Mar-14 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++pcbnew + Added a tool to the upper toolbar which gives and easy access to freeroute + Solved a bug in plot postscript format when drawing oblong pads: + Bad oblong pad size after drawing a round pad + + +2008-Mar-13 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++pcbnew + Dirty rect used in footprint rotation, flip and delete. + Better calculation of the footprint dirty rect. + + +2008-Mar-13 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++all + Added bool EDA_Rect::Intersects(). ++eeschema + Added provisionary calls to eeschema/eeredraw.cpp for + if( panel->m_ClipBox.Intersects( item->GetBoundingBox() ) ) + + +2008-Mar-11 UPDATE Per Uddén <p.udden@telia.com> +================================================================================ ++3d-viewer + * Fix TODO: Add S_ARC and S_CIRCLE shape render to board edge and module edge. + Ex. Now is a board with arcs at corners showing correctly. + + +2008-Mar-10 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++pcbnew + * Improved some comments on new functions dirty area functions + * Changed + void ConvertPcbUnitsToPixelsUnits( EDA_Rect& aRect ); to + void ConvertPcbUnitsToPixelsUnits( EDA_Rect* aRect ); + which I prefer because it is clearer to the human reader of the calling + context that the passed argument is to be modified. References as function + arguments are fine, but if they are to be modified, passing by pointer + gives human reader a clearer picture when looking at the calling context. + * TRACK::GetBoundingBox() now (1) rounds up the radius, and (2) returns a bounding + box which is [pos,dim) in nature, [inclusive, exclusive). + * Changed from "new wxDCClip()" to use an automatic wxDCClip() variable in + drawpanel.cpp + * Removed a printf() from "release" build of drawpanel.cpp + * Added WinEDA_DrawPanel::PostDirtyRect() + * Renamed Supprime_Une_Piste() to Remove_One_Track() and it now uses + PostDirtyRect(). + * void WinEDA_PcbFrame::Delete_net( wxDC* DC, TRACK* Track ) now redraws + the screen after a net deletion. + * eeschema/dialog_find.cpp: set the initial keyboard focus to the text control + + +2008-Mar-10 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++pcbnew + Pcbnew can import footprints in gpcb format in Nelib format only + Pcbnew automatically recognizes pcbnew or gpcb format when importing a footprint. + Due to differences between pcbnew and gpcb, + only gpcb newlib files containing only one footprint (one element) are useables. + Dirty rectangle calculation debugged. + WinEDA_DrawPanel::ConvertPcbUnitsToPixelsUnits( EDA_Rect& aRect ) can be used to convert a bouding box to a clip box + (see example in deltrack.cpp) ++eeschema: + restored: missing lines in schedit.cpp (problems in a lot of commands) + + +2008-Mar-06 UPDATE Igor Plyatov <plyatov@mail.ru> +================================================================================ ++help + Eliminated bug "help files not found!". + + +2008-Mar-5 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++pcbnew + Solved problem in fill zone calculations when using buried or blind vias (like micro vias) + + +2008-Feb-18 UPDATE Igor Plyatov <plyatov@mail.ru> +================================================================================ ++common + Path for the help files changed to doc/help. ++help + help moved to the doc/help. ++doc + Separated from KiCad source code to the trunk/kicad-doc. ++library ++modules + Separated from KiCad source code to the trunk/kicad-library. + + +2008-Mar-3 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++pcbnew + * Completed transision to BOARD::GetLayerName() and away from ReturnPcbLayerName(). + LayerNames and LAYER_T are saved in the *.brd file and may be edited + there with a text editor until the UI is in place to edit them in PCBNEW. + To understand the strategy, see BOARD::GetLayerName() in class_board.cpp + and see WinEDA_BasePcbFrame::ReadSetup(). I will be adding "Board" menu + item to Preferences, but there is more to come before the UI gets done: + net classes. + * Clear_Pcb() now deletes the existing BOARD() and new's a new BOARD() so that + the default BOARD::m_Layer[] values can be set in the new BOARD's constructor. + + +2008-mars-03 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ +3d display: + Added Jonas Diemer's patch (enhanced movings from mouse and tools) + + +2008-Mar-1 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++pcbnew + Changed ioascii.cpp to save and load board specific layer names, for DEBUG + build only. I want to add class LAYER, see below. Added + BOARD::SetLayerName(), BOARD::SetLayerType(), and BOARD::GetLayerType(). + Will add a UI for editing those soon as soon class LAYER is stable. The + BOARD::SetLayerXXXX( int layerNdx, VALUE ) functions would simply route to + LAYER::SetXXXX( VALUE ). Then layer specific global variables would migrate + to the BOARD::LAYER[]s. + + Jean-Pierre please have a look at pcbstruct.h's class LAYER which is just a + prototype for now. EDA_BoardDesignSettings::m_LayerColor would go away, + and then I would add LAYER[] to EDA_BoardDesignSettings or BOARD. + Whether EDA_BoardDesignSettings or BOARD I don't have a strong preference. + I understand this is a bunch of work, and there are tricks needed to handle + adding and deleting the number of layers.... + + +2008-Feb-29 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++pcbnew + controle.cpp: fixed the magnetic track if tracks are parallel. + + +2008-Feb-29 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++eeschema + Renaming the sheet filename now works in simple and complex hierarchies. + Use carefully because this can change the whole schematic structure. + Gen Bom List now works in unicode build version + (label list generation crashed eeschema in unicode build version) ++all + Display filename and full sheet name ("sheet path") in sheet reference + the full sheet name has no meanning in pcbnew. + + +2008-Feb-28 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++eeschema + Fixed: problem which could crash eeschema when a sub schematic file in a hierarchy was not found. + + +2008-Feb-27 UPDATE Wayne Stambaugh <stambaughw{at}verizon{dot}net> +================================================================================ ++ eeschema + * fixed escape key handling and add accelerate keys in annotate dialog. + * factored out eeschema frame class to prevent rebuild of entire project + when making changes to eeschema frames. + * refactor main eeschema event loop by factoring out most of the non-drawing + events. ++ cmake + * small fix to root CMakeList file to prevent GCC flags being used with + other compilers. + + +2008-Feb-26 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++eeschema + changed in class DrawSheetStruct m_s member name to m_AssociatedScreen + some others minor problems solved. + some files "uncrustified" + Major problem in undo/redo when a sheet is deleted not yet solved + Only for a complex hierarchy, could lost data. + When a sheet is deleted by block delete. it is put in undo list. + It is really deleted after 10 changes (when the undo list is full). + At this time, the associated data is also deleted. + If an other (not deleted) sheet shares the same data, this data is lost. + Need work to solve this problem and keep the undo/redo feature. + + +2008-Feb-25 UPDATE Wayne Stambaugh <stambaughw{at}verizon{dot}net> +================================================================================ ++eeschema + * converted annotate_dialog layout to Gnome HIG per UIPolicy.txt factor + out dialog code from annotate.cpp. + * refactor and uncrustify schframe.cpp and schedit.cpp + * modify eeschema CMakeList.txt to reflect code changes. + + +2008-Feb-22 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++pcbnew + * specctra_export.cpp: added DSN 'outline' support from EDGE_MODULEs. + lines and circles, not arcs. + * factored out EDGE_MODULE::ShowShape() from EDGE_MODULE::Show(). + * drc.cpp changed AsSecondItem to HasSecondItem and test it in generating + the file report and when making the popup menu in the dialog_drc and + when generating the html list item. + + +2008-Feb-21 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++eeschema + added : full text conversion between text, label, global label and hierarchical label + some problems fixed: + - annotation incorrectly cleared. + - reference not copied in component copy. + - incorrect redo when changing the chip name in component edition + + bugs not fixed: + - incorrect annotation in complex hierarchy with multi parts per package (duplicates created). + + +2008-Feb-20 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++eeschema + Fixed bug in getpart.cpp: + eeschema crashed when aborting a new component place command + Global Symbols now have their shapes + Bad global label shape fixed when reading a schematic file + + +2008-Feb-20 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++pcbnew + specctra_export.cpp fixed the offset problem with freerouter.net. + http://tech.groups.yahoo.com/group/kicad-devel/message/1076 + + +2008-Feb-19 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++pcbnew + Add ZONE_CONTAINER support to the ID_PCB_HIGHLIGHT_BUTT tool and + WinEDA_PcbFrame::DrawHightLight(). Added TYPEZONE_CONTAINER to + GENERAL_COLLECTOR::AllButZones[] so that containers are editable even + when the "Show Zones" toggle is off. This came from using the software + and realizing that if something is visible (zone containers remain visible + even when Show Zones is off) then it should be selectable. Otherwise it is + confusing and frustrating. + + +2008-Feb-18 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++pcbnew + * Start to use BOARD::GetLayerName() in anticipation of configurable layer + names per board. + * Comment out a printf() which will lock up pcbnew when + it is run under kicad project manager and the interprocess fifo gets filled. + * Cross probe was not showing the not found message properly. wxString was + being used for two purposes, input and Printf() destination. ++gerbview + Now loads all gerber files given on the command line, not just one. The + first file is loaded into layer 1 (index 0), the second one is loaded + into layer 2 (index 1) etc. + + +2008-Feb-18 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++eeschema + Fixed bug in gen bill of material (dialog_build_BOM.cpp): + eeschema crashed when created a B.O.M. (i think: unicode version only) + + +2008-Feb-18 UPDATE Igor Plyatov <plyatov@mail.ru> +================================================================================ ++eeschema + Added menu View with all possible elements from the top toolbar. + Find item added in to the Edit menu. ++all + Translated part of IDs to english. + + +2008-Feb-15 UPDATE Igor Plyatov <plyatov@mail.ru> +================================================================================ ++eeschema + Added item "Delete" in "Edit" menu. + Added menu "Place" with all possible elements from the right toolbar. + + +2008-Feb-13 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++pcbnew + specctra export: now generate unique pin names from module padnames in the + case where there are non-unique pad names within a module. Tested with + Electra demo, and *.dsn files load OK in there as well as in freerouter. + Stopped using reserved layer name "signal" and instead output a full + padstack consisting of all pertinent layers for via, pads, and keepouts. + + +2008-Feb-12 UPDATE Tim Hanson sideskate@gmail.com +================================================================================ ++eeschema + * commiting my changes to allow multiple instances of a given schematic file within a hierarchy: + ** internally, m_currentScreen has been replaced with m_currentSheet, + which is a list or 'path' of screens. The path of screens is used to generate + a series of timestamps, which is converted to flat component reference via a look-up + table in the schematic files. + ** this means that m_currentScreen is no longer used -- use GetScreen(). + ** GetScreen is virtual, as some of the dialogs keep around a WinEDA_BaseScreen pointer. + ** all sub-sheets in a given schematic must have different names to generate a meaningful netlist. + + +2008-Feb-12 UPDATE Igor Plyatov <plyatov@mail.ru> +================================================================================ ++eeschema + Added item "New" in "File" menu ++all + Russian translation update. + + +2008-Feb-11 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++pcbnew + * Added case TYPETRACK, TYPEVIA, and TYPEMODULE support to Board::Add() so + that we can over time hide more of the storage architecture of a BOARD and + isolate those dependencies in fewer places. + * Fixed some pad orientation issues in specctra_export. + * Added VIA_MICROVIA & VIA_BLIND_BURIED support to SPECCTRA::makeVIA(). + * Commented out the specctra design import menu choice for now, don't have + time or need for this import. + * Specctra export adds 1/2 mil to clearance rules for freerouter so that + the routed board clears our DRC checker OK. + * Session import seems done now. + + +2008-Feb-7 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++pcbnew + added "const" to SEGVIA::GetDrillValue() const; + added GetDrillValue() to DRC instead of accessing SEGVIA::m_Drill directly. + changed specctra_export so it aborts if all reference designators are not + unique. Unless they are unique we cannot import the routed session. A + good example is the xylinx board which now fails to export. + first rough work on SEGVIA::makeVIA() but needs much more work. Simple + session files with vias at least import. Now encode drill diameter in + padstack name for later session import. + updated todo.txt file. + + +2008-Feb-7 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++pcbnew + specctra import of *.ses, did tracks and components. + renamed copy_track.cpp to copy_track.cpp.notused + removed copy_track.cpp from pcbnew/CMakeLists.txt + added setlocale() around import and export for float text style. + + +2008-Feb-6 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++pcbnew + started specctra imports of *.ses and *.dsn, by adding menus to File | Import. + + +2008-Feb-4 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++pcbnew + specctra_export.cpp now supports blind/buried/microvias. Fixed how modules + are displayed on back of board. Added a circle keepout for each copper-less + through hole. + + +2008-Feb-3 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++pcbnew + * specctra_export.cpp was not exporting the nets correctly, now fixed. + * Had a problem with an isolated pad modification on a single module instance + in the context of several unmodified instances of same module, now fixed. + * Fixed oval pads to make freerouting.net happy. + See: http://www.freerouting.net/usren/viewtopic.php?f=3&t=317#p408 + Done with specctra export for now, will think about adding controls (by dialog) + on the export later. + * Beautification of a few modules. + + +2008-Jan-31 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++pcbnew: + remove the old EDGEZONE class. + A ZONE_CONTAINER class is used instead to handle the creation of a new zone outline + + +2008-Jan-29 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++pcbnew: + SPECCTRA export does most items now, except existing tracks. Soon will + need testing. + + +2008-Jan-28 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++pcbnew: + - Better criteria to find starting poind in zone filling: the filling alg. uses + pads, vias and track ends to find where start the filling. + - Added a tool + option in popup menu in track mode (select track width): + when creating a track, if activated: if we starts on an existing track, + the new track takes the width of the existing track + + +2008-Jan-27 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++all: + I got a patch from Mr. Wayne Stambaugh which makes it possible to compile + infospgm.cpp once and link the same *.o file multiple times. + Jean-Pierre, if you not yet using CMake, you should edit your make.include + so that infospgm.cpp is only compiled once for everything, not once per + program. Wayne is a competent developer who contacted me about contributing. + I consider him a welcome addition to the developers, Dick. + + +2008-Jan-25 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++pcbnew: + * SPECCTRA export does padstacks ok, except that oval pad's arcs need to be split + into quarter circle arcs, and no consideration is given to "layer types". + See page bottom of page 74 of the SECCTRA Design Language Reference, May 2000. + * HISTORY_NUMBER was spelt with a zero. + * Width was spelt as Widht + + +2008-Jan-25 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++pcbnew: + - void Change_Side_Module( MODULE* Module, wxDC* DC ) is now member of class BOARD. + + - Better support for micro vias and buried vias (drill files now are useable for board manufacturers) + But not yet tested by a board manufacturer. Be carefull. + Todo: tools to conversion between via through and buried via and buried viad optimisation. + But must works for micro vias (needed for my next board) + (in pcbnew micro vias are blind vias between 2 adjacent layers: micro vias must be enabled + in Dimensions/track and via menu, and placed by ctrl v. + They are intended to connect small pitch BGA pins to the inner layer, and can be drilled by laser + if the hole diameter is small < 0.2mm. A laser can only drill a hole between 2 adjacent layers ). + + ** Currently use buried via for tests only, not for production **. + + +2008-Jan-24 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++pcbnew: + * Export a specctra *.dsn file includes some padstacks, not ovals yet. + * Many many refinements to specctra.cpp and specctra.h. + * added COLLECTOR::BasePtr(), which is used in qsort. Could have used + * std::sort() instead. + * Wrote D_PAD::Compare() + * updated todo.txt + + +2008-Jan-24 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++pcbnew: + Bugs about fill zones removed (not all, of course). + Fixed an old bug in block delete (could crashes pcbnew after deleting footprints). + +2008-Jan-23 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++pcbnew: + * Export a *.dsn file includes ZONE_CONTAINERs, was actually able to load + a board with zones into the freerouter.net package! No components, traces yet, + just zones and layers. Fixed parsers and Format()ers. + * Rewrote SPECCTRA_DB::readTIME() to dodge a missing strptime() on windows. + + +2008-Jan-23 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++pcbnew: + Plot option in GERBER format Plot (Exclude Edge Pcb layer) modification: + - the default is OFF (like odl pcbnew versions) + - this setup is now save in config (is persistant) + + In Zone creation, now delete last created corner works. + +2008-Jan-22 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++pcbnew: + * Actually able now to export a *.dsn file, but the contents of the file + is incomplete, not a complete input BOARD. + * Added DRAWSEGMENT::Show() for debugging. + * Changed specctra.h's POINT to use double for coordinates. Changed format + string for Format()ing a double. + * Changed specctra_export.cpp to actually output an incomplete file. + * Added BOARD::GetCopperLayerCount() and BOARD::GetLayerName(). + + +2008-Jan-21 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++pcbnew: + Added specctra_export.cpp, specctra.cpp, specctra.h, dsn.cpp, and dsn.h to + pcbnew's link requirements. Updated CMakeLists.txt to reflect this. This + increased pcbnew's size by 175kb so far. Started the actual export (i.e. + BOARD to DSN::PCB copying logic) which is going into specctra_export.cpp's + void WinEDA_PcbFrame::ExportToSPECCTRA( wxCommandEvent& event ) so that the + huge header file, specctra.h need only be included in one or two *.cpp + files. The specctra export menu support was added to id.h, wxPcbStruct.h, + menubarpcb.cpp, and pcbframe.cpp. After dsn export, I intend to add an + import, and a session file feedback merge. See the revised + how-to-build-kicad.txt for the new boost c++ libraries requirement. + + +2008-Jan-21 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++eeschema: + labels and texts display changed when rotated 180 degres: + horizontal text are now right justified insteed of 180 degree rotated, and are readable. + ++pcbnew: + bug 1874663 solved (edit a pad netname does not work very well) + +2008-Jan-20 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++pcbnew: + On line DRC when creating a zone outline. + Needs more work to display errors DRC. + + +2008-Jan-18 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++all: + filtering small mouse moves ( < 5 pixels) when clicking. + Starting a wire or a track is now more easily because these small moves do not start a block commnad. + ++pcbnew: + rework of drill filles creation (excellon and reports) + needed to have a clean implantation of buried vias and mainly microvia + which involve a more complex drill files generation + This is better to continue work on zones because : + hight density boards = use of BGA = microvias + good zones handling + When a board has buried or blind vias (microvia are blind vias), + pcbnew creates a drill file per layer pair. for a 4 layer board: + drill file for layer1 to layer 2 + drill file for layer2 to layer 3 + drill file for layer3 to layer 4 + + +2008-Jan-18 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ + how-to-build-kicad.txt: added the Boost C++ Libraries installation info + and requirement. + + +2008-Jan-16 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++pcbnew: + Move Zone outlines added + Zone outline DRC works (needs improvements) + some bugs solved, but polyline.cpp still needs work. + gendrill: code cleaning. + +2008-Jan-14 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++pcbnew: + code cleaning: + DRAWSEGMENT class functions moved in the new files class_drawsegment.cpp et .h + + +2008-Jan-12 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++eeschema: + missing footprints in export netlist (bug 1867321) + Affected: PadsPcb converter did not list all footprints + ++pcbnew: + fixed: memory not freeed in block copy (minor bug) + Support for micro vias (generation of drill files not finished) + +2008-jan-06 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++pcbnew: + Block commands now works with zones. + Some code cleanning. + + +2008-Jan-5 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ ++pcbnew: + * Added pad_shapes.h and blended it into class_pad.h and PolyLine2Kicad.h. + Renamed the pad shapes in there to avoid namespace conflicts. + RECT became PAD_RECT, CIRCLE became PAD_CIRCLE, etc. + * common.cpp's ReturnPcbLayerName( int layer_number, bool omitSpacePadding ) + has commented out code that I tested as part of a possible new scheme to support + custom layer names per project. + * More specctra dsn import export work. + + +2008-jan-05 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++pcbnew: + Added: Delete cutout outline in zone popup menu + the GUI about zones is now working. + Some work is needed ( a zone in a zone of the same net is not merged ) + Currently No DRC for outlines + + +2008-jan-04 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++pcbnew: + More about zones: + Outlines can be edited. Outlines are merged if needeed. + Currently No DRC for outlines + + +2008-jan-01 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ ++all + wxstruct modified and wxPcbStuct.h added: + classes relatives to pcbnew, cvpcb and gerbview are moved in wxPcbStuct.h + diff --git a/Documentation/changelogs/CHANGELOG-2009.txt b/Documentation/changelogs/CHANGELOG-2009.txt new file mode 100644 index 0000000..fbdae4f --- /dev/null +++ b/Documentation/changelogs/CHANGELOG-2009.txt @@ -0,0 +1,1013 @@ +KiCad ChangeLog 2009 +==================== + + +2009-Dec-30 UPDATE Jean-Pierre Charras <jean-pierre.charras@gipsa-lab.inpg.fr> +================================================================================ +++pcbnew + Added option to use some usual Gerber files extension, depending on the layer + Do not allow in plot menu to output files for non enabled layers. +++Kicad and Gerbview + Display Gerber files that use usual files extension (in tree project or dialog files) + (See http://en.wikipedia.org/wiki/Gerber_File) + +2009-Dec-20 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ +++pcbnew + Renamed dialog_layers_setup* files. + Got rid of the header file since there was only one file including it. + Auto-position the column titles based on flexgridsizer column widths. + Added m_TitlePanel with contrasting background color (whose color value may not + be ideal for all platforms). + + +2009-Dec-11 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ +++pcbnew + Finished the Layer Setup Dialog. I assumed that the new layer order will + be in place soon. It works fine now, but the layer order is probably + misleading, since it does not reflect the current stackup but rather the + future stackup. I dropped support for a single layer board. The minimum + is two copper layers. Avoid the side you don't want anything on. + + Within a month I should have the layer visibility and selection widget + in place. + + +2009-Dec-10 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ +++all + * Factored out the DSNLEXER class so it can be re-used more generally. The + constructor takes a keyword table, so it can be used for arbitrary DSN + syntax files of your own chosing. Simply create an enum {} with all your + unique tokens in it. Then create a KEYWORD table. See SPECCTRA_DB::keywords[]. + The reason you want an enum is to give the C++ debugger better type information + so it can show symbolic integer symbols. + * Factored out common richio.cpp and richio.h + which is what DSNLEXER uses. + * Fixed some minor issues with reading circuit descriptor from a *.dsn file. + + +2009-Dec-6 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ +++pcbnew & gerbview + * Moved ReturnLayerName() to static BOARD::GetDefaultLayerName() and migrated + to a Specctra DSN compatible default layer naming scheme: + Component becomes Front, Copper becomes Back. + * set_color.h: Cmp becomes Front, Cu becomes Back. + * D_PAD::DisplayInfo() changed to use actual copper layer names. + * more layer setup dialog work, moved all programmatic wxControl instantiation + into the wxFormbuilder environment, but this is fraught with danger: + wxFlexGridSizer used the tallest control to establish the row heights, so + be careful about changing control borders in the scroll panel. The vertical + size can explode since just a couple of pixels times the number of rows + is substantial. Currently I am setting a 5 pixel border only left, top, and right + but not bottom. + * Set copper layer count is back in place as a hack until I can get the enabled + layer bit map fully operational. + + +2009-Dec-3 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ +++pcbnew + Make the source file to the specctra freerouter help panel be html, not *.h + This makes it easier to preview the page in a browser. Then autogenerate + the *.h file from the html using a CMake script. + +2009-Dec-2 UPDATE Wayne Stambaugh <stambaughw@verizon.net> +================================================================================ +Compiler warning, object name, bug, and string fixes. +* Fixed EESchema options dialog focus bug so escape key now works in GTK. +* Rename schematic objects for improved readability. +* Fixed GCC compiler warnings in plot code. +* Added paragraph in UIpolicies.txt about setting dialog box sizes. +* Lots of message box string clean up. + +2009-Nov-05 UPDATE Jean-Pierre Charras <jean-pierre.charras@gipsa-lab.inpg.fr> +================================================================================ +++pcbnew + control of masks clearance: Pad Editor Dialog rewritten to handle mask clearances + and a locad Net clearance + +2009-Nov-5 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ +++all + CMakeLists.txt support for AUI. + + +2009-Nov-04 UPDATE Jean-Pierre Charras <jean-pierre.charras@gipsa-lab.inpg.fr> +================================================================================ +++pcbnew + Added: control of masks clearance + - Solder mask clearance can be now defined at footprint and pad level + - Solder paste clearance can be now defined as a global value + and also at footprint and pad level. + The clearance is defined by a constant value and a value proportional to the pad size. + The final value is the sum of the 2 partial values + Note: this is a work in progress: + currently, the pad dialog is not finished and does not + have an option to enter the mask values + Planned: + option to define a net clearance at pad level and footprint level, + as an alternate value to the Netclasses values. + this option could be useful to create fiducials, and for very small footprints. + + +2009-Nov-1 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ +++pcbnew + * Added exporting of netclass vias to specctra_export. + * DIALOG_DESIGN_RULES now remembers its last selected TAB and screen position and + window size, and its grid columns are automatically expanded to fit the + column titles. Remembering screen position and size allows someone with + multiple monitors to have a given window always come up on the monitor last chosen + for it. + + +2009-oct-30 UPDATE Wayne Stambaugh <stambaughw@verizon.net> +================================================================================ +Replace library editor pin properties dialog box and minor update. +* Replaced library pin properties dialog with wxFormBuilder version. +* Remove DialogBlocks version of pin properties dialog. +* Add pin properties dialog support code to pin object. +* Create single event handler for displaying pin properties dialog. +* Remove left over DialogBlocks project file for annotate dialog. +* Fixed escape key bug in library editor new component dialog. +* Add GetUnitsLabel() to get human readable units for dialog labels. +* Translate French comments in all modified files. +* Some minor clean up of Doxygen comments. + +2009-oct-30 UPDATE Jean-Pierre Charras <jean-pierre.charras@gipsa-lab.inpg.fr> +================================================================================ +++pcbnew + Rewrite the GUI relative to the tracks widths and vias diameters and drills selection + and edition, for compatibility with new netclass approach. + Now vias dimensions are defined by their diameter and drill values + (This is also a simpler an better way than the old one that considers + via diameters and drill values as independant parmeters) + When set a via to a "custom" value, the diameter and the drill values are set. + (of course one can use the drill defualt value of the netclass) + So the via hole edit options (in popup menu) does not exist no more. + The global tracks widths and vias diameters and drills changes are now + accessible by a specific dialog frame. + + +2009-oct-27 UPDATE Jerry Jacobs <xor.gate.engineering@gmail.com> +================================================================================ +++common + Doxygen output directory changed to Documentation/doxygen + Cleanup of HOTKEY IDs + Creation and cleanup of hotkey submenu + +++misc + Moved pcbcfg.cpp to pcbnew_config.cpp + Moved eeconfig.ccp to eeschema_config.cpp + Fixed typos + +2009-oct-23 UPDATE Jean-Pierre Charras <jean-pierre.charras@gipsa-lab.inpg.fr> +================================================================================ +++pcbnew + Rework on print function: fixed the fully broken print function in Modedit + and better code. + Removed the display vias option tool in Modedit and Gerbview left toolbar, + because this option has no sense here. + +2009-oct-21 UPDATE Jean-Pierre Charras <jean-pierre.charras@gipsa-lab.inpg.fr> +================================================================================ +++pcbnew + * Work on Net Classes: tracks and vias sizes, vias drill + come from netclass netclasses values. Global values removed. + * Added for DRC drill vias and microvias min drill value + +2009-oct-20 UPDATE Wayne Stambaugh <stambaughw@verizon.net> +================================================================================ +Replace component library editor draw item dialog box. +* Created new component library editor draw item dialog box with + wxFormBuilder. +* Removed previous DialogBlocks version of the draw item dialog box. +* Removed some additional global variables used in component library + editor. +* Add IsFillable() method to draw item base object. + +wxWidgets 2.9 string fixes and other minor updates. +* Replace all known instances of (const wxChar*) casts to GetChars() for + wxWidgets 2.9 compatibility. +* Cleaned up get component dialog so last part gets saved on wild card + selections. +* Remove redundant schematic component drawing code. +* Added SCH_COMPONENT constructor to create new component from library + component object. +* Add message panel helpers to WinEDA_DrawFrame and update old message + panel access code. +* Using library viewer to add component to schematic now respects unit + and body style selection. + +2009-oct-14 UPDATE Wayne Stambaugh <stambaughw@verizon.net> +================================================================================ +Fix save last grid size and other minor updates. +* Create single event handler for grid size events. +* Fix all frame windows to use new grid size event handler. +* Use offset relative to ID instead of ComboBox index to save last grid size. +* Move last grid size load/save setting into WinEDA_DrawFrame. +* Add equality and assignment operators the GRID_TYPE. +* Add current grid helper methods to BASE_SCREEN. +* Add GetPins helper to LIB_COMPONENT to replace GetNextPin where applicable. +* Add AppendMsgPanel helper to WinEDA_DrawFrame. +* Improve rounding for display of coordinates when millimeter units are selected. + +2009-oct-01 UPDATE Wayne Stambaugh <stambaughw@verizon.net> +================================================================================ +* Component library viewer restores state between uses. +* Fixed automatic zoom calculations in library viewer. +* Make library entry list dialog restore previous selection. +* Fix bounding box calculation for vertical field and text draw objects. +* Changed library draw object comparison to test for greater and less than. +* Initial preparation for merging separate library component draw item lists. + + +2009-sept-29 UPDATE Wayne Stambaugh <stambaughw@verizon.net> +================================================================================ +* Eliminate external direct manipulation of component draw item pointer. +* Add draw item remove, add, and locate methods to library component object. +* Remove redundant locate pin, field, and draw item code. +* Fix add new pin drawing bug that left initial pin draw in place. +* Improved best zoom calculations for small components. +* Library component bounding box calculation now includes fields. +* Removed unnecessary header file "libcmp.h". +* Fixed potential locate draw item bug in library editor hot key handler. + +2009-sept-27 UPDATE Jean-Pierre Charras <jean-pierre.charras@gipsa-lab.inpg.fr> +================================================================================ +++pcbnew + * make pcbnew compatible with last changes + (Delete base screen in WinEDA_DrawFrame destructor to prevent potential memory leak.) + * Starting complementary work on Net Classes (moving target) + +2009-sept-25 UPDATE Wayne Stambaugh <stambaughw@verizon.net> +================================================================================ +Component library editor improvements and minor bug fixes. +* Component library objects renamed for improved readability. +* Fields now move when selected in library editor. +* Add copy constructor to all library draw and library component objects. +* Added copy constructor to EDA_BaseStruct. +* Delete base screen in WinEDA_DrawFrame destructor to prevent potential memory leak. +* Fixed memory access bug when replacing and adding a component to library. +* Moved library component block manipulation code into component object. +* Removed all of the global variables used by the library editor main window object. +* The usual code cleaning and refactoring. + +2009-sept-22: +Command ID refactoring and other minor improvements. +* Split out application specific command IDs to prevent unnecessary rebuilding. +* Eliminate duplicate menu and tool bar command IDs. +* Split component library editor and viewer definitions to separate header files. +* More component library and document file merge code. +* A bunch of minor string readability and consistency fixes. + +2009-sept-18: +Component library object and other minor improvements. +* Create static component library methods to manage library list. +* Rename component library, component, and alias objects to more readable name. +* Use pointer to component instead of root name to prevent redundant library searches. +* Add append message helper to message panel that calculates string length. +* Initial ground work for merging library and library document files. +* Improved component library file load error checking. +* Minor component library editor improvements. + + +2009-sept-17 UPDATE Jean-Pierre Charras <jean-pierre.charras@gipsa-lab.inpg.fr> +================================================================================ +++pcbnew + Speed up ZONE_CONTAINER::Copy method + Speed up NETINFO_ITEM* BOARD::FindNet( const wxString& aNetname ) by using afast binary search + Switch to kbool V2.1. This version solves others problems in zones calculations. + Adding an other way to generate thermal shape; DO NOT USE: this is for kbool tests only + (I am thinking some bugs are remaining, so i am always working on kbool tests. + Klaas Olwerda is supporting me) + + +2009-sept-14 UPDATE Jean-Pierre Charras <jean-pierre.charras@gipsa-lab.inpg.fr> +================================================================================ +++pcbnew + moved copper layers properties (layers couns anf layers names) from Design rules + to a specific dialog. + This must be seen as a TEMPORARY work, until a volunteer creates a better dialog box, + because there is currently no other way to change copper layers names. + +2009-Sep-10 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ +++pcbnew + Finished initial NETCLASS work, along with UI. Put NETCLASS support + into DRC. Fixed DRC dialog so progress during DRC is sensible and visible. + The specctra_export probably still needs a little work regarding VIAs. + I compiled wxformbuilder from source, so you may need to upgrade to + load my *.fbp files. + + Jean-Pierre @ todo: pcbnew/zones_test_and_combine_areas.cpp needs to + use NETCLASS and not g_DesignSettings.m_TrackClearance + + +2009-sept-10 UPDATE Jean-Pierre Charras <jean-pierre.charras@gipsa-lab.inpg.fr> +================================================================================ +++pcbnew + Work on undo/redo in pcbnew finished. + Switch to kbool V2.0. This version solves some problems in zones calculations but not all. + The Kbool's author, Klaas Holweda, is still working on these problems + Thanks to Klaas + + +2009-aug-23 UPDATE Jean-Pierre Charras <jean-pierre.charras@gipsa-lab.inpg.fr> +================================================================================ +++pcbnew + Work on undo/redo in pcbnew almost finished. + +2009-Aug-16 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ +++pcbnew + * first of my work on NETCLASSes, more to come. + wrote: BOARD* BOARD_ITEM::GetBoard(), int BOARD_CONNECTED_ITEM::GetClearance( BOARD_CONNECTED_ITEM* ), + rewrote: classes NETCLASS, NETCLASSES, BOARD::SynchronizeNetsAndNetClasses(), + added: NETCLASS::m_ViaDrillSize, NETCLASS::m_Description. Removed netname from + EQUIPOTs in *.brd file (were redundant with NETCLASSes in *.brd file). NETCLASSes + now follow EQUIPOTs in *.brd file. + NETs and NETCLASSes are linked by pointer from class NET. + BOARD::SynchronizeNetsAndNetClasses() will validate pointers, NETs and NETCLASSes. + * Pay particular attention to the new: + int BOARD_CONNECTED_ITEM::GetClearance( BOARD_CONNECTED_ITEM* aItem ) const + which considers two netclasses and finds the largest distance from the two + involved. + * I would love to see class NETINFO_ITEM renamed to NET. + + +2009-Aug-6 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ +++pcbnew + MsgPanel is dynamically sized based on system gui font. Before this fix + the window height was hardcoded and was too small on systems with large + fonts. See WinEDA_MsgPanel::GetRequiredHeight(); + + +2009-aug-08 UPDATE Jean-Pierre Charras <jean-pierre.charras@gipsa-lab.inpg.fr> +================================================================================ +++pcbnew + Work on undo/redo in pcbnew in progress. + SEG_ZONE is now deprecated. + When a zone is fille by segment, the ZONE_CONTAINER handles these segments + +2009-july-29 UPDATE Jean-Pierre Charras <jean-pierre.charras@gipsa-lab.inpg.fr> +================================================================================ +++pcbnew + Starting work on undo/redo in pcbnew. + Currently, undo redo commands are only delete one item (and only for some items) + + +2009-july-25 UPDATE Jean-Pierre Charras <jean-pierre.charras@gipsa-lab.inpg.fr> +================================================================================ +++all + Rework on undo/redo and block functions + Better and simpler coding of block and undo/redo functions + The goal is to have the same functions in eeschema and pcbnew. + and have a full undo/redo in pcbnew. + +2009-july-18 UPDATE Jean-Pierre Charras <jean-pierre.charras@gipsa-lab.inpg.fr> +================================================================================ +++pcbnew + First work about net classes. This is a work in progress and a moving target. + Manual routing and DRC do not use yet this feature + + +2009-Jul-13 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ +++pcbnew + added support to specctra import for the <structure_out> descriptor. + <route_descriptor> had confused <structure_descriptor> with the <structure_out_descriptor> + The fix facillitates round tripping from the TOPO-R router. + + +2009-july-10 UPDATE Jean-Pierre Charras <jean-pierre.charras@gipsa-lab.inpg.fr> +================================================================================ +++Eeschema: + Enhanced netlist creation and ERC tests for component having multiple parts per package + Connecting power pins of all parts is no more needed. + Usually, these components have in schematic duplicated power pins. + Op amps having 4 parts have also 4 duplicated pins per power input, + and therefore the user must place 4 power symboles per physical power pin + Now Only one power is needed (now eeschema search for a connected pin + between duplicated power pins) + Note this is a work in progress because the ERC does not check if these duplicate + are connected to the *same* net. + +2009-july-06 UPDATE Jean-Pierre Charras <jean-pierre.charras@gipsa-lab.inpg.fr> +================================================================================ +++All: + Use a common class for markers in pcbnew and eeschema: + created a basic class called MARKER_BASE + class DRC_ITEM is also common to pcbnew and eeschema + class MARKER (in pcbnew) and class MARKER_SCH (eeschema) are derived + from this basic class. + The main goal is to use a common class for pcbnew and eeschema to handle + errors and to have similar dialogs + and have more comprehensive ERC messages errors in eeschema + This is a work in progress + + + +2009-july-05 UPDATE Jerry Jacobs <jerkejacobs@gmail.com +================================================================================ ++ Closing bug 2802441, No single error messages any more, 2009-06-07 over2there. + Fixed this both in eeschema and cvpcb, for now printing wxstring in a + messagebox. Should make a nice textctrl dialog. ++ Added cvpcb directory to Doxyfile + +2009-june-19 UPDATE Jerry Jacobs <jerkejacobs@gmail.com> +================================================================================ +Added Hauptmech patch. +I Updated doc to match this patch. + +++Pcbnew: +> * Board thickness in the 3D view can be set in *.pcb files (hand edit) +> * Hotkey files bug: incorrect file extension as default in some open/save dialogs. +> * Hotkeys made available for pcbnew [add track] and [add module] tools. +> * Drag and Move hotkeys extended to drag tracks and move nodes/vias when the [add track] tool is active. +> * Show/Hide Invisible Text button added to lefthand menu +> * Dropdown list of clearance history available next to trackwidth history. + + +2009-june-18 UPDATE Jean-Pierre Charras <jean-pierre.charras@gipsa-lab.inpg.fr> +================================================================================ +++Pcbnew: + Added: in DRC tests: tests for vias min size and tracks min width. + Added: Option to show the via area while creating a new track. + Useful in compact designs to know how to place a via during track creation. + +2009-june-11 UPDATE Jean-Pierre Charras <jean-pierre.charras@gipsa-lab.inpg.fr> +================================================================================ +++Eeschema: + Added text justification for graphic texts in libedit + Minor bug 2803506 fixed (error when mirroring bus entries) + Some code cleaning. + Better locating algo for arcs in libedit + +2009-may-30 UPDATE Jean-Pierre Charras <jean-pierre.charras@gipsa-lab.inpg.fr> +================================================================================ +++Eeschema: + Changes about thickness of lines in draw/plot functions. + Now there is only one thickness parameter for plot and print. + This is now the default thickness value, + used for items that have a line thickness = 0, + and NOT the minimum thickness. + reasons: + - Obviously, differents parameters to draw and plot are bad. + (what you plot is NOT what you see) + - small texts are not readable with an minimum thickness value + that could be good for others items. + + +2009-may-30 UPDATE Jean-Pierre Charras <jean-pierre.charras@gipsa-lab.inpg.fr> +================================================================================ +++All: + Cleaned and optimized code about new hershey fonts and bold texts handling. + Bold texts use now the same font as normal texts. + Only the pen size used to draw them is bigger. + - The max pen size allowed depending on texts sizes is now tested + when loading boards and modules, and clamped if too large. + + + +2009-may-28 UPDATE Jean-Pierre Charras <jean-pierre.charras@gipsa-lab.inpg.fr> +================================================================================ +++Pcbnew: + Finished code cleaning about ratsnets calculations and handling + Obscure code removed ( I hope) + Better names for some members of BOARD class. + +2009-may-24 UPDATE Jean-Pierre Charras <jean-pierre.charras@gipsa-lab.inpg.fr> +================================================================================ +++Pcbnew: + clean code in ratsnet calculations (work in progress) + The old code was very difficukt to understand, and was sometime very ugly. + Mainly, the list of nets (RATSNEST_ITEM class, formerly EQUIPOT class) + are now handled in a std::vector, and not a linked list. + This is better, because nets identifiers for pads and tracks are a number called netcode. + now, this is the index of the given net in this list, and the code to find a net given by its netcode + is very fast. + + +2009-may-12 UPDATE Jean-Pierre Charras <jean-pierre.charras@gipsa-lab.inpg.fr> +================================================================================ +++All: + Rework on TEXTE_PCB, SCH_TEXT and EDA_TextStruct classes. + Code seriously cleaned, obscure and duplicated code removed, + and some oddities removed ( like different .m_Orient values in eeschema and + pcbnew, for the same text orientation ) + Multiline texts (in comments and Pcb texts) are now supported. + In pcbnew text justifications could work (but not yet used and tested) + + +2009-may-01 UPDATE Jean-Pierre Charras <jean-pierre.charras@gipsa-lab.inpg.fr> +================================================================================ +++pcbnew: + Better dialog options for zones on technical layers. + Zones on silk screen filled with segments are now plotted + Better support of multiline texts (work in progress) + +2009-apr-25 UPDATE Jean-Pierre Charras <jean-pierre.charras@gipsa-lab.inpg.fr> +================================================================================ +++ Eeschema: + When annotating: tests and repairs bad (duplicated) time stamps. + Can be found in old schematics or converted from others tools ... + +2009-apr-24 UPDATE Jean-Pierre Charras <jean-pierre.charras@gipsa-lab.inpg.fr> +================================================================================ +++Pcbnew: + Fixed: fully broken netlist import from eeschema when using time stamp. + (normal operation worked fine) + Added: alawys print diags in dialog window when reading a netlist + +2009-apr-17 UPDATE Jean-Pierre Charras <jean-pierre.charras@gipsa-lab.inpg.fr> +================================================================================ +++ALL: + Code clarification: There were 3 functions to display info: + - DisplayInfo (displaying a message info) + - class members DisplayInfo and Display_Infos doing the same thing + (and sometimes these 2 functions were existing in some classes) + This was *very* confusing and created minor bugs + (info in eeschema was not always displayed, because the "bad" function was used) + Now DisplayInfo is renamed DisplayInfoMessage + Ann class member DisplayInfo is used in all classes ( replaces all Display_Infos instances) + +2009-apr-12 UPDATE Jean-Pierre Charras <jean-pierre.charras@gipsa-lab.inpg.fr> +================================================================================ +++eeschema: + Default libraries path are now differents for pcbnew and eeschema (as it do) + Fixed: bad library search path for schematic component docs (docs were not found) + Added: display actual lib paths in eeschema lib config dialog. + + These next fix give the same behavior than "old" version + Use relative paths in libraries and doc filenames when possible + i.e when a file is found in a sub path in a default path + (very important for Windows/linux/mac compatibility of projects and their configs) + + TODO: allows user to add paths in list. Currently the user path for lib is broken + (but the new code could allow the user to add more than one user path) + + TODO: do the same for pcbnew and cvpcb + +2009-apr-10 UPDATE Jean-Pierre Charras <jean-pierre.charras@gipsa-lab.inpg.fr> +================================================================================ +++eeschema: + - Viewlib: listboxes for lib or component selection are now resizable + - library cache name changed from <root_name>.cache.lib to <root_name>-cache.lib + Needed by the new code using wxFileName. + When wxFileName calculate the filename, it returns <root_name>, + and the old code returns <root_name>.cache + So to avoid problems or ugly code, the lib cache name is now <root_name>-cache + Old cache is used if the lib cache with the new name is not found. + + +2009-apr-07 UPDATE Jean-Pierre Charras <jean-pierre.charras@gipsa-lab.inpg.fr> +================================================================================ +++pcbnew: + fixed: bug 2738052 (Delete tool does not delete zones outlines) +++eeschema: + fixed: void history file list in menu +++All: + made GetAssociatedDocument() compatible with last changes in kicad path handling. + Get PDF doc associated with a component now works + Some work still needed. + +2009-apr-06 UPDATE Jean-Pierre Charras <jean-pierre.charras@gipsa-lab.inpg.fr> +================================================================================ +++common: + overbar patch merged in drawtxt.cpp and mainly in eechema/class_pin.cpp + some cleanup and some compiling problems fixed. + +++eeschema: + changed dialog_eeschema_config.cpp to use wxFormBuilder to create + the corresponding equivalent dialog in dialog_eeschema_config_fbp.cpp + +2009-apr-05 UPDATE Wayne Stambaugh <stambaughw@verizon.net> +================================================================================ +++All + * Removed all instances #ifdef eda_global, COMMON_GLOBL, and MAIN in order + to unobfuscate global variables. + * Moved global variables common to all applications into common.cpp. + * Moved global variables common to Pcbnew, Gerbview, and Cvpcb into + pcbcommon.cpp. + * Create pcbcommon library to prevent compiling shared PCB drawing object + files multiple times. + * Replaced round() with wxRound and eliminate MSVC specific implementation. + * Moved project configuration files into the application class. + * Moved editor name global variable into the application class. + * Created load and save settings methods for basic frame class and begin + putting global variables in the class where they are used. + * Start replacing obsolete wxWidgets file functions and redundant Kicad + file name manipulation code with wxFileName. + * Initial library search path implementation using wxPathList. + * Define correct wxFileDialog wild cards. + * Apply patch Fix typo in about box to keep MAC folks happy. + * Lots of general code clean up, spelling error fixes, and uncrustification. + * Renamed Affiche_Status_Box to UpdateStatusBar. +++EESchema + * Defined Load() method so library file drawing objects can load themselves. + * Defined GetBoundingBox() method so library file drawing objects can + calculate their own bounding box. + * Fix arc library drawing object bounding box calculation. + * Remember last import and export library path in library editor. + * Add new library search path support. +++Kicad + * Eliminate the one giant case statement to rule them all command event + handler and create per command event handlers. +++CvPcb + * Add new library search path support. + * Add message dialogs to prompt user of library file load errors instead of + failing silently. + * Fix NULL pointer bug were display frame would crash CvPcb when + WinEDA_DisplayFrame::Get_Module() could not find foot print module. +++PcbNew + * Add new library search path support. + * Add message dialogs to prompt user of library file load errors instead of + failing silently. + + +2009-mar-30 UPDATE Jean-Pierre Charras <jean-pierre.charras@gipsa-lab.inpg.fr> +================================================================================ +++pcbnew: + added BOM generator (in postprocess menu) + + +2009-mar-28 UPDATE Jean-Pierre Charras <jean-pierre.charras@gipsa-lab.inpg.fr> +================================================================================ +++All + code cleanup in project_config.cpp. + Now parameters common to all projects are saved on exit. + (they are usally options like colors, draw options ...) + +++pcbnew: + added option to show or not netnames on pads and tracks + + +2009-mar-23 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ +++pcbnew: + in DRC: added test pads to holes. +++Al: + minor changes. + + +2009-mar-16 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ +++pcbnew: + Fixed: + bug that crashes pcbnew when removing all footprints + (in connection calculations, pointers to pads not reset) + + bug that crashes pcbnew when filling a zone + if a module has a trapezoidal pad + (trapezoidal pads are not yet implemented in zone filling, + they are now calculated as rect shape (todo: a better handling) ) + + +2009-mar-12 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ +++eeschema: + Added: option to print ALL users fields in B.O.M., + so if more than 8 fields, they are printed. (issue 2680640) + +++pcbnew: + Added 5 metric grids (1mm, 0.5mm 0.25mm 0.2mm and 0.1mm) in default grid list. + Minor bug in drill map creation (PS format) fixed + +2009-mar-11 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ +++pcbnew: + fixed: a bug that can delete an existing zone after creating a new zone, + if the new zone contains this existing zone + This is a DRC error, buf can be temporary possible when creating complex zones + +2009-mar-10 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ +++pcbnew: +++gerbview: + print,plot: error message displayed when no layer selected. + + +2009-Mar-5 UPDATE Vesa Solonen <vesa.solonen@hut.fi> +================================================================================ +++pcbnew: + bug fix in zones_convert_brd_items_to_polygons.cpp: + Fixes "thermal stub bleed" in zone fill. Small (compared to thermal width) pads are handled properly now. + + +2009-mar-05 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ +++pcbnew: + bug fix in move_or_drag_track.cpp: + function SortTrackEndPoints() broken: does not handle pointers to pads for start and end and flags relative to these pointers + MergeCollinearTracks( ) broken, because it merge segments having different width or without any connectivity test. + 2 collinear segments can be merged only in no other segment or vais is connected to the common point + and if they have the same width. See cleanup.cpp for merge functions + These functions break the connectivity calculations. + So they are temporary disabled (see my comments in these functions) + bug fix in Marque_Une_Piste(): the last segments created can be see as part of the flagged track: + so delete track (or edit track width) deletes the track and some others segments (last created) + bug fix 2660689 Unconnected pads in RC4. Also fixed some no deletion of the old track when creating a new track + + +2009-Feb-25 UPDATE Wayne Stambaugh <stambaughw@verizon.net> +================================================================================ +++EESchema + * Fixed hot key bug that caused undo and redo events in the library editor + to be passed to the schematic frame. Fixes bug #1896790. + * Fixed hot key bug that allowed new wire to be placed during block move + causing a manage cursor message box to pop up. + * Fixed hot key bug that allows an object in block to be deleted during + a move or drag operation. + + +2009-Feb-25 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ +++pcbnew + * Markers were not shown when on top of a high-lighted pad. Moved highlight + drawing function into class BOARD and out of Frame. Call BOARD::DrawHighLight() from + within BOARD::Draw() to fix. + * Gerbers were not generated if you had EDGE_MODULEs on a copper layer, such as in + a MuWaveBasicShape. The line thickness was not being put into the gerber via a DCODE. + These gerber files were bad, and geda gerbv would also complain. + * A few window titles were not conformant with UIpolicies.txt. + * You could not load a *.pro file from another project into PCBNEW if your current + project had none. Changed wildcard mask. + * Deleted gen_self.h and moved that code into muonde.cpp + + +2009-Feb-24 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ +++pcbnew + * dialog boxes calling OnInitDialog are flashing because these functions + change the size of controls that are already on screen. This leads to + an annoying resize operation. So I renamed OnInitDialog(event) to + void init() and call it from the constructors. Did this for + dialog_general_options.cpp and dialog_display_options. + * dialog_general_options was not setting g_MagneticPadOption and g_MagneticTrackOption + + +2009-Feb-24 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ +++pcbnew: + bug fix: + 2628615 Error message after right click into zone + 2625434 Crash after trying to edit a line/drawing +++cvpcb + fix: 2625090 CVpcb - language selection + + +2009-Feb-17 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ +++gr_basic.cpp + Added: Function ClipAndDrawFilledPoly() + Used to clip a polygon and display it as Filled Polygon + uses the Sutherland and Hodgman algo to clip the given poly against a rectangle. + This rectangle is the drawing area + this is useful under Linux (2009) because filled polygons are incorrectly drawn + if they have too large coordinates (seems due to integer overflows in calculations) + Could be removed in some years, if become unnecessary. + + +2009-Feb-17 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ +++pcbnew + Loading a module into the module editor was changing the layer count + of a loaded board. This is because void WinEDA_ModuleEditFrame::Process_Special_Functions( wxCommandEvent& event ) + calls bool WinEDA_BasePcbFrame::Clear_Pcb( bool query ) + which then sets the global g_DesignSettings.m_CopperLayerCount = 2; + This is terrible. + We need a layer count in each board, not as a global. For now, comment out the assignment in initpcb.cpp. + + +2009-Feb-17 Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ +++pcbnew: + Dialog track options redesigned with wxFormBuilder + Alt via drill renamed Specific via drill in dialog and popup menu. + Added tips in dialog. + + +2009-Feb-09 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ +++eeschema + Changed dialog_edit_label so that it is UIpolicies.txt compliant. Proper case + on window titles, resizeable dialog border, minimum text width handling. + + +2009-Feb-7 Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ +++All: + change grid size type from integer to double (using wxRealPoint insteed of wxSize) + This is mandatory in Pcbnew to handle metric user grids without error + (was unusable before, using integer grid size). + A lot of footprints uses not metric grid. + refinements for user grid (mainly in read/write config). + + +2009-Feb-06 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ +++pcbnew + added "cutout" from a ZONE_CONTAINER capability to the SPECCTRA export. + added "netless zone" support to SPECCTRA export. + + +2009-Feb-6 Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ + Added a forgotten contributor (Tim Hanson) to kicad contributor list. + +++pcbnew: + Zoom factors in 1.5 progression, and limited to 18 values + (near to to Wayne Stambaugh's changes: 15 values are not enought for pcbnew) + removed minor problems in zoom box selection (removed blank line). + Added user grid selection in modedit and refinements when user grid is selected. + + +++eeschema: + Zoom factors in 1.5 progression, and limited to 15 values according to Wayne Stambaugh's changes. + +2009-Feb-05 UPDATE Wayne Stambaugh <stambaughw@verizon.net> +================================================================================ +++All + * Change CMakeList.txt so that all PCB object classes that do not need built + separately for pcbnew, gerbview, and cvpcb only get built once and added + to the common library. + * Override all classes derived from WinEDA_BasePcbFrame so that the source + code file basepcbframe.cpp only gets compiled once and added to the common + library. + * Prevent cursor movement keys from moving outside of client area by + automatically scrolling the drawing. + + +2009-Feb-4 UPDATE Vesa Solonen <vesa.solonen@hut.fi> +================================================================================ +++pcbnew: +++eeschema: + Zoom factors in 3th root series of 2. So two intermediates between half/double scale. + +2009-Feb-04 UPDATE Wayne Stambaugh <stambaughw@verizon.net> +================================================================================ +++All + * Refactor header files to reduce the number of files that need recompiled + when making changes to base classes. + * Move sine and cosine look up tables from trigo.h to trigo.cpp to avoid + multiple recompiles. + + +2009-feb-01 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ +++All: + change filename drawpanel_wxstruct.h to class_drawpanel.h + and move class BASE_SCREEN description from drawpanel_wxstruct.h to a new file: class_base_screen.h + minor enhancement for window zoom command. + refinements in 3D zones drawing. + +2009-jan-31 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ +++All: + Print functions and display zoom level modified to use the new zoom implementation + Comments added in some functions. + Code cleaning + some bugs fixed. + Added contributors to list in about Kicad. + +2009-Jan-29 UPDATE Wayne Stambaugh <stambaughw@verizon.net> +================================================================================ +++All + * Replace zoom implementation with a more flexible ( and hopefully useful ) + design. + * Removed gr_basic.h from fctsys.h so that the entire project doesn't get + rebuilt unnecessarily. + + +2009-Jan-29 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ +++all + common.c added EnsureTextCtrlWidth() +++eeschema + * dialog edit component in schematic: make sure chipname text control is wide + enough to handle unusually long chip names. + * Retain and re-use user's desired dialog edit component window size. + Did not have time to look at dialog edit component in library. + + +2009-Jan-27 UPDATE Vesa Solonen <vesa.solonen@hut.fi> +================================================================================ +++pcbnew: + Zone arc approximation starts with half increment offset from v/h for pads and vias + to get more fill space between rows. + +2009-Jan-17 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ +++pcbnew: + Found why remove unused thermal stubs fails sometimes: + Only the first filled area in a zone was tested. + Solved. + +2009-Jan-18 UPDATE Wayne Stambaugh <stambaughw@verizon.net> +================================================================================ +++All + * Replace Kicad file history implementation with wxFileHistory. + * Laid groundwork for search paths using wxPathList in EDA_Appl. + * Made ReCreateMenuBar actually recreate the menu bar. Now language updates + to menus can be changed without restarting program. + * Lots of general housekeeping, simplification, and code beautifying. +++EESchema + * Fix zoom and pan bug in library viewer panel due to incorrect DrawPanel + rectangle. + * Add zoom accelerator keys to library viewer (works in GTK, not Windows). + * Add Postscript header to new print dialog so Linux build works. +++PcbNew + * Add Postscript header to new print dialog so Linux build works. + + +2009-Jan-17 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ +++All: + Cleaned code in print dialogs. + They are now specific to eeschema and pcbnew. + Gerbview uses pcbnew dialog. + The code is now a lot more easy to understand. + + +2009-Jan-15 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ +++Pcbnew: + Added: patch from Rok Markovic (rok@kanardia.eu) to remove unused stubs in thermal pads + Modified: print boards when printing in color mode layers on one sheet: + now printed in OR mode like drawings on screen + Also in SVG mode, but OR mode seems not work very well in SVG mode (tested with inkscape). + + + +2009-Jan-11 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ +++Pcbnew: + Added: print SVG format. + SVG print/plot function uses WRITE modeinsteed of OR mode as graphic mode. + todo ? uses OR graphic mode with black background color (wait and see) +++eeschema: + Code cleanup for Print SVG format, and used wxFormBuilder in SVG print dialog + + +2009-Jan-10 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ +++Pcbnew: + Calculations to create filled areas in a zone modified and uses 2 pass: + 1 - filled areas are calculated with pads in zone. + 2 - If thermal shapes are wanted, they are added (i.e. copper removed after ). + Seen comments in zones_convert_brd_items_to_polygons.cpp + The initial method was calculate filled areas in one pass. + With the 2 pass calculation, the calculation time is more expensive but: + - Kbool seems now works correctly in cases where the one pass way does not work + - Thermal reliefs can have a better shape (todo..) because when calculating them, the filled + areas are known (this was not the case in one pass way) + + +2009-Jan-08 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ +++Eeschema: + Print and plot functions now properly prints all sheets in a complex hierarchy + plot files created have now a new filename in order to be compatible with complex hierarchies + + +2009-Jan-07 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ +++Eeschema: + Print function now properly prints all sheets in a complex hierarchy + Note: plot functions are not updated and do not plot all sheets. + + +2009-Jan-07 UPDATE Wayne Stambaugh <stambaughw@verizon.net> +================================================================================ +++all + * Don't pan or zoom on mouse wheel events when the cursor is not in the + drawing area. + * Reduce all zoom code to a single zoom command handler. + * Eliminate redundant zoom command identifiers. + * Move pop up zoom command handler from DrawPanel to DrawFrame. + * Change hot key zoom handlers to use command events. + * Added DrawFrame event table to replace COMMON_EVENTS_DRAWFRAME macro. + * Added locale path relative to binary path for development purposes. + * Minor code clean ups and duplicate header removal in files that were + updated. + + +2009-Jan-04 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ +++all + wxPcbStruct.h: made m_Pcb private, added GetBoard(). Am considering + putting each gerber layer into its own BOARD. + + +2009-Jan-02 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> +================================================================================ +++Eeschema: + Code cleaning. + LibDrawPolyline uses now std::vector<wxPoint> to handle corners. + DrawPolylineStruct uses now std::vector<wxPoint> to handle corners. + diff --git a/Documentation/changelogs/CHANGELOG-2010.txt b/Documentation/changelogs/CHANGELOG-2010.txt new file mode 100644 index 0000000..40f5d1b --- /dev/null +++ b/Documentation/changelogs/CHANGELOG-2010.txt @@ -0,0 +1,1010 @@ +KiCad ChangeLog 2010 +==================== + +2010-dec-31 UPDATE Wayne Stambaugh <stambaughw@verizon.net> +================================================================================ +++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 <dick@softplc.com> +================================================================================ +++richio: + * Deleted kicad_exceptions, because it required the big #include <wx/wx.h> 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 <dick@softplc.com> +================================================================================ +++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 <stambaughw@verizon.net> +================================================================================ +++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 <jean-pierre.charras@gipsa-lab.inpg.fr> +================================================================================ +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 <dick@softplc.com> +================================================================================ +++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 <jean-pierre.charras@gipsa-lab.inpg.fr> +================================================================================ +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 <stambaughw@verizon.net> +================================================================================ + * 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 <dick@softplc.com> +================================================================================ +++eeschema: + Committed a new design for a "Distributed Library System". + To make the html docs, run doxygen in <kicad_base>/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 <stambaughw@verizon.net> +================================================================================ +++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 <stambaughw@verizon.net> +================================================================================ +++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 <stambaughw@verizon.net> +================================================================================ +++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 <stambaughw@verizon.net> +================================================================================ +++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 <stambaughw@verizon.net> +================================================================================ +++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 <jean-pierre.charras@gipsa-lab.inpg.fr> +================================================================================ +Pcbnew: + For zone filling algo, change the default polygon library from Kbool to Boost::polygon. + + +2010-dec-01, UPDATE Jean-Pierre Charras <jean-pierre.charras@gipsa-lab.inpg.fr> +================================================================================ +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 <stambaughw@verizon.net> +================================================================================ +++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 <stambaughw@verizon.net> +================================================================================ +++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 <stambaughw@verizon.net> +================================================================================ +++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 <stambaughw@verizon.net> +================================================================================ +++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 <stambaughw@verizon.net> +================================================================================ +++EESchema + * Header file rationalization. + * Move schematic object load code into the appropriate schematic object. + + +2010-nov-3 UPDATE Wayne Stambaugh <stambaughw@verizon.net> +================================================================================ +++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 <jean-pierre.charras@gipsa-lab.inpg.fr> +================================================================================ +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 <stambaughw@verizon.net> +================================================================================ +++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 <stambaughw@verizon.net> +================================================================================ +++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 <stambaughw@verizon.net> +================================================================================ + 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 <dick@softplc.com> +================================================================================ +++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 <jean-pierre.charras@gipsa-lab.inpg.fr> +================================================================================ +++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 <jean-pierre.charras@gipsa-lab.inpg.fr> +================================================================================ +++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 <dick@softplc.com> +================================================================================ +++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 <stambaughw@verizon.net> +================================================================================ + 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 <jean-pierre.charras@gipsa-lab.inpg.fr> +================================================================================ +++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 <jean-pierre.charras@gipsa-lab.inpg.fr> +================================================================================ +++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 <dick@softplc.com> +================================================================================ +++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 <dick@softplc.com> +================================================================================ +++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 <dick@softplc.com> +================================================================================ +++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 <dick@softplc.com> +================================================================================ +++eeschema netform.cpp: + * Finish up first working version of the XML export. + +2010-Aug-3 UPDATE Dick Hollenbeck <dick@softplc.com> +================================================================================ +++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 <dick@softplc.com> +================================================================================ +++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 <jean-pierre.charras@gipsa-lab.inpg.fr> +================================================================================ +++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 <jean-pierre.charras@gipsa-lab.inpg.fr> +================================================================================ +++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 <stambaughw@verizon.net> +================================================================================ +++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 <jean-pierre.charras@gipsa-lab.inpg.fr> +================================================================================ +++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 <dick@softplc.com> +================================================================================ +++eeschema: + Added "template fieldnames" to eeschema. Thanks to + Brian Sidebotham <brian.sidebotham@gmail.com> 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 <jean-pierre.charras@gipsa-lab.inpg.fr> +================================================================================ +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 <jean-pierre.charras@gipsa-lab.inpg.fr> +================================================================================ +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 <jean-pierre.charras@gipsa-lab.inpg.fr> +================================================================================ +++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 <jean-pierre.charras@gipsa-lab.inpg.fr> +================================================================================ +++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 <jean-pierre.charras@gipsa-lab.inpg.fr> +================================================================================ +++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 <jean-pierre.charras@gipsa-lab.inpg.fr> +================================================================================ +++Pcbnew: + Fixed minor problems. + Changed French word COTATION to DIMENSION in class COTATION (now class DIMENSION) + +2010-apr-22, UPDATE Jean-Pierre Charras <jean-pierre.charras@gipsa-lab.inpg.fr> +================================================================================ +++Pcbnew+Gerbview: + Fixed minor problems in printing. + +2010-apr-19, UPDATE Jean-Pierre Charras <jean-pierre.charras@gipsa-lab.inpg.fr> +================================================================================ +++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 <jean-pierre.charras@gipsa-lab.inpg.fr> +================================================================================ +++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 <dick@softplc.com> +================================================================================ +++all: + Switched the source code repository from subversion at sourceforge.net to + launchpad using bazaar. + + +2010-apr-08, UPDATE Jean-Pierre Charras <jean-pierre.charras@gipsa-lab.inpg.fr> +================================================================================ +++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 <jean-pierre.charras@gipsa-lab.inpg.fr> +================================================================================ +++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 <jean-pierre.charras@gipsa-lab.inpg.fr> +================================================================================ +++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 <jean-pierre.charras@gipsa-lab.inpg.fr> +================================================================================ +++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 <jean-pierre.charras@gipsa-lab.inpg.fr> +================================================================================ +++ All: + Stable verion for kicad release + +2010-mar-10 UPDATE Jean-Pierre Charras <jean-pierre.charras@gipsa-lab.inpg.fr> +================================================================================ +++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 <dick@softplc.com> +================================================================================ +++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 <dick@softplc.com> +================================================================================ +++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 <jean-pierre.charras@gipsa-lab.inpg.fr> +================================================================================ +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 <jean-pierre.charras@gipsa-lab.inpg.fr> +================================================================================ +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 <jean-pierre.charras@gipsa-lab.inpg.fr> +================================================================================ +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 <jean-pierre.charras@gipsa-lab.inpg.fr> +================================================================================ +Eeschema, libedit: fixed add/remove alias functions, broken +All: added in popup menus hotkeys info for zoom commands + + +2010-Feb-14 UPDATE Jerry Jacobs <xor.gate.engineering[at]gmail[dot]com> +================================================================================ +++ 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 <vesa.solonen@hut.fi> +================================================================================ +++ all: + Finnish translation, take one. + +2010-Feb-04 UPDATE Jean-Pierre Charras <jean-pierre.charras@gipsa-lab.inpg.fr> +================================================================================ +++ gerbview: + Use layer_widget to manage gerber layers colors and visibility. + +2010-Jan-31 UPDATE Jean-Pierre Charras <jean-pierre.charras@gipsa-lab.inpg.fr> +================================================================================ +++ 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 <jean-pierre.charras@gipsa-lab.inpg.fr> +================================================================================ +++ pcbnew: + More about work on color selection and items visibility + work in progress + +2010-Jan-29 UPDATE Jean-Pierre Charras <jean-pierre.charras@gipsa-lab.inpg.fr> +================================================================================ + ++ 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 <jean-pierre.charras@gipsa-lab.inpg.fr> +================================================================================ + *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 <jean-pierre.charras@gipsa-lab.inpg.fr> +================================================================================ +++ 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 <jean-pierre.charras@gipsa-lab.inpg.fr> +================================================================================ +++ 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 <dick@softplc.com> +================================================================================ +++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 <jean-pierre.charras@gipsa-lab.inpg.fr> +================================================================================ +++ 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 <stambaughw@verizon.net> +================================================================================ +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 <dick@softplc.com> +================================================================================ +++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 <xor.gate.engineering[at]gmail[dot]com> +================================================================================ +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 <dick@softplc.com> +================================================================================ +++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 <xor.gate.engineering[at]gmail[dot]com> +================================================================================ ++ 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 <stambaughw@verizon.net> +================================================================================ +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 <jean-pierre.charras@gipsa-lab.inpg.fr> +================================================================================ +++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 <jean-pierre.charras@gipsa-lab.inpg.fr> +================================================================================ +++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 <jean-pierre.charras@gipsa-lab.inpg.fr> +================================================================================ +++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 <jean-pierre.charras@gipsa-lab.inpg.fr> +================================================================================ +++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 0000000..fc3e1e6 --- /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 <jean-pierre.charras@gipsa-lab.inpg.fr> +================================================================================ +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 <dick@softplc.com> +================================================================================ +++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 <dick@softplc.com> +================================================================================ +++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 <dick@softplc.com> +================================================================================ +++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 <jean-pierre.charras@gipsa-lab.inpg.fr> +================================================================================ +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 <dick@softplc.com> +================================================================================ +++PCBNew + * Add PLUGIN and IO_MGR classes. + * Remove one argument from BOARD constructor, + * add BOARD::SetWindowFrame() + +2011-sept-13 UPDATE Wayne Stambaugh <stambaughw@verizon.net> +================================================================================ + 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 <dick@softplc.com> +================================================================================ +++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 <andrf@mail.ru> +================================================================================ +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: + <Ctrl>+<numkey> - start record macros + <hotkey> <mouse move> ... <hotkey>|<mouse place> + <Ctrl>+<numkey> - end record macros + <numkey> - 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 <jean-pierre.charras@gipsa-lab.inpg.fr> +================================================================================ + Add Fabrizio Tappero <fabrizio-dot-tappero[at]gmail-dot-com> 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 <jean-pierre.charras@gipsa-lab.inpg.fr> +================================================================================ +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 <xor.gate.engineering@gmail.com> +================================================================================ +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 <xor.gate.engineering@gmail.com> +================================================================================ +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 <xor.gate.engineering@gmail.com> +================================================================================ +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 <stambaughw@verizon.net> +================================================================================ + 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 <jean-pierre.charras@gipsa-lab.inpg.fr> +================================================================================ +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 <jean-pierre.charras@gipsa-lab.inpg.fr> +================================================================================ +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 <dick@softplc.com> +================================================================================ +++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 <dick@softplc.com> +================================================================================ +++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 <stambaughw@verizon.net> +================================================================================ + 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 <dick@softplc.com> +================================================================================ +++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 <dick@softplc.com> +================================================================================ +++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 <dick@softplc.com> +================================================================================ +++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. + + |