summaryrefslogtreecommitdiff
path: root/Documentation/changelogs
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation/changelogs')
-rw-r--r--Documentation/changelogs/CHANGELOG-2007.txt1547
-rw-r--r--Documentation/changelogs/CHANGELOG-2008.txt1561
-rw-r--r--Documentation/changelogs/CHANGELOG-2009.txt1013
-rw-r--r--Documentation/changelogs/CHANGELOG-2010.txt1010
-rw-r--r--Documentation/changelogs/CHANGELOG-2011.txt297
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.
+
+