Roberto Fernandez Bautista
f559e94b00
Non-Kicad Project Importers: Fix the creation of project fp libraries
...
Adds a new function to PLUGIN GetImportedCachedLibraryFootprints() that
loads the library footprints of the board design that was imported
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7449
2021-02-10 18:49:20 +00:00
Jon Evans
3ac5fd6342
Get rid of wx popups when opening a read-only project
2021-02-03 19:17:32 -05:00
Marek Roszko
e6dd95e83a
Create a default user projects folder
2021-01-27 19:12:18 -05:00
Wayne Stambaugh
6a39b81647
Fix the last of broken Doxygen comment specifiers.
2021-01-27 17:39:44 -05:00
Jon Evans
1e030655cd
Always create project when doing a Save As on a board with a project
2021-01-26 21:58:17 -05:00
Seth Hillbrand
950db6ff9c
pcbnew: Add Fabmaster import
...
Allows importing ASCII design output from OrCAD designs
2021-01-16 14:28:33 -08:00
Jeff Young
0bce280424
Make sure design rules get recompiled after netclass changes.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7082
2021-01-13 12:37:20 +00:00
Jon Evans
d2d4ffe6d0
Dismiss infobar if it's dismissable on board save
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7071
2021-01-12 23:24:13 -05:00
Jon Evans
01181ccb2f
Make sure project is unlinked before deleting it
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7038
2021-01-11 22:17:13 -05:00
Roberto Fernandez Bautista
cde433c82e
CADSTAR PCB Archive Importer: Transfer Project to allow importing of Text Variables
2020-12-30 18:53:43 +00:00
Jon Evans
c4bfca251b
PcbNew: show file format conversion warning in infobar
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6200
2020-12-27 19:17:58 -05:00
jean-pierre charras
eb7dc6ddd9
Minor fixes. In stand alone show the frame as soon as possible.
...
Especially when running Pcbnew to open a complex board the frame is shown faster.
Add also a busy cursor when loading files and building the data.
2020-12-21 17:44:10 +01:00
Marek Roszko
dd0ad8f3a1
Read the fp-info-cache on pcb file load rather than on frame open
...
Otherwise in standalone mode pcbnew will never load the cache files and also later erase them :/
2020-12-10 21:34:40 -05:00
Marek Roszko
ad1aae40ec
Unify the saved file strings
2020-12-08 19:49:47 -05:00
Marek Roszko
abb5cb8310
Fix up msg panel status on save slightly
...
- pcbnew should use status bar on success like eeschema
- Add a helper to clear msgpanel and set it in one go to avoid redraw delays due to doing processing in between
2020-12-08 00:28:07 -05:00
Jon Evans
f78d909ffb
Correctly set up projects for converted boards
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6209
2020-11-28 22:46:05 -05:00
Roberto Fernandez Bautista
e3334cd25c
Non-KiCad Project importers: Do not rebuild the netlist or reannotate after import
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6383
2020-11-28 17:18:17 +00:00
Jeff Young
18ad58cf4c
Replace legacy copper edge heuristics.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6435
2020-11-19 13:35:26 +00:00
Marek Roszko
16e3e59495
Split out arrayDim and MIRROR templates from macros.h
...
These were not macros
2020-11-17 20:21:04 -05:00
Jeff Young
024812e5dd
Resolve legacy netclass definitions read from PCB file.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6415
2020-11-18 00:17:07 +00:00
Jeff Young
ec020dd19f
First-class support for filled shapes.
2020-11-14 01:40:32 +00:00
Jeff Young
bdbb68f813
MODULE -> FOOTPRINT.
2020-11-13 16:04:03 +00:00
Jeff Young
522d64968e
Yet more module -> footprint.
2020-11-13 15:16:24 +00:00
Jeff Young
52a46341db
More module -> footprint.
2020-11-13 15:16:24 +00:00
Jeff Young
f5443de7f9
D_PAD -> PAD.
2020-11-13 15:16:24 +00:00
Jeff Young
84dd5108ba
Remove some "class_" prefixes from files.
2020-11-13 15:16:23 +00:00
Jan Mrázek
fc8bf6f0fe
Allow a user to remap layers in Eagle import
...
ADDED Allow for user mapping of layers in Eagle import
ADDED Support required and optional layers in the layer mapping dialog
ADDED Add base class for plugins supporting remappable layers
2020-11-12 11:37:04 +01:00
Jeff Young
6417015b8a
Harvest -> Export
2020-11-09 17:21:47 +00:00
Marek Roszko
a785f70ea1
msgpanel is a widget, shove it to the right folder.
2020-10-25 20:01:12 -04:00
Jon Evans
2153a7655b
Try harder not to give a read-only path to save dialog
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5937
2020-10-21 20:55:43 -04:00
Jeff Young
adfc9f1288
Move File > Archive Footprints to Tools > Harvest Footprints.
...
CHANGED.
Also corrects references so they fit the generic pattern.
Fixes https://gitlab.com/kicad/code/kicad/issues/4518
2020-10-21 12:41:37 +01:00
Jon Evans
6a3384e764
Properly set up new boards when creating from the command line
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5913
2020-10-13 19:16:48 -04:00
Jeff Young
04c4012ee6
Make track/via sizes UI more predictable and compatible with DRC.
...
Two main changes: netclass values need to go through the DRC engine
so they can interact with other rules. They're also now dependent
on the layer being routed as well as the start object.
Also make the controls adjust to each other better. For instance,
copy-track-width needs to turn off when you select a particular
track width, and a particular track width needs to zero out when
you choose copy-track-width.
Fixes https://gitlab.com/kicad/code/kicad/issues/5951
2020-10-10 19:32:30 +01:00
Jeff Young
37906511f5
Class renaming.
...
DRAWSEGMENT -> PCB_SHAPE
EDGE_MODULE -> FP_SHAPE
TEXTE_PCB -> PCB_TEXT
TEXTE_MODULE -> FP_TEXT
2020-10-05 11:55:33 +01:00
Jeff Young
7a4900b8dc
PCB_LINE_T -> PCB_SHAPE_T and PCB_MODULE_EDGE_T -> PCB_FP_SHAPE_T
...
Also updated footprint text and zone types for consistencey.
2020-10-04 16:49:04 +01:00
Roberto Fernandez Bautista
8c783687a9
pcbnew: Add "All supported formats" drop-down to the "Import Non Kicad Board" file dialog
2020-10-03 02:19:13 +00:00
Roberto Fernandez Bautista
72d9a36fd6
ADDED: Dialog to handle import of unmatched layers from CADSTAR
2020-10-03 01:21:57 +00:00
jean-pierre charras
13304d0870
more cleanup about removing useless include
2020-10-02 13:40:00 +02:00
Roberto Fernandez Bautista
72b904a978
ADDED: CADSTAR Archive project importer
2020-09-27 23:50:20 +00:00
Jon Evans
5d78e9512f
Don't check for a control that doesn't exist
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5759
2020-09-22 18:00:12 -04:00
Jon Evans
e345e7d17a
Allow creating an empty project when saving a board standalone
2020-09-21 23:55:02 -04:00
Roberto Fernandez Bautista
7ca4f0b375
CADSTAR PCB Archive Importer: Formatting fixes
2020-09-08 21:21:21 +00:00
Roberto Fernandez Bautista
3b3af5327f
CADSTAR PCB Archive Importer: Move code into common/plugins and pcbnew/plugins folders
2020-09-08 21:21:20 +00:00
Roberto Fernandez Bautista
86bf592bac
ADDED: CADSTAR PCB Archive Importer
...
Initial commit
- Imports directly mappable layer stackup (only physical board fabrication layers for now)
2020-09-08 21:21:20 +00:00
Jon Evans
9f7bca38b3
A better way of handling standalone project files
2020-08-30 16:04:39 -04:00
Jon Evans
dc7e1783b3
Make sure a project is loaded at all times
...
For now, much of KiCad depends on Prj() working, so when we
are asked to unload a project, immediately load the null project
so that nothing breaks.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5374
2020-08-26 18:37:34 -04:00
Jon Evans
24435fcc62
Don't create new project files when opening boards/schematics
...
Display warning infobar in the board/schematic setup when no project
is loaded, since most of the settings in those dialogs are saved in
the project and not in the board/schematic file.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4868
2020-08-24 22:17:21 -04:00
Jon Evans
67a5ed15c7
Make sure appearance panel builds after project has been loaded
...
OnBoardChanged must run after LoadProjectSettings.
Move the local overrides to PCB_EDIT_FRAME::onBoardLoaded
so that they are run after the panel is initialized.
2020-08-24 19:39:18 -04:00
Jeff Young
d41f196d7f
Appearance panel must be initialized from board before setting active layer.
2020-08-24 00:49:08 +01:00
Jon Evans
6720473db9
Move net visibility/color controls to a wxGrid
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5235
Might improve https://gitlab.com/kicad/code/kicad/-/issues/5210
2020-08-23 13:15:07 -04:00
Jon Evans
0fa755ebb8
Don't refresh appearance panel until after project is loaded
2020-08-22 15:40:43 -04:00
Jeff Young
6450ee2f2c
Prevent crash if board doesn't have any layers in the layer preset.
2020-08-20 00:51:16 +01:00
Jeff Young
27b047ab3f
Cache project text vars as properties in the PCB board file.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5255
Fixes https://gitlab.com/kicad/code/kicad/issues/5005
2020-08-19 19:32:20 +01:00
Wayne Stambaugh
ede39780e2
Remove all debugging output that cannot be disabled.
...
The use of printf, wxLogDebug, and std::err/std::out causes excessive
debugging output which makes finding specific debugging messages more
difficult than it needs to be.
There is still some debugging output in test code that really needs to
be moved into a unit test.
Add debugging output section to the coding policy regarding debugging
output.
2020-08-18 10:17:36 -04:00
Jon Evans
bd14f8a82a
ADDED: New appearance control widget for PcbNew
...
Featuring:
- Layer view presets
- Per-type opacity for tracks, vias, pads, zones
- Net and netclass color and visibility controls
CHANGED: Simplified object visibilty controls
Fixes https://gitlab.com/kicad/code/kicad/-/issues/1951
Fixes https://gitlab.com/kicad/code/kicad/-/issues/1981
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2003
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2173
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2254
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4325
2020-08-15 15:24:28 -04:00
Marek Roszko
9278660b10
Add support for the windows application restart api
2020-07-28 14:32:39 -04:00
Jon Evans
a2041073ee
Skip project backup in standalone mode
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4867
2020-07-12 11:42:05 -04:00
Jon Evans
b1b9cef5fb
Full-project automatic backup system
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4763
2020-07-09 13:55:19 +00:00
Jon Evans
afd432e687
Infrastructure for net hiding
...
LoadProjectSettings changed to take place after the board
has been loaded so that board-specific project settings can
be applied (such as net visibility and color overrides)
2020-07-08 21:59:34 -04:00
Jon Evans
b084305b12
Clean up some pcbnew file handling bugs
2020-07-06 21:53:28 -04:00
Jeff Young
2819570d1e
Push panel_setup_netclasses down into common.
2020-07-06 20:00:50 +01:00
Jon Evans
3ebd5b317b
Don't try to switch projects during autosave
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4800
2020-07-05 11:02:48 -04:00
Jon Evans
4dbbe1cf68
Project settings fixes from review
...
- Fix file extension for new project
- Fixes for exceptions on MSW
- Fix some ASAN issues
- Allow SETTINGS_MANAGER to run headless
- Don't flag schematic as modified after schematic setup is closed
- Don't automatically unload projects when LoadProject is called
- Don't unload project if it's the same as the current one
- Make sure to properly init/de-init template field names
2020-07-02 22:08:54 -04:00
Jon Evans
fe5959b625
Remove the schematic and board backup file system
...
Per discussion on the developers list, this old system
no longer provides much value and is seen as annoying
by many users. The new save logic should prevent any
cases of file corruption on save, which was a major
reason for the backup file system existing.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2012
2020-07-02 22:08:54 -04:00
Jon Evans
c0aa6965de
Migrate PcbNew project settings to new framework
...
Various architecture upgrades to support this.
Creating a BOARD now requires a valid PROJECT, which caused
some (mostly transparent) changes to the Python API internals.
ADDED: Project local settings file
CHANGED: Board design settings are no longer stored in PCB file
CHANGED: Net classes are no longer stored in PCB file
CHANGED: Importing board settings now reads boards, not just projects
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2578
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4070
2020-07-02 22:08:54 -04:00
Jon Evans
a4fadfcdf2
Begin moving project file load to new system
2020-07-02 22:08:54 -04:00
Jon Evans
a7708fa6dc
Add PROJECT_FILE and basic load/unload methods
2020-07-02 22:08:54 -04:00
Jon Evans
09cb75b8a1
Use a temporary file when saving boards/schematics to make the operation more atomic
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4517
2020-06-19 23:31:26 +00:00
Seth Hillbrand
eb89d1c68b
pcbnew: Minor update to ratsnest calc
...
BuildConnectivity updates the ratsnest after it completes. By compiling
the ratsnest before connectivity, we update it twice with the dirty flag
being reset after connectivity updates.
2020-06-17 19:43:11 -07:00
Seth Hillbrand
8c57821e9b
pcbnew: Move ratsnest items to separate folder
2020-06-16 11:15:14 -07:00
Jeff Young
160981ee71
Better error reporting for DRC rule parsing.
2020-05-25 22:51:47 +01:00
jean-pierre charras
91b9e928dc
minor code cleanup.
2020-05-25 12:06:27 +02:00
Jeff Young
0aaccfbb28
Save hole-to-hole-min to file.
2020-05-19 20:48:47 +01:00
Jeff Young
cec857c0f4
Complete hookup of zone filler to new clearance engine.
2020-05-18 19:20:46 +01:00
Ian McInerney
613c020920
Move the file history into the frames
2020-05-17 00:12:49 +01:00
Ian McInerney
99dcadf7e6
Introduce new KI_FALLTHROUGH macro
...
Annotate purposeful fallthroughs in switch statements with the
KI_FALLTHROUGH macro.
2020-04-25 00:44:09 +01:00
Jeff Young
fd6dffe170
Only save changed severities etc. if the modify bit is set.
...
(Also means we need to set said bit when changing them.)
Fixes https://gitlab.com/kicad/code/kicad/issues/4164
2020-04-24 23:09:10 +01:00
Thomas Pointhuber
b707c84b62
Use Record handling for parsing
...
Now, we know how big a record is, and should be able to parse all boards without missing bytes?
2020-04-03 23:22:24 +00:00
Jeff Young
85c2e0d23a
Add user-defined severities, exclusions and colors to DRC markers.
...
Exclusions are currently persisted in the project file.
Fixes https://gitlab.com/kicad/code/kicad/issues/1989
2020-03-04 00:39:28 +00:00
Ian McInerney
879a8f4efb
Rework the file history menus to not need references to the file history
...
Keeping a pointer to the actual file history inside a special
file history menu led to many cases of use after free crashes,
so instead rework the actual file history to add the menu
items.
Fixes https://gitlab.com/kicad/code/kicad/issues/3741
2020-02-25 16:18:10 +00:00
Jon Evans
28222d3bd0
Use existing pcb filename for Save As where possible
2020-01-06 14:26:03 +00:00
Ian McInerney
b9d8849b28
Unify unsaved changes detection logic in all frames
...
Create an IsContentModified() function in each frame
that provides if the content has been modified, and
use that instead of always copying the checks.
2019-12-19 15:34:01 +00:00
Ian McInerney
f7ded3040c
pcbnew: Modify new file to have a better prompt when closing old board
...
CHANGED: The new file prompt now asks to save the board if needed
Fixes: lp:1853338
* https://bugs.launchpad.net/kicad/+bug/1853338
2019-11-24 14:51:29 +00:00
jean-pierre charras
6f2cbe5982
Pcbnew: housekeeping: move netlist code to netlist_reader sub directory.
2019-11-17 13:58:38 +01:00
Jeff Young
6179dfde37
Default keep upright to false in design settings.
...
The board file only writes out a token if it's true, so the value
must default to false.
Fixes: lp:1845883
* https://bugs.launchpad.net/kicad/+bug/1845883
2019-10-02 10:56:13 +01:00
jean-pierre charras
b25ffc0aa8
Pcbnew, layer manager: fix flicker when loading a file, and incorrect size on start when no file is loaded
...
Fixes: lp:1840591
https://bugs.launchpad.net/kicad/+bug/1840591
2019-08-19 10:42:22 +02:00
Jeff Young
562ab0bdea
Move layer defaults and diff-pair dimensions to board file.
2019-07-06 00:04:54 +01:00
Jeff Young
8f84c3ec4f
Grid rid of GetCanvas/GetGalCanvas distinction now that there's only gal.
2019-06-13 19:58:37 +01:00
Jeff Young
0ea75cb4e7
Another attempt to fix build failure.
2019-06-04 16:26:45 +01:00
Jeff Young
ea3c29e3ec
Now that we allow multiple 3DViewers, we need to make sure we have the right one.
...
Note that FindWindow() searches children, whereas FindWindowByName() searches
all windows.
2019-06-04 13:56:54 +01:00
Jeff Young
3912c7407f
Move global commands to ACTIONs.
...
Also fixes a crash bug opening Edit Tracks and Vias dialog.
2019-06-03 21:08:30 +01:00
Jeff Young
7553cc2651
Clean up some dangling legacy odds and ends.
2019-06-01 01:17:46 +01:00
Jeff Young
c2662b0e11
Retire EDA_DRAW_PANEL and legacy_wx/EDA_DRAW_FRAME.
2019-05-31 21:55:30 +01:00
Jeff Young
03bab2f4a9
Remove some more legacy drawing stuff.
2019-05-31 21:54:22 +01:00
Jeff Young
edc8438ef0
Start the process of removing the legacy draw panel.
2019-05-31 21:54:21 +01:00
Seth Hillbrand
e7e20b85b5
Don't change the board without user action
...
Grid and ratsnest visibility are stored in the board file and should not
be changed without the user explicitly modifying them.
In the future, we'll move these settings out of the board file but we
shouldn't cause extra file-churn for flipped bits.
Fixes: lp:1828285
* https://bugs.launchpad.net/kicad/+bug/1828285
2019-05-29 11:25:44 -07:00
Jeff Young
9d9745b555
Remove more legacy editing code.
2019-05-27 18:47:20 +01:00
Jeff Young
e9e28b9aac
Retire legacy block architecture.
2019-05-27 11:58:56 +01:00
jean-pierre charras
6e6063b258
Pcbnew: release the lock file if a board was loaded, and when clearing the board currently edited.
...
When the board is cleared, the previous loaded board is no longer in edit.
2019-05-20 18:36:24 +02:00
jean-pierre charras
5137b54bd8
Pcbnew: fix a (minor) lock file issue: the lock was too early set.
...
If the file was (for some reason) not actually loaded, it was locked.
Now, the file is locked only if it is actually loaded.
2019-05-19 11:03:44 +02:00