Add EDA_DRAW_FRAME::isBusy() method to test if the current item is being
edited or a block operation is in progress.
Ignore undo and redo commands when editor is busy.
Fixes lp:1718656
https://bugs.launchpad.net/kicad/+bug/1718656
Make all trace environment variable strings upper case and prefix with
KICAD_TRACE_ for consistency.
Add Doxygen group for the trace environment variable strings.
The fix is now only for Windows, because it creates issues and does not fix the special keys issues on Linux.
This is due to the serious differences in event management between platforms.
fp viewer uses the default colors, because it has no color setup dialog.
class_colors_design_settings: remove not used members.
Fix issue in modedit: the color config was never read.
Previous implementation uploaded only vertices with indices less
or equal to the number of stored vertices, which is invalid when
the container become fragmented.
Fixes: lp:1712887
* https://bugs.launchpad.net/kicad/+bug/1712887
Include GTK+ version when appropriate so developers don't have to try to
figure out which version of GTK+ wxWidgets was built against.
Add KICAD_SPICE option status.
Create a new dialog to edit global and project specific symbol library
tables.
Add menu entries for new symbol library table editor in schematic editor
and symbol library editor main frame menus.
Add command event handler for symbol library table editor dialog to
SCH_BASE_FRAME so it is accessible from derived frames.
Fix bug in default environment variables initialization. A test for
existing user defined environment variables was preventing any new
default environment variables added to the list from being initialized.
- support for background color setting
- removed several global config settings (such as g_Drc_On)
- wrapped most of global config settings in PCB_GENERAL_SETTINGS class
- reorganized PCB general options dialog to clearly mark which options concern only the legacy canvas
- new GAL feature for legacy users: double-click (or E) to change track width available as an option.
Fixes: lp:1530543
* https://bugs.launchpad.net/kicad/+bug/1530543
Fixes: lp:1707145
* https://bugs.launchpad.net/kicad/+bug/1707145
- added TOOL_INTERACTIVE::resetTransitions()
- made protected and moved TOOL_BASE::setTransitions() to TOOL_INTERACTIVE
- TOOL_MANAGER calls TOOL_INTERACTIVE::resetTransitions() instead of
setTransitions()
This forces the compiler class specific features rather than borrowing
from the base class's std::string. In some cases prior to this,
wxString( std::string ) was being called rather than UTF8::operator
wxString() leading to garbled wxStrings.
Added function UTF8::wx_str() which is of great convenience also.
Implicit conversions still work as before, and hopefully more reliably.
This commit was too broad and not cognizant of the purpose of the class
UTF8.
Add MAYBE_VERIFY_UTF8() macro, which can trap non-UTF8 encoded strings in
debug builds.
Use that macro conditionally in class UTF8 to trap non-UTF8 encoded strings
being put into UTF8 instances.
Fix potential memory leak in both footprint and symbol library table
parsers when a duplicate library nickname entry exists.
Parse entire symbol library table before raising duplicate nickname
exception.
Improve the duplicate library table nickname error message to make
life easier for users to fix broken tables.
In the previous version the method did not work correctly
when an action was invoked from context menu. In such case,
the cursor position was obtained in the moment of selecting
the action, instead of using the right click location.
DIALOG_COMPONENT_CHOOSE displays footprint preview when pcbnew kiface
is available, but it crashed when it was not in the same directory
as the executable. Now it displays an error message that allows the
user to quickly identify the problem.
Fixes: lp:1695005
* https://bugs.launchpad.net/kicad/+bug/1695005
Allow partial library reads in libraries that support footprint per file.
This includes the KiCad and GEDA footprint libraries.
Allow for partially cached libraries rather than ignoring all valid files
when an error occurs.
The is a bug in the wxMimeTypeManager object that sets the wrong default
PDF viewer on Linux. Using wxLaunchDefaultApplication resolves the issue.
Remove angle brackets <> from error message as this causes issues with
controls that interpret HTML text.
Remove GetChars() from string formatting functions since it is not
required with wxWidgets 3 or greater.
Before the refactor library browser display Bezier curves correctly only
once, at other times they were just straight lines or crashed the
application.
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
- Allows grouping of matched components
- Bulk edit of components in a spreadsheet window
- User can choose to save / undo changes
- All changes are pushed to the undo stack in a single operation
- Export table to HTML / CSV output
The recent refactoring work to move zones from CPolyLine to
SHAPE_POLY_SET resulted in a reduction in pcbnew's python
capabilities. This change exposed SHAPE_POLY_SET to restore
that functionality (albeit with slightly different method names)
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.
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.
Add loading symbol library table code to schematic PROJECT object.
Fix minor issues with loading global symbol library table.
Add default symbol library path environment variable to the environment
variable list and change the variable name to KICAD_SYMBOL_DIR.
Add code to SCH_SCREENS to test if all library nicknames of the symbol
library IDs are empty.
Remove unnecessary KICAD_USE_SCH_IO_MANAGER build option.
Independent drawing functions (that don't expect any particular state to
be set up fo them) on the GAL need to reset the GAL properties they
use. This adds GAL::ResetTextAttributes() to make this easier.
This is important, as failing to reset mirroring can cause asserts in
OpenGL.
This is used in the Ruler tool (which previously did it one attribute at
a time) and also the Arc layout assistant, which previously failed to
reset mirroring.
Also reset on GAL construction, as these members appear to be
uninitialised.