The zoom window toolbar button is on the right toolbar separated from the
other zoom buttons on the top toolbar. Move the zoom window button to the
top toolbar beside the other zoom buttons.
Now the full library loading is not aborted (and the other libraries in list are also loaded).
Only the bad .fp file(s) is not loaded.
Mainly, a .fp file load error does not throw a library load error, and this is a temporary fix.
But throwing a library error when a .fp file cannot be loaded is worst (you even cannot import a good .fp file).
Before the refactor library browser display Bezier curves correctly only
once, at other times they were just straight lines or crashed the
application.
DIALOG_PAD_PROPERTIES disables the axis display which propagates
back to the parent frame when they share the same GAL_DISPLAY_OPTIONS
instance.
Fixes: lp:1687014
* https://bugs.launchpad.net/kicad/+bug/1687014
All E'STRUCTS' are moved to common except for ERULES (which is
specific to pcbnew and needs its internal units), still in
pcbnew/eagle_plugin.{h,cpp}
In order to get rid of another boost dependency, this also changes
the parsing of the XML from Boost.PropertyTree to wxXml.
To replace boost::optional, an OPTIONAL_XML_ATTRIBUTE class has
been implemented. This could be replaced with std::optional when
C++17 is ready.
The footprint library cache handler would throw an exception on the
first error it encountered preventing all subsequent footprint files
from being parsed even if there was nothing wrong with them. This
commit queues errors until all of the footprint files in the folder
have been parsed.
Fixes lp:1416736
https://bugs.launchpad.net/kicad/+bug/1416736
This patch adds a radiobox to allow the user to select a reference point for
the move. The additional options are: User Origin (set with <space>),
Grid Origin and Sheet Origin (effectively making it an absolute coordinate).
A checkbox is added (where it makes sense) to allow overriding which point
within the component is put on top of the designated coordinate.
Fixes: lp:1460460
* https://bugs.launchpad.net/kicad/+bug/1460460
If there was a board with no copper layers checked as visible, the
initial GAL cache contained an empty entry for them. In such case,
toggling layers visibility have not changed anything.
The visibility condition check has been moved to ViewGetLOD() method
which serves better the purpose of dynamic visibility checks.
Fixes: lp:1639974
* https://bugs.launchpad.net/kicad/+bug/1639974
Fix incorrect frame deletion, only noticeable when eeschema is run in stand alone mode.
After selecting a footprint using the footprint viewer, the application cannot be closed.
Reason:
the footprint viewer ctor creates an instance (not shown) of a FRAME_PCB.
Unfortunately, this pcb frame was not deleted by Eeschema, in stand alone mode,
preventing the application to be closed because a frame was still active after closing the schematic editor frame.
Now the footprint viewer ctor delete this instance after use, if it was not previously existing.
Move the dialog layout refresh from the ctor to TransferDataToWindow which
is called by event after the dialog object is constructed. This was causing
the 3D view panel to be drawn incorrectly on windows builds.
Remove unnecessary wxT() macros.
Fixes lp:1665888
https://bugs.launchpad.net/kicad/+bug/1665888
Factor out the FP_LIB_TABLE specific content from FP_TBL_MODEL into a new
LIB_TABLE_GRID class that can be used for any library table grid mix in.
Create new FP_LIB_TABLE_GRID object for the footprint library edit dialog.
Add method GetEnvVariables() to return any environment variables found in
a LIB_TABLE object.
These were backwards since internal angles are CCW due to the inverted Y
axis.
The hotkeys have NOT changed. This means 'R' is now clockwise and
'Shift+R' is anti-clockwise. This is the same as EEschema, but not the
same as Legacy mode.
- DIALOG_CHOOSE_COMPONENT has footprint select widget
- FOOTPRINT_SELECT_WIDGET
- FOOTPRINT_CHOICE widget (customized wxComboCtrl)
- FOOTPRINT_FILTER class
- FOOTPRINT_INFO rework:
- FOOTPRINT_ASYNC_LOADER to load without freezing UI
- Rewrite loader threads as queue-driven thread pool
- Make FOOTPRINT_INFO available via kiway
- FP_LIB_TABLE::PrefetchLib
- Access to global fp-lib-table via kiway
- SYNC_QUEUE threadsafe queue template
- Remove KICAD_FOOTPRINT_SELECTOR build option
Removes the need of using the legacy code in polygon/PolyLine.{h,cpp},
refactoring all CPolyLine instances with SHAPE_POLY_SET instances.
The remaining legacy methods have been ported to SHAPE_POLY_SET;
mainly: Chamfer, Fillet, {,Un}Hatch.
The iteration over the polygon vertices have been simplified using the
family of ITERATOR classes.
The zone creation in DRAWING_TOOL was a complex event loop whici
simultaneously managed the event handling, construction of the preview
polygon and the creation and commiting of the zone, all in the same
scope. This has been broken into several pieces:
* POLYGON_ITEM preview item, used to preview the polygon in progress
* POLYGON_GEOM_MANAGER is a class that collects points from user input
and used them to describe a polygon's geometry, including calculation
of 45-degree constrained leader lines
* ZONE_CREATE_HELPER is a class which deals with creating zones based on
geometry from a geometry manager and parameters from the DRAWING_TOOL
* The (much simpler) event loop in DRAWING_TOOL drives the
POLYGON_GEOM_MANAGER. With a minor refactor, this loop can be reused
in future for other polygonal tools if wanted.
The polygon preview now has a translucent fill which makes it easier to
visualise the zone.
This also adds the Close Zone Outline and Delete Last Corner actions as
part of the new event loop.
Fixes: lp:1663885
* https://bugs.launchpad.net/kicad/+bug/1663885
Fixes: lp:1667885
* https://bugs.launchpad.net/kicad/+bug/1667885