* Fix unitialized variable in MSG_PANEL_ITEM default ctor.
* Fix a bunch of uncaught exception issues.
* Fix a memory leak in the NETLIST_READER::GetNetlistReader() when an
an attempt to read an invalid net list file occurs.
Rename eeschema/dialogs/dialog_sch_find.fbp to dialog_schematic_find_base.fbp, to be consistent with other dialogs.
Pcbnew run from the project manager: add menu Save Copy As..., which is the same command as Save As ... in stand alone mode, but with the constraints of a project (no cwd change, no board filename change, and keep project settings)
Text arrays can now use "%s" as a placeholder to be substituted with the array index.
Also expand menu options for move exact, arrays and duplicate.
Minor fixes for arrays - use proper unit parsing, add numbering start for circular arrays
Add circle radius indicator to array dialogue
These settings are now not common to the board editor, because the footprint editor can be run outside the board editor.
download_boost.cmake: ignore .htm* files when installing boost. They are not used, and often have a very very long (and stupid) name which sometimes creates issues.
* Fix -Woverloaded-virtual warning in DIALOG_LIB_NEW_COMPONENT class
definition.
* Make EDA_ITEM::Matches( const wxString& wxFindReplaceData& ) protected
since it's a helper function that should only be called by derived objects.
* if the current select plugin is the github plugin, one can select some of these libraries and add them to the table
* if the current select plugin is the kicad plugin, one can select some of these libraries and download them to make alocal copy.
They can added to the table after they are downloaded.
this option was possible only by modifying the way display options are managed.
before these changes, display options were a global DISPLAY_OPTIONS class instance.
Now each EDA_DRAW_FRAME(and derivated classes) includes its own DISPLAY_OPTIONS class instance.
As a consequence, some duplicate display option variables in these classes have been removed, because there were just duplicate variables of the DISPLAY_OPTIONS class instance.
Please, note the layer manager was already available in GAL mode, but is was the same as tne board editor, which is not good.
Now:
- In default mode or GAL mode, the look is the same.
- Only suitable technical layers (i.e. paired layers) are selectable from the layers manager (for special purposes, some other layers can be used, via the graphic items properties dialog)
When the filename is not absolute, the page layout file is now searched first in project folder, and then in kicad template folder, if not found in project.
Fix issue when using a page layout file in project folder: eeschema and Pcbnew did not use it, unless using an absolute path.
Now, if the file path is nor absolute, it is seen as relative to the project (which is the expected behavior)
fp lib wizard: when pcbnew id compiled with USE_GITHUB_PLUGIN=OFF, the github plugin option is no more accessible (and the web viewer no more used).
Looked like a minor issue, but was due to a more serious bug, when using 2 different DSN_LEXERS which were not synchronized.
The fix is not perfect, but unfortunately, the parser used to read the PCB_PLOT_PARAMS in .kicad_pcb files is also used in legacy board file reader.
Therefore it is better than write 2 parser functions, one for legacy files, the other for the .kicad_pcb files, which make the same thing.
steps to better support devices with precise scrolling deltas (trackpads).
Scrolling is done in the handler rather than creating and firing cmd events.
This is intended to support two-finger scrolling on the Magic Trackpad.
- Added a preference, 'Use mousewheel to pan', to allow panning by default
on mousewheel events. This reverses the existing behavior where unmodified
mousewheel zooms and Shift/Cmd modified pans.
The old behavior was:
- Unmodified scrollwheel performed zoom in/out
- Shift modified scrollwheel performed pan up/down
- Cmd modified scrollwheel performed pan left/right
- Shift+Cmd modified scrollwheel performed zoom in/out
with no cursor warp
With the new preference checked, this changes to:
- Unmodified scrollwheel performs pan up/down
- Shift modified scrollwheel performs pan left/right
- Cmd modified scrollwheel performs zoom in/out
- Shift+Cmd modified scrollwheel performs zoom in/out
with no cursor warp
With the preference unchecked, this is now:
- Unmodified scrollwheel performed zoom in/out
- Shift modified scrollwheel performed pan left/right
- Cmd modified scrollwheel performed pan up/down
- Shift+Cmd modified scrollwheel performed zoom in/out
with no cursor warp
It should be noted that for the last case, the behavior has changed.
This is not arbitrary. This now matches expected behavior for an OS X
application. This also matches what wxWidgets expects on this platform
as wxWidgets changes the axis of mousewheel events to horizontal when
the event is shift-modified.
The preference is added everwhere that mouse preferences previously
existed, i.e., eeschema, pcbnew and gerbview. The 3D Viewer does
not yet honor this preference, but behaves as if it was checked.
The pl_editor does not currently have any preferences to honor.
As with the magnify event support, this covers canvases for all
current tools, EDA_DRAW_PANEL, EDA_3D_CANVAS and EDA_DRAW_PANEL_GAL.
This does NOT modify the behavior of mousewheel zooming, though it
probably should. This remains unsuitable for use with a trackpad,
use pinch-to-zoom instead.
Committing this separately from the rest to ease making a patch for just this
functionality in case that it might make it into the trunk.
This can function standalone, though it is less useful without the rest.
It requires that wxwidgets-3.0.0_macosx_magnify_event.patch be applied to wxWidgets
It is completely optional; everything is guarded by the USE_OSX_MAGNIFY_EVENT macro.
- Added OnMagnify event handler to EDA_DRAW_PANEL, EDA_3D_CANVAS and the helper for
EDA_DRAW_PANEL_GAL, WX_VIEW_CONTROLS. This should cover canvases all current tools.
- Guarded all with USE_OSX_MAGNIFY EVENT feature macro and added support in CMakeLists.txt
* Improve VRML export dialog lay out.
* Make the OK button the default action in the export dialog.
* Make 3D model export work correctly and avoid redundant file copies.
* Fix embedded path separators in wrl files on windows.
* Fix absolute model file path creation in wrl files.
* Clean up VRML export code.
* Change hot key editing contol from wxGridTableBase to wxListCtrl.
* Separate hot key lists into separate tabs rather than one large list.
* Coding policy fixes.
* Many path related fixes.
* Fix execution of external applications.
* Update mac-osx.txt.
* Add top-level links for standalone applications inside OSX bundle.
* Fix document icons for Eeschema and pl_editor.
* Create individual bundles for standalone applications inside the main application bundle.
* Add usual 'site-packages' to python path in OSX bundle.
* Fix name of OSX bundle plugin folder.
Rename "Switch highcontrast" to "Toggle High Contrast".
Eliminate most of the abbreviated hotkey titles.
Doxygenize dialog_hotkeys_editor.h and add missing license block.
Display <unassigned> if key code is 0 (NULL).
Refactor hotkey editor to use tab control instead of one giant list.
Each tab is a separate hotkey section.
Modify EDA_HOTKEY_CONFIG to change the m_Comment member to m_Title for a new purpose.
We want a pretty title in the hotkey editor. We use m_Title for the key export comment which
still conveys the purpose just as easily.
Refactored usage of wxGrid into wxListCtrl which allows capturing navigation characters
and also works better (single selection is built in).
Add hotkey overwrite prompts that are paired with "Common" section. It will check if a hotkey
overlaps with the proper sections. i.e. Common with the all other sections; or Section 1 with just Common.
Right-click menu removed due to wxListCtrl being able to catch the special keys properly.
* Compile all binaries into a single application bundle.
* Use CMake BundleUtilities to make application bundle relocatable.
* Restructure build output to directly create an image file.
* Fix default search paths.
* Set KIGITHUB environment variable.
* Added patch to fix wxWidgets so names for OSX.
Schematic component properties dialog: add 2 helper buttons to manage the chip name (name of the corresponding part in lib)
- a browse button to chose an other chip name
- a test button, to know if the part exists. If not existing, list the parts found when searching using a case insensitive comparison.
- Removed the friends MODULE and FOOTPRINT_EDIT_FRAME from TEXTE_MODULE
(as in the @todo comment)
- Refactored the Rotate/Flip/Mirror for text in modules into the
TEXTE_MODULE class itself (members RotateWithModule, FlipWithModule,
MirrorWithModule)
- New behaviour in coloring text on screen: reference and value still
take the color from the MOD_TEXT_FR_VISIBLE and MOD_TEXT_BK_VISIBLE
visibles; other text takes the color of the layer containing it
(except when hidden, obviously) but still get its visibility
controlled by those visibles (probably the most intuitive and useful
behaviour)
- Still need to decide: should text on a layer be hidden when the layer
is? Probably yes (still to be implemented);
- Some comment fixed and many cast converted to static_cast