205 lines
10 KiB
Plaintext
205 lines
10 KiB
Plaintext
KiCad ChangeLog 2012
|
|
====================
|
|
|
|
Please add newer entries at the top, list the date and your name with
|
|
email address.
|
|
|
|
2012-Nov-19 UPDATE Dick Hollenbeck <dick@softplc.com>
|
|
================================================================================
|
|
Eliminate many assumptions in Pcbnew's library manager, pertaining to locality of libraries and
|
|
their type, by using the more abstract PLUGIN::Footprint*() functions.
|
|
|
|
This is an intermediate phase only, other changes will be necessary as library table support comes in.
|
|
Encapsulate usage of library path searching, since that will go away as library table support comes in.
|
|
Add FOOTPRINT_EDIT_FRAME::{get,set}LibPath() and FOOTPRINT_EDIT_FRAME::{get,set}LibNickName() functions
|
|
to provide this encapsulation.
|
|
|
|
2012-Nov-14 UPDATE Dick Hollenbeck <dick@softplc.com>
|
|
================================================================================
|
|
1) Switch to boost hashtable support from wx macros which did not handle std::string.
|
|
This required the additional compiler command line option "-std=c++0x".
|
|
|
|
2) Switch to unique_ptr from auto_ptr which is C++ deprecated.
|
|
|
|
3) Change to new English layer names per mailing list discussion, see class_board.cpp.
|
|
|
|
4) When saving to *.kicad_pcb or *.kicad_mod, identify opportunities to use wildcard
|
|
layer sets, for pads so far.
|
|
|
|
5) Switch to two std::string hashtables in pcb_parser.cpp, away from one wxString based one
|
|
for layer names and layer sets mapping. One hashtable holds the mask, the other the index.
|
|
Layer sets are only in the mask table.
|
|
|
|
6) Move "LOCALE_IO toggle" into PCB_IO::Format() since it is a public API function and
|
|
caller should find it as convenient as possible to use. LOCALE_IO should handle
|
|
nesting OK in the case where public Format() is called from one of the Footprint*()
|
|
functions.
|
|
|
|
7) Drop support for "export module to new library". Creating new libraries will have to
|
|
be handled in concert with library table entries, and we've talked recently about
|
|
creating a better footprint library manager, one that resides in a DLL/DSO. So
|
|
this kind of functionality needs to be handled in there in the near future.
|
|
|
|
8) Change name of exported PCB_IO module/footprint to *.kicad_mod and not *.emp.
|
|
|
|
|
|
|
|
2012-May-5 UPDATE Jerry Jacobs <jerry@xor-gate.org>
|
|
================================================================================
|
|
++ common
|
|
* Update about dialog to more native size so the notebook is not squeezed
|
|
* Increment copyright year to 2012
|
|
* Fix mousezoom jumping to center for Mac OS X and other platforms
|
|
* Remove lowercase application name because Mac OS X menubar was inconsitent
|
|
|
|
2012-Mar-11 UPDATE Dick Hollenbeck <dick@softplc.com>
|
|
================================================================================
|
|
++pcbnew
|
|
* Add PCB_EDIT_FRAME::syncLayerVisibilities(), PCB_LAYER_MANAGER::SyncLayerVisibilities().
|
|
* Save all visibilities, layer and render, in BOARD and restore on load.
|
|
|
|
|
|
2012-Feb-19 UPDATE Dick Hollenbeck <dick@softplc.com>
|
|
================================================================================
|
|
++pcbnew
|
|
* Remove virtual BOARD_ITEM::{Get,Set}Position() which in turn means all
|
|
derived classes' implementations of these functions become non virtual and
|
|
can be truly _inlined_ for speed! All GetPosition() in derived classes were also
|
|
changed to return const wxPoint&, that is, a reference rather than a
|
|
full copy of the position wxPoint. There was no need for polymorphism in
|
|
{Get,Set}Position() since we never call these functions via generic pointer.
|
|
* Remove BOARD::{Get,Set}Position() since they were only there to satisfy
|
|
the pure virtuals established in BOARD_ITEM, which are now gone.
|
|
* Added const wxPoint& CPolyLine::GetPos(), made CPolyLine::Get{X,Y}() inline.
|
|
* Derive CPolyPt from wxPoint so we can return "const wxPoint&" from
|
|
CPolyLine::GetPos().
|
|
|
|
|
|
2012-Feb-19 UPDATE Dick Hollenbeck <dick@softplc.com>
|
|
================================================================================
|
|
++pcbnew
|
|
* remove global g_Pad_Master and put it into BOARD_DESIGN_SETTINGS
|
|
which is in turn already within BOARD.
|
|
* encapsulate class D_PAD with accessors, making data private.
|
|
* make D_PAD::GetBoundingRadius() do its longer calculation lazily, based on
|
|
m_boundingRadius == -1.
|
|
|
|
|
|
2012-Feb-5 UPDATE Dick Hollenbeck <dick@softplc.com>
|
|
================================================================================
|
|
++pcbnew
|
|
* Changed classs ZONE_SETTING to class ZONE_SETTINGS, better English.
|
|
* Changed ZONE_SETTINGS::Import() to operator << ( ZONE_CONTAINER )
|
|
* move globals into BOARD:
|
|
bool g_Zone_45_Only, is now in BOARD::m_zoneSettings.m_Zone_45_Only
|
|
ZONE_SETTINGS g_Zone_Default_Setting is now in BOARD::m_zoneSettings
|
|
* Added BOARD::{Get,Set}ZoneSettings().
|
|
* Added PCB_BASE_FRAME::{Get,Set}ZoneSettings().
|
|
* Save/load BOARD::m_zoneSettings.m_Zone_45_Only to/from BOARD file.
|
|
* Removed PCB_EDIT_FRAME::InstallDialogNonCopperZonesEditor() in favor of
|
|
::InvokeNonCopperZonesEditor() declared in zones.h
|
|
* Added ::InvokeCopperZonesEditor() declared in zones.h
|
|
* Removed dialog_copper_zones.h since DIALOG class is now declared in *.cpp.
|
|
* Renamed to enum ZONE_EDIT_T in zones.h
|
|
* SetVisibleAlls() is not called as it was in two previous cases for several
|
|
reasons. BOARD_DESIGN_SETTINGS constructor controls what is visible initially,
|
|
and in the near future so will the *.brd file. I believe the user should
|
|
have visibility setting rentention accross editing sessions of zones,
|
|
fields, etc.
|
|
* BOARD_DESIGN_SETTINGS constructor initializes hidden text as not visible.
|
|
* Added PCB_EDIT_FRAME::syncRenderStates() and PCB_LAYER_WIDGET::SyncRenderStates()
|
|
so the checkboxes can be set after loading a BOARD file containing previous
|
|
visibility settings.
|
|
|
|
2012-Feb-2 UPDATE Dick Hollenbeck <dick@softplc.com>
|
|
================================================================================
|
|
++pcbnew
|
|
* move globals into BOARD
|
|
-wxSize g_ModuleTextSize; /* Default footprint texts size */
|
|
-int g_ModuleSegmentWidth;
|
|
-int g_ModuleTextWidth;
|
|
But now the module editor is left hanging. I'll have to figure out
|
|
a way to pass from board editor to module editor these values, still.
|
|
|
|
|
|
2012-Feb-01, UPDATE Jean-Pierre Charras <jp.charras@wanadoo.fr>
|
|
================================================================================
|
|
Pcbnew:
|
|
Cvpcb:
|
|
more about new netlist format:
|
|
Cvpcb can now read new netlist format.
|
|
There is a big change in Cvpcb: now Cvpcb just creates or updates a .cmp file
|
|
Before this change, Cvpcb recreated the netlist (adding footprint info)
|
|
and updated the .cmp file.
|
|
But there is no reason to modify the netlist, because Pcbnew uses always the .cmp file
|
|
(when exists) to know the footprint selection for components.
|
|
Currently the netlist is used only when the corresponding .cmp file is not fount
|
|
to select footprints.
|
|
So users should not notice this important change.
|
|
|
|
2012-Jan-26, UPDATE Jean-Pierre Charras <jp.charras@wanadoo.fr>
|
|
================================================================================
|
|
Pcbnew:
|
|
First draft to use a new netlist format (using S expressions)
|
|
Eeschema can generate this netlist format.
|
|
Pcbnew can use (automatic identification) the current format or the new format.
|
|
Cvpcb does not use yet the new format.
|
|
To do:
|
|
New format in Cvpcb: how to use the .cmp file with the new netlist format
|
|
|
|
|
|
2012-Jan-22 UPDATE Dick Hollenbeck <dick@softplc.com>
|
|
================================================================================
|
|
++all
|
|
* Switch to C++'s true and false and away from C" TRUE and FALSE.
|
|
* Enhance class PLUGIN's comments to improve their value as instructional.
|
|
* Switch #includes from "file.h" to <file.h>, and fiddle with search paths
|
|
by using include_directories(BEFORE ...)
|
|
* dialog_page_settings did not have symmetrical space on its right border.
|
|
And it now remembers it last position and size within a program session.
|
|
* base_screen.cpp is now compiled twice, once for {pcbnew,cvpcb} and once
|
|
for eeschema, in preparation for "compile time" support of internal units
|
|
rather than "runtime" support.
|
|
|
|
|
|
2012-Jan-15 UPDATE Dick Hollenbeck <dick@softplc.com>
|
|
================================================================================
|
|
++all
|
|
Add "portrait" support to the page size settings for all standard paper
|
|
sizes. Tested with postscript output only. Required minor file format changes
|
|
to reflect the "portrait" setting. common/dialogs/dialog_page_settings.cpp
|
|
uses a checkbox but its name is "Landscape", which is inverted from portrait,
|
|
but since it is the more common choice, I used that rather than portrait.
|
|
The tooltip for that checkbox makes it clear. No portrait mode is supported
|
|
for "User" paper size.
|
|
|
|
|
|
2012-Jan-9 UPDATE Dick Hollenbeck <dick@softplc.com>
|
|
================================================================================
|
|
++all
|
|
* Carve out TITLE_BLOCK from BASE_SCREEN
|
|
* Add include/hashtables.h and put class PROPERTIES in there.
|
|
Change PROPERTIES to use "const char*" as the key instead of wxString.
|
|
++eeschema
|
|
* Add shim class SCH_BASE_FRAME which introduces the data model SCH_SCREEN
|
|
to the frame EESCHEMA frame class hierarchy and allows sharing of:
|
|
SCH_SCREEN* GetScreen() const; // overload EDA_DRAW_FRAME
|
|
void SetPageSettings( const PAGE_INFO& aPageSettings ); // overload EDA_DRAW_FRAME
|
|
const PAGE_INFO& GetPageSettings () const; // overload EDA_DRAW_FRAME
|
|
const wxSize GetPageSizeIU() const; // overload EDA_DRAW_FRAME
|
|
const wxPoint& GetOriginAxisPosition() const; // overload EDA_DRAW_FRAME
|
|
void SetOriginAxisPosition( const wxPoint& aPosition ); // overload EDA_DRAW_FRAME
|
|
const TITLE_BLOCK& GetTitleBlock() const; // overload EDA_DRAW_FRAME
|
|
void SetTitleBlock( const TITLE_BLOCK& aTitleBlock ); // overload EDA_DRAW_FRAME
|
|
|
|
|
|
2012-Jan-5 UPDATE Dick Hollenbeck <dick@softplc.com>
|
|
================================================================================
|
|
++all
|
|
Ki_PageDescr was re-written as a proper C++ class and renamed to PAGE_INFO.
|
|
It describes paper. The m_Offset field was dropped since it was only used
|
|
in HPGL plotting within EESCHEMA. PAGE_INFO instance was moved out of
|
|
BASE_SCREEN (which is on its way out) into both SCH_SCREEN and BOARD.
|
|
|
|
|