kicad/change_log.txt

465 lines
21 KiB
Plaintext

Change Log for Kicad
Started 2007-June-11
Please add newer entries at the top, list the date and your name with
email address.
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.
@todo search further for new TRACK( TRACK* ) and make sure no vias are
being made this way.
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 <dickelbeck@yahoo.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 <dickelbeck@yahoo.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 <dickelbeck@yahoo.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.
================================================================================
End Of File