Oleg Endo
137fe48d88
rewrite select net dialog
2020-04-21 13:23:56 +00:00
Oleg Endo
2f1d23312f
add BOARD_CHANGED and UNITS_CHANGED events
2020-04-21 13:23:56 +00:00
Oleg Endo
7bf8a744f1
add support for board listeners
2020-04-21 13:23:56 +00:00
Oleg Endo
e3aec20f82
move PCB_INSPECTION_TOOL::ListNets into pcb_inspection_tool.cpp, split out dialog_select_net_from_list.h
2020-04-21 13:23:56 +00:00
Oleg Endo
4c7471eb79
add more constness to connecivity algo
...
also make ForEachAnchor inlineable, like ForEachItem.
remove some unused function declarations.
2020-04-21 13:23:56 +00:00
Oleg Endo
3de5b98316
improve performance of CONNECTIVITY_DATA::GetNetItems
...
- CN_CONNECTIVITY_ALGO::ForEachItem
move implementation to header, so that a lambda can be inlined by the
compiler. improves iteration performance x2
- CN_ITEM::Net
move implementation to header, so that it can be inlined by the
compiler.
- CONNECTIVITY_DATA::GetNetItems
don't use std::set to filter out duplicates. use std::unique on sorted
vector. use a bitset to perform type check.
2020-04-21 13:23:56 +00:00
jean-pierre charras
83cb9c0d14
Fix a few Coverity and compil minor warnings. Remove dead code
2020-04-21 12:47:48 +02:00
Ian McInerney
e57c495d05
Fix remaining python method name error
...
The method was renamed to SetTextThickness in
9c8941e040
.
2020-04-20 23:24:55 +01:00
Matt Huszagh
300de7e74c
fix footprint wizard for rename from SetThickness to SetTextThickness
2020-04-20 22:09:41 +00:00
Johannes Pfister
e5042a46ba
Add ability to set SVG plot units and precision
...
ADDED: Ability to set SVG to metric or imperial units
and made it possible to change the size of a step
2020-04-20 22:02:03 +00:00
Ian McInerney
a23747c640
Cleanup the menu processing in the pcbnew layer widget
2020-04-20 22:43:55 +01:00
nopeppermint
0580b60ec1
add Show All Inner Layer button to layer selector
2020-04-20 19:54:26 +00:00
Jeff Young
7f1b409305
Remove dead legacy print code.
2020-04-20 17:03:38 +01:00
Jeff Young
dce42612d3
Fix via printing.
...
LAYER_VIAS needs to get set for them to print at all, and GetLOD
needs too look at the view layer visibiilties, not the board layer
visibilities.
Also implements a more pad-like strategy for printing blind/buried
vias when printing one layer per page (where the top/bottom arcs
don't make sense).
Fixes https://gitlab.com/kicad/code/kicad/issues/1938
2020-04-20 17:02:38 +01:00
Stefan
02bdec1c57
Pcbnew: Fix wrong show front/back layer icons in layer selector
2020-04-19 22:56:30 +00:00
Michael Kavanagh
7db355e34a
ADDED: TOOL_ACTION for switching PNS router mode.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/2249
2020-04-19 22:44:05 +00:00
Jeff Young
b2cd66f0a3
Add specific selection updating when adding 3D models.
...
This keeps us from being at the receiving end of wxWidgets' vagaries.
Fixes https://gitlab.com/kicad/code/kicad/issues/3760
2020-04-19 22:42:27 +01:00
Jeff Young
7e4d255cdd
Apply Scintilla hack to get auto-sizing canvas.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4207
2020-04-19 20:09:43 +01:00
Jeff Young
c08a6adb2a
Implement GUI and file R/W for 3D model opacity.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/2087
2020-04-19 18:24:39 +01:00
jean-pierre charras
d28fea5502
Dxf import: fix a bug that disable import of data inside blocks
...
Provide also a minimal debug info when enabled in code (and only in debug version)
2020-04-19 13:41:54 +02:00
Ian McInerney
7bda8178d1
Move library includes to main CMake file
...
Placing them behind the SYSTEM directive tells CMake to tell
the compiler they are system libraries, so it shouldn't show
warnings created from them.
2020-04-19 01:11:56 +01:00
Jeff Young
895f46da8f
Another attempt to fix the textbox scrollbars on GTK.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4207
2020-04-18 21:41:20 +01:00
Jeff Young
2b6089240a
Change super/subscript syntax to ^{foo} and _{foo}.
2020-04-18 21:04:41 +01:00
Stefan
8abe07f6e7
altium importer: Fix size of record
...
Previous size led to incorrect import of some boards.
From https://gitlab.com/kicad/code/kicad/-/merge_requests/172
2020-04-18 01:00:11 +00:00
Ian McInerney
3b67e3d0a4
Rewrite window positioning logic
...
Now only reposition a window if it is completely on a
disconnected display or if only one corner is on screen
and it is within a region close to the screen border.
CHANGED: Window position on startup should be preserved more
2020-04-18 00:47:38 +01:00
Seth Hillbrand
6af21703fe
P-CAD: Support Rounded Rect import
...
The P-CAD import supports rounded rectangles but doesn't allow
modification of the radius.
2020-04-17 10:48:37 -07:00
Thomas Pointhuber
2703bd6b81
alitum: set layer name, fix handling of odd layercount
2020-04-17 11:06:55 +00:00
Thomas Pointhuber
ff5a0f61b2
altium: trim property string to avoid things like spurious newline characters
2020-04-17 11:06:55 +00:00
Thomas Pointhuber
a29e55fe7e
altium: Fix handling of odd layercount (otherwise, saved *.kicad_pcb file would no longer load)
2020-04-17 11:06:55 +00:00
Jeff Young
cb708aaadb
Fix some memory leaks.
2020-04-16 21:57:07 +01:00
Jeff Young
9c8941e040
Remove a bunch of globals.
2020-04-16 17:34:46 +01:00
Michael Kavanagh
7513303cf4
Remove pad properties wxNotebook background
...
Fixes https://gitlab.com/kicad/code/kicad/issues/3920
2020-04-16 15:06:43 +00:00
Mikołaj Wielgus
5049214f33
Pcbnew statistics: remove horizontal margin in drill table
...
This margin caused a horizontal scrollbar to appear on Debian Buster
Xfce.
2020-04-16 12:58:02 +00:00
jean-pierre charras
e1af9df83e
Pcbnew, legacy_plugin.cpp: fix broken conversion of pad layers.
...
Fix also incorrect copper layer count setting
2020-04-16 14:40:51 +02:00
Simon Richter
5aac36dba9
New enum for trace selection mode
...
This avoids giving KICAD_T another meaning, which is especially messy here
as "select up to the next via" is encoded as SCH_JUNCTION_T, which belongs
to eeschema.
Also, document what is happening.
2020-04-15 11:17:51 +00:00
Tomasz Wlostowski
4a3cd77416
router: smarter way to check the shove direction without using silly heuristics
2020-04-15 13:00:48 +02:00
Tomasz Wlostowski
c121f8f52c
pcbnew: speed up ZONE_CONTAINER bounding box calculation
2020-04-15 13:00:48 +02:00
jean-pierre charras
5143f87678
Kicad2step: Many fixes in oce_utils.
...
- Better code and messages.
- Speedup calculations when removing cutouts and holes from main board.
- Do not stop step generation when trying to load a 3D modele having issues.
2020-04-15 11:44:12 +02:00
jean-pierre charras
b68bdc22d7
Fix in kicadpcb reader. Update dialog export step
...
kicad2step: code cleanup, and more activity messages displayed
2020-04-15 10:51:35 +02:00
jean-pierre charras
110b05fe78
kicad2step: convert it from a wxAppConsole to a wxApp, using a wxFrame/wxPanel
2020-04-15 10:51:35 +02:00
Ian McInerney
45dabde68e
Small cleanup in zone class
2020-04-14 18:00:09 +01:00
Ian McInerney
37a4dd927b
Allow deletion of zone cutout areas
...
ADDED: Ability to delete zone cutout areas
Fixes https://gitlab.com/kicad/code/kicad/issues/4188
2020-04-14 17:57:47 +01:00
Ian McInerney
7068b6453e
Fix latent bug in zone area calculation
...
The filled polygons don't have holes, so this was never hit,
but it still needs to be fixed.
2020-04-14 17:32:47 +01:00
Jeff Young
6e800bddae
Rationalize penWidth processing as first step in removing some globals.
2020-04-13 20:58:13 +01:00
jean-pierre charras
bdada70ee7
Cosmetic enhancements: add bitmaps to a few context menus.
...
Fix also a minor compil warning.
2020-04-12 10:29:28 +02:00
Jeff Young
350696ecdd
Only convert references to KIIDs if the variable resolves.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/2458
2020-04-11 20:47:44 +01:00
Jeff Young
505d8bf56e
Allow ':'s in field name references in text variables.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/2458
2020-04-11 20:47:44 +01:00
Jeff Young
a8b025ab06
Fix "show" column label.
2020-04-11 13:02:18 +01:00
jean-pierre charras
096564ec0c
Fix some typos and I18n issues
2020-04-11 08:57:46 +02:00
Jeff Young
174856bac5
Promote 3D model "preview" flag to a persisted "show" flag.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/2061
2020-04-10 22:49:56 +01:00
Jeff Young
84944524cc
Fix crash on OSX when page was changed before hack array was alloc'ed.
2020-04-10 22:49:56 +01:00
jean-pierre charras
dac78d2562
fix a few minor Coverity warnings.
2020-04-10 18:28:12 +02:00
jean-pierre charras
2c8ada42a0
Arc shaped track segments: fix 3D viewer and track to polygon converter.
2020-04-09 10:37:17 +02:00
Jeff Young
e016b629d3
Be smarter about determining if there are modules in the selection list.
...
The old algorithm would delete modules if another module was in the
list, which was not the intention.
Fixes https://gitlab.com/kicad/code/kicad/issues/4175
2020-04-09 00:06:17 +01:00
Jeff Young
317e98b344
Simplify user model for editing color themes.
2020-04-08 22:34:56 +01:00
jean-pierre charras
c877cb967f
Arc shaped track segments: fix plotters and export vrml.
...
Export Hyperlinx is not fixed.
2020-04-08 17:30:20 +02:00
Simon Richter
0c2d081925
Remove unused class and friend declarations
...
This forward declaration doesn't match the class defined inside the
function, so the friend declaration does nothing. The friend declaration is
also unneeded, because the function is a member of the class (and so are
types defined within it), so these already have access to private members.
2020-04-07 22:14:39 +00:00
Jeff Young
840cab4eec
Allow user to show layer if DRC object is hidden.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/3686
2020-04-07 17:29:58 +01:00
Jeff Young
aba0fa7bf8
Allow cross-referencing text substitutions.
2020-04-07 17:29:58 +01:00
Jeff Young
76bbb71402
Correct some formatting issues.
2020-04-07 17:29:58 +01:00
Thomas Pointhuber
05d070a0c9
altium: update to new string replacement variables
2020-04-07 14:52:55 +00:00
Thomas Pointhuber
13eb4d73da
altium: fix segfault due to incorrect check
2020-04-07 14:52:54 +00:00
Thomas Pointhuber
a433d9ea55
altium: improve property reading code, do not rely on exceptions
2020-04-07 14:52:54 +00:00
Jeff Young
322ab60cc5
Fix some Coverity issues.
2020-04-06 12:31:59 +01:00
Simon Richter
710e93bc53
Drop <zconf.h> include
...
It doesn't seem to be required, and it makes the directory depend on
zlib.
2020-04-05 23:34:13 +00:00
Ian McInerney
cb380cda0c
Fix some build warnings
2020-04-06 00:31:45 +01:00
Jeff Young
7bce0e17f2
Refresh netlist popups after import settings from.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4075
2020-04-06 00:05:34 +01:00
Jeff Young
9a258df58a
Fix layout issues in Gen FP Positions dialog and add text var support.
...
Also adds text var support to Export SVG dialog.
2020-04-05 23:56:24 +01:00
Jeff Young
b13559c926
Add envVar and text variable resolution to plot directory paths.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/3808
2020-04-05 23:56:24 +01:00
Thomas Pointhuber
78159c6744
Altium importer bug fixes
...
altium: add missing "layer name" -> "layer" mapping
altium: some coverty fixes towards file reading
altium: improve zone handling, fix coverty issues
2020-04-05 22:26:29 +00:00
Jeff Young
cc9ac37a0e
Add text variable support to envVar processing.
2020-04-05 20:52:26 +01:00
Ian McInerney
4ff61318af
Push pcbnew grid visibility storage into EDA_DRAW_FRAME
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4154
2020-04-05 18:49:10 +01:00
jean-pierre charras
5097d14875
More about do not mark translatable strings used in debug messages.
2020-04-05 14:10:06 +02:00
jean-pierre charras
34651693c1
Altium importer: more about do not mark translatable strings used in debug messages.
2020-04-05 13:45:55 +02:00
jean-pierre charras
70afd12524
Altium importer: do not mark translatable some strings used in debug messages.
2020-04-05 11:22:52 +02:00
Ian McInerney
0dac0c9a47
Cleanup some dynamic casts
...
From Coverity scan
2020-04-04 12:41:45 +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
78dfbca9a3
Save pre-eval values for Move Exactly dialog.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4088
2020-04-03 21:47:47 +01:00
Wayne Stambaugh
082944ad06
Minor build warning fixes.
2020-04-03 13:03:23 -04:00
Ian McInerney
de66c65f3c
Don't immediately read back clipboard data on OSX
...
This causes an ASAN error because something in the wx
clipboard cache is incorrect (so it tries to copy more
data than it has available). Closing the clipboard and
reopening to read works (since close clears the cache).
2020-04-03 15:54:09 +01:00
jean-pierre charras
161b73e55b
Enable storing pin function (pin name) in pads.
...
This is useful in board routing.
It is plotted in pad attribute TO.P in Gerber files.
2020-04-02 20:14:45 +02:00
Jeff Young
b59da3e4dc
Overridden versions of GetShownText() still need to call EDA_TEXT version.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4151
2020-04-02 18:27:54 +01:00
jean-pierre charras
25fb2595c8
Fix fully broken selection of items of the same sheet, in pcbnew and from eeschema.
...
Previously, the full UUID path used to select footprints was full broken.
2020-04-02 14:21:09 +02:00
jean-pierre charras
ffe0b4aba1
Fix a few Coverity warnings.
2020-04-02 14:21:09 +02:00
jean-pierre charras
ddb7b2b2b7
pns router: fix possible hang when using "end" key to finish the current track.
...
Add also left double click (same as "end" key) to finish the track.
Fixes #4116
https://gitlab.com/kicad/code/kicad/issues/4116
2020-04-02 14:21:09 +02:00
Ian McInerney
0d79ada3ec
Show the pencil cursor when placing an item, but it isn't created yet
2020-04-01 18:24:58 +01:00
Ian McInerney
4b647ba6b1
Refactor microwave parts into the microwave tool
2020-04-01 18:24:31 +01:00
jean-pierre charras
e811101567
fix a few Coverity warnings.
2020-04-01 09:34:44 +02:00
jean-pierre charras
3a107e5484
Better generation of drill maps in PS, PDF, SVG formats.
...
These formats use a defined page size (currently A4), and therefore
the drill list cannot be outside the page.
When there are a lot of drill diameters it can happen.
Now the long lists are plotted on more than one column.
2020-03-31 16:48:03 +02:00
Jeff Young
13d3f57fce
Implement a different solution to refreshing lib trees.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4110
2020-03-31 02:09:31 +01:00
Jeff Young
41b5872f12
Add ERC & DRC checks for unresolved variables.
2020-03-30 14:15:59 +01:00
Jeff Young
4990d1e7b2
Variable substitution framework.
...
This implements editing of variables and moving SCH_FIELDs,
TEXTE_MODULEs, TEXTE_PCB and worksheet items over to the new
framework.
2020-03-30 14:15:59 +01:00
jean-pierre charras
6e47f147aa
A few Coverity fixes.
2020-03-30 09:50:26 +02:00
Jon Evans
34aee50ae1
Rework plotting colors to ensure color settings are always available
2020-03-29 21:43:18 -04:00
Michael Kavanagh
570ea62b64
Fix discrepancy between ASCII and CSV fp pos files
...
Fixes https://gitlab.com/kicad/code/kicad/issues/3897
2020-03-29 16:55:01 +00:00
jean-pierre charras
9d2712a824
Fix a few Coverity warnings.
...
It also fix:
Fixes #4082
https://gitlab.com/kicad/code/kicad/issues/4082
2020-03-29 18:42:24 +02:00
jean-pierre charras
259d7a47d4
Pcbnew: enhancements:
...
Plot Gerber format default values: X2 attributes enabled.
Gerber job file: use a trick to truncate floating values to 4 digits in mantissa.
It gives a much better readability and 0.1 micron is enough for
mechanical dimensions
2020-03-29 15:35:47 +02:00
Jeff Young
5134856f18
Rationalise 3D settings data-structure.
...
Move the camera out to its own so that everything else is board-
related, and then rename BOARD_ADAPTER.
At some point the flags should probably be moved out too, and they
can have the EDA_3D_SETTINGS name.
2020-03-28 16:09:40 +00:00
jean-pierre charras
3e247a70d5
Gerber plot: new algo to generate solder mask layers with non 0 min thickness mask
...
Previously, all overlapping polygons (pads and min thickness areas to remove) were
merged.
Drawback: pads attributes are lost. In Gerber this is annoying.
Now the pads are plot as flashed or Regions items, and min thickness areas are added
but shapes are not merged and keep their attributes.
2020-03-28 16:32:46 +01:00
jean-pierre charras
74957bc7e3
Footprint editor: re-enable a internal copper layer to add/edit keep-out zones
...
on internal layers in footprints.
Fixes #4096
https://gitlab.com/kicad/code/kicad/issues/4096
2020-03-26 16:53:46 +01:00
Jeff Young
ba36fc0009
Fix some Coverity issues.
2020-03-25 14:38:43 +00:00
Jon Evans
18ad186b99
Fix plotting without Pgm context
2020-03-24 21:45:58 -04:00
Jeff Young
d69ebfae49
Push tool framework base down into TOOL_HOLDER.
...
This allows us to use it outside of EDA_BASE_FRAMEs (in this case, in
PANEL_PREVIEW_3D.)
2020-03-24 19:00:25 +00:00
jean-pierre charras
5f60d955be
minor fix for commit eb250b4cb
2020-03-24 18:43:15 +01:00
jean-pierre charras
eb250b4cb0
PCB_PAINTER: minor fix: display better pad shapes on solder paste layers.
...
the parameter margin percent was badly handled for rectangular/oval pads,
giving an incorrect solder paste shape for non 0.0 values
now it is is correctly handled.
2020-03-24 18:29:12 +01:00
jean-pierre charras
cc47062b17
Fix a few Coverity issues
2020-03-23 16:17:22 +01:00
jean-pierre charras
4d9d1a5380
Fix a few compil minor warnings and Coverity minor issues
2020-03-22 09:45:51 +01:00
Jeff Young
93b7eacfb2
Fixup some Coverity issues.
2020-03-21 16:32:22 +00:00
jean-pierre charras
9cb3333d05
Gerber plotter: plot round rectangle pads using a region with arcs.
...
Previously, the region was a usual polygon with arc approximated by segment.
Using a region with arcs is a better way because it allows CAM tools to
identify this region as a round-rect pad.
A side effect is a better shape and smaller files, however not really noticeable in fact.
2020-03-20 19:45:05 +01:00
Jeff Young
e9cd9ee8ff
Actionize the rest of the 3D viewer.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/2228
2020-03-19 15:10:32 +00:00
jean-pierre charras
64d217edda
drc.h: replace a list of #define by an enum.
...
Due to changes in code, the reason for using #define does not exist
since a long time.
2020-03-18 10:19:46 +01:00
Jeff Young
204f2cd580
Reference -> reference designator.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4012
2020-03-17 16:09:25 +00:00
Jeff Young
847de9143e
Add some tooltips.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4012
2020-03-16 22:43:16 +00:00
Jeff Young
3b97993daf
Another attempt to fix offset issues when pasting board items to ModEdit.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4032
2020-03-16 18:45:55 +00:00
Wayne Stambaugh
7dc64f08b7
Eeschema: implement s-expression schematic file formatter.
...
Please note that the symbol cache is not embedded in the schematic file
to allow for round robin testing with the existing file format. Once
the parser round robin testing is complete, the symbol cache will be
embedded in the schematic file.
2020-03-16 09:05:16 -04:00
Jeff Young
cee973dc04
Move ERC error reporting over to the new framework.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/1989
2020-03-16 11:06:15 +00:00
Jeff Young
222b222299
Improve ease of understanding around PCB <-> schematic links.
...
Includes improvements to Update PCB from Schematic dialog and
corresponding changes to Symbol Properties, Sheet Properties and
Footprint Properties.
Fixes https://gitlab.com/kicad/code/kicad/issues/4012
2020-03-16 11:06:15 +00:00
jean-pierre charras
1e40753d33
FOOTPRINT_EDIT_FRAME: fix missing saving/loading a few config params.
2020-03-15 19:51:41 +01:00
jean-pierre charras
76b64afc26
ZONE_CONTAINER copy ctor: add missing members in copy code.
...
Fixes #4050
https://gitlab.com/kicad/code/kicad/issues/4050
2020-03-15 09:39:42 +01:00
Jeff Young
085d80e3f3
Remove duplicated settings from preferences.
...
These have now moved to project-specific settings.
2020-03-13 17:28:53 +00:00
jean-pierre charras
741783c6d1
Pcbnew: Set default solder mask min size to 0.
...
When the solder mask min size is > 0, pads are no longer flashed or regions items.
Good Gerber files need pads flashed or regions items.
Non 0 solder mask min size is reserved to special cases (home made PCBs for instance)
2020-03-12 20:05:08 +01:00
jean-pierre charras
78a7c7dfe0
Zones: fix a crash when adding a zone cutout to a zone having already holes.
...
Fixes #4039
https://gitlab.com/kicad/code/kicad/issues/4039
2020-03-12 14:42:32 +01:00
Seth Hillbrand
61704cb508
Initialize missing variable
2020-03-11 15:24:08 -07:00
jean-pierre charras
fbd01f2f7d
DRC_TREE_MODEL: Fix incorrect display of DRC errors on linux+wxGTK 3.0
...
Fixes #4038
https://gitlab.com/kicad/code/kicad/issues/4038
2020-03-11 10:46:08 +01:00
Jeff Young
51b9944667
Fix pasting of items from board to Footprint Editor.
...
In particular, map the netlist info to the orphaned item, and
adjust the position of module graphic items to no longer be
module-relative.
Fixes https://gitlab.com/kicad/code/kicad/issues/4032
2020-03-10 23:07:01 +00:00
Jeff Young
437f888c25
Schematic Setup dialog.
...
Includes:
- moving some of the project settings from the Preferences dialog
- ERC severites
- project-specific field-name templates
Fixes https://gitlab.com/kicad/code/kicad/issues/2145
2020-03-10 18:54:17 +00:00
Ian McInerney
f079c41118
Prevent the board setup dialog from opening when DRC is open
...
The board setup dialog controls DRC error visibility, so the
two dialogs shouldn't be open at the same time to prevent
data contention.
Follow-up to https://gitlab.com/kicad/code/kicad/-/issues/4023
2020-03-08 15:55:14 +00:00
jean-pierre charras
c3beeac977
fix a minor wxWidgets alert.
2020-03-08 10:53:36 +01:00
Ian McInerney
67678faa11
Make the board setup window quasimodal
...
By making it quasimodal, it allows the main KiCad window and Eeschema
to be used still, if it were just modal then it blocks out all other
windows.
Fixes https://gitlab.com/kicad/code/kicad/issues/4023
2020-03-07 19:29:18 +00:00
Jeff Young
1e4ae5d526
Bug fix for DRC tree view on MSW.
2020-03-07 18:52:30 +00:00
Jeff Young
535033c5c9
Enable editing of sheet fields.
2020-03-07 18:52:30 +00:00
Seth Hillbrand
4dfe630b28
PNS: Moving the rest of the placer to Fix/Commit
...
Springback introduced a new PNS structure to check for valid placement
as well as separating the Fix/Commit routines. This updates the
remaining placers to utilize the new structure.
Fixes https://gitlab.com/kicad/code/kicad/issues/4008
2020-03-06 09:56:44 -08:00
Seth Hillbrand
f6317fba82
PNS: Protect drag from null deref
...
Items that do not have nets will not be in the index, so we need to
avoid the null pointer when adding drag tagets
Fixes https://gitlab.com/kicad/code/kicad/issues/4009
2020-03-06 09:32:04 -08:00
Jeff Young
44b8bb8f60
Fix a bug when deleting DRC markers from their child items.
2020-03-06 16:23:44 +00:00
Jeff Young
fe3e0307d8
Move sheet name and filename to SCH_FIELD architecture.
...
Only internal storage architecture has changed (so far).
2020-03-06 16:23:44 +00:00
Jeff Young
2f17cbf242
Flag known DRC violations and exclusions in Plot dialog.
2020-03-06 16:23:44 +00:00
Seth Hillbrand
058fb3afa1
PCAD: Handle mirrored text
...
Mirrored text rotates clockwise in the mirror, so we need to invert the
sign for aligning mirrored PCAD text
Fixes https://gitlab.com/kicad/code/kicad/issues/3992
2020-03-05 15:29:02 -08:00
Seth Hillbrand
0417a6b409
PNS: Fix missing via on zero-length
...
The current node needs to be kept for zero-length lines when placing a
via.
Fixes https://gitlab.com/kicad/code/kicad/issues/4005
2020-03-05 15:02:40 -08:00
Seth Hillbrand
3d151ebd71
Cleanup connectivity parts
...
Removes unneeded casts from the connectivity algo.
2020-03-05 12:41:54 -08:00
Seth Hillbrand
b0d9838fb4
PNS: Correct assertion when dragging
...
Dragging using highlight caused an assertion as the duplicated lines
were being re-added with their old links still inplace. While this was
probably fine as the link references shouldn't be stale, we clear them
to allow for the possibibility that the dragger will adjust the links in
the future.
2020-03-05 08:47:06 -08:00
Seth Hillbrand
4c2626f6b0
PNS: Don't use PNS margin to calc bump direction
...
The bump direction should only be concerned with physical points to
calculate the heuristic for loop-back otherwise we get too many false
positives.
Fixes https://gitlab.com/kicad/code/kicad/issues/3971
2020-03-04 19:22:57 -06:00
Seth Hillbrand
fe8524b9bb
Update DIFF_PAIR_PLACER to new callbacks
...
Needs to handle changes to PNS_ROUTER. This does not implement
springback or backspace in DIFF_PAIR_PLACER, only allows committing
lines as before
Fixes https://gitlab.com/kicad/code/kicad/issues/3988
2020-03-04 17:23:04 -06:00
Seth Hillbrand
ecbfea68dd
ADDED: Allow creation of nets in pcbnew
...
When editing pcb items, the creation of a new net to connect existing
pads or traces can be a useful shortcut. This inserts the ability to
optionally create a new net from the Net Selector dropdown menu.
2020-03-04 16:11:47 -06:00
Jeff Young
2359d19cf4
Add menu item to DRC dialog to go to Board Setup / Violation Severities.
2020-03-04 21:52:30 +00:00
Jeff Young
d20f36511f
Fix issue with severities not get initialised in DRC_TREE_MODELs.
2020-03-04 21:52:30 +00:00
Jeff Young
0894674869
Save severities settings in the DRC dialog.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/3978
2020-03-04 21:52:30 +00:00
Seth Hillbrand
12088f240d
Fix a couple crashes with small canvases
...
The canvas size is not guaranteed to be strictly > 0, so we need to
enforce a minimum returned size before dividing by it or passing to GAL
initialization
2020-03-04 14:33:42 -06:00
Seth Hillbrand
011e4116d6
Remove assertion path on closing empty pcb
...
We don't need to save the project settings if we don't open a file or
project
2020-03-04 11:40:28 -06:00
jean-pierre charras
b7cd0c54c2
Fix compil issues, especially on Windows:
...
Replace SEVERITY_ERROR by RPT_SEVERITY_ERROR to avoid collision with a system definition.
Replace other SEVERITY_XXX by RPT_SEVERITY_XX for consistency.
Fix compil warnings and some other compil issues.
2020-03-04 10:48:18 +01: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
Michael Kavanagh
265c1663f9
Remove empty choice in Via type dropdown
...
Fixes https://gitlab.com/kicad/code/kicad/issues/3968
2020-03-03 22:12:04 +00:00
Seth Hillbrand
d4cbc348de
PNS: avoid committing route with nothing
...
The node is not neccesarily populated when committing, so we need to
check for validity first.
Fixes #3984 | https://gitlab.com/kicad/code/kicad/issues/3984
2020-03-03 14:02:32 -08:00
Seth Hillbrand
9769e1020b
PNS: Don't link unroutable items
...
The joint map only works for items that are routable, so don't bother
adding unroutable items as this only takes additional time to process
Fixes #3976 | https://gitlab.com/kicad/code/kicad/issues/3976
2020-03-03 12:42:56 -08:00
Seth Hillbrand
d6706c257c
PNS: clear via when fixing route
...
When fixing the route, we need to clear the via to avoid re-placing it
on each future click.
Fixes #3966 | https://gitlab.com/kicad/code/kicad/issues/3966
2020-03-02 16:22:34 -08:00
Seth Hillbrand
386147628e
PNS: Initialize placement test
2020-03-02 16:22:34 -08:00
Andrew Downing
a8dea9274f
modify behavior of position relative tool
...
CHANGED: The reset buttons now set the X or Y offset to the current
offset from the reference position. Selecting individual pads as the reference item is now also possible.
2020-03-02 20:55:06 +00:00
Seth Hillbrand
842d680b5e
Set Module Editor flag for tools
...
The commit takes the module edit flag when resetting the tool. All
tools should reset this flag when we setup the Module editor.
Fixes #3973 | https://gitlab.com/kicad/code/kicad/issues/3973
2020-03-02 12:45:34 -08:00
Seth Hillbrand
3c19704349
PNS: Don't add null items to drag
...
Not all footprint pad items are connected to elements in the PNS, so if
we don't find the parent element, we avoid later crashes/assertions by
skipping their addition
Fixes #3972 | https://gitlab.com/kicad/code/kicad/issues/3972
2020-03-02 11:28:14 -08:00
Seth Hillbrand
18db471967
PNS: Line placer returns false when nothing committed
...
The true/false return should be triggered on whether any elements have
been commited to the line
Fixes #3969 | https://gitlab.com/kicad/code/kicad/issues/3969
2020-03-02 11:11:13 -08:00
jean-pierre charras
911c6eb781
Pcbnew, DIALOG_NETLIST: fix incorrect storage of wx_MessageWindow options.
...
Config values were not stored into the right variables.
Make also an option persistent during the session
in DIALOG_UPDATE_PCB and DIALOG_NETLIST
DIALOG_UPDATE_PCB and DIALOG_NETLIST match options: use same order in dialogs.
2020-03-01 20:49:56 +01:00
Jon Evans
90bd351807
Properly flush color settings after migration
...
Also fix missing gerbview migration
Fixes #3965
2020-02-29 21:49:35 -05:00
Simon Richter
866aac9737
Clean up a few unused names of caught exceptions
2020-03-01 00:33:45 +00:00
Tomasz Wlostowski
a28f58d14d
router: fix regression in PNS_KICAD_IFACE treating newly created items as invisible (side effect = non-45 degree angles due to incorrect snapping)
2020-02-29 20:41:31 +01:00
Tomasz Wlostowski
6850067182
router: commit traces made in single stroke/click (fixes regression introduced with Backspace support)
2020-02-29 20:40:19 +01:00
jean-pierre charras
2a026bd882
spread_footprints.cpp: try to avoid integer overflow when spreading footprints.
...
In rare cases (one known case) sizes of areas used as container when spreading
footprints can become negative, thus hanging pcbnew.
Happens if many footprints are very big (say 80cm).
Now if there is no room to place footprints, some are stacked.
2020-02-29 17:25:52 +01:00
jean-pierre charras
e37c9f117d
Fix memory leak when loading a 0 degrees arc in footprint
2020-02-29 17:20:37 +01:00
Andrew Downing
2f7ac2b5b4
Don't truncate polar coordinates in position relative dialog/move exact dialog
2020-02-29 02:21:18 +00:00
Seth Hillbrand
3e0ff72720
Drop invalid arcs on footprint load
...
In the case where the footprint arc has a non-normal angle, we cannot
represent this in pcbnew and it corrupts the gerber output. Therefore
we drop the invalid arc and continue to load the footprint/board.
Fixes #3918 | https://gitlab.com/kicad/code/kicad/issues/3918
2020-02-28 15:02:17 -08:00
Tomasz Wlostowski
e5fff302a3
router: fix arc drawing in ROUTER_PREVIEW_ITEM
2020-02-28 23:52:33 +01:00
Tomasz Wlostowski
e0bad936bf
router: enable inline dragging of components
2020-02-28 23:17:15 +01:00
Tomasz Wlostowski
44905e1b0a
router: initial support for dragging components with traces attached
2020-02-28 23:17:15 +01:00
Tomasz Wlostowski
b2b1edbcd1
router: KICAD_IFACE can now commit changes to module positions
2020-02-28 23:17:15 +01:00
Tomasz Wlostowski
b6e059f018
router: use a common base class for all dragging algorithms
2020-02-28 23:17:15 +01:00
Tomasz Wlostowski
1d0ee66187
router: kill debug printf()
2020-02-28 23:17:15 +01:00
Tomasz Wlostowski
77478014d8
router: kill some warnings in OPTIMIZER
2020-02-28 23:17:15 +01:00
Tomasz Wlostowski
796aec6e6e
router: SOLID::SetPos() should update the shape position too
2020-02-28 23:17:15 +01:00
Tomasz Wlostowski
5a16fda11a
router: allow modification of SOLIDs in PNS::NODE
2020-02-28 23:17:15 +01:00
Seth Hillbrand
7cb3ed456e
PNS: No free-angle drag at the moment.
...
Fixes #3954 | https://gitlab.com/kicad/code/kicad/issues/3954
2020-02-28 12:43:59 -08:00
Seth Hillbrand
84b1ab7ce0
PCad: Handle arbitrary PCad layer numbers
...
KiCad is limited to 32 signal layers but PCad can number the layers
higher than this. Instead of a C-style array, we now hold the layer
numbers in a std::map to support arbitrary numbering.
Fixes #3949 | https://gitlab.com/kicad/code/kicad/issues/3949
2020-02-28 11:48:06 -08:00
Jon Evans
9cc5b4b3f9
Fix management of nested settings for PNS
2020-02-27 22:53:00 -05:00
Ian McInerney
d5ceb8252e
Clean up some warnings
2020-02-28 00:06:52 +00:00
Hufo
992a553d43
pcbnew: Refactor D_PAD::AddPrimitives() and allow use from python
...
Rename all the D_PAD::AddPrimitive methods to clean up their API,
and expose the vector<PAD_CS_PRIMITIVE> type in the python API.
2020-02-27 23:54:19 +00:00
Jeff Young
3860ab9f0c
Fix issue returning pointers to items inside std::vector.
...
(When the vector is re-allocated your pointers become bogus.)
2020-02-27 22:00:51 +00:00
Tomasz Wlostowski
f77d2f8cb8
router: option to enable optimization of the track being dragged
2020-02-27 22:02:56 +01:00
Tomasz Wlostowski
4525a17076
router: backspace key to undo last fixed segment(s)
2020-02-27 22:02:56 +01:00
Tomasz Wlostowski
b5c11f21e5
router: rounding mode context menu entry
2020-02-27 22:02:56 +01:00
Tomasz Wlostowski
d1a5d8c78b
router: don't forget the tail when toggling via placement
2020-02-27 22:02:56 +01:00
Tomasz Wlostowski
8ddeb966ca
pns: drag wip on walkaround via mode
2020-02-27 22:02:56 +01:00
Tomasz Wlostowski
cf4945afaa
router: optimizer should now handle 'keep vertex' constraint correctly...
2020-02-27 22:02:56 +01:00
Tomasz Wlostowski
53c3f95ac4
router: initial attempt at walkaround mode for dragger
2020-02-27 22:02:56 +01:00
Tomasz Wlostowski
c0314dbb29
router: dragger can now optimize also the segment being dragged
2020-02-27 22:02:56 +01:00
Tomasz Wlostowski
a6d3ae3c5b
router: NODE now can also query joints
2020-02-27 22:02:56 +01:00
Tomasz Wlostowski
6b767d50c3
router: initial support for user-provided constraints for the optimizer
2020-02-27 22:02:56 +01:00
Tomasz Wlostowski
c2d95a00c1
router: improved handling of corner cases in LINE::Walkaround
2020-02-27 22:02:56 +01:00
Tomasz Wlostowski
37a754c4dd
router: initial attempt at improved 'aim at mouse cursor' strategy in walkaround mode, wip...
2020-02-27 22:02:56 +01:00
Tomasz Wlostowski
43b71cd9e3
router: Clear() method for PNS::LINE
2020-02-27 22:02:56 +01:00
Tomasz Wlostowski
dbe90e163e
router: use one global logger object
2020-02-27 22:02:56 +01:00
Tomasz Wlostowski
4281bd8207
router: keep board in base Kicad Iface class
2020-02-27 22:02:56 +01:00
Tomasz Wlostowski
9e605d6958
router: DEBUG_DECORATOR now allows to name each primitive
2020-02-27 22:02:56 +01:00
Tomasz Wlostowski
065d634b30
router: put non-graphical part of ROUTER_IFACE into a parent class (for unit tests)
2020-02-27 22:02:56 +01:00