kicad/CHANGELOG.txt

680 lines
32 KiB
Plaintext

KiCad ChangeLog 2010
====================
Please add newer entries at the top, list the date and your name with
email address.
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.