Tomasz Włostowski
726bceecfd
router: springback now works for dragging vias in shove mode
...
Fixes: lp:1837766
* https://bugs.launchpad.net/kicad/+bug/1837766
2019-08-07 23:49:57 +02:00
Tomasz Włostowski
88f2318c9c
router: add VIA_HANDLE to refer to VIAs going in/out the SHOVE algorithm without raw pointers
2019-08-07 23:48:28 +02:00
Tomasz Włostowski
45e4387ed1
router: remove unnecessary include
2019-08-07 23:46:32 +02:00
Tomasz Włostowski
5666af4d1d
router: copy m_owner when copying PNS::ITEMs
2019-08-07 23:45:38 +02:00
Tomasz Włostowski
75fcdb3b08
router: disable hole to hole mechanical constraint in P&S until a suitable solution is found (as it is now it breaks springback)
2019-08-07 23:44:43 +02:00
Jeff Young
77334628c4
Change default tool behaviour to skip unhandled events.
...
The problem is that wxEVT_CHAR_HOOK doesn’t do the key translation
properly. wxEVT_CHAR does, but we only get to that if we skip the
event at the end of the tool’s event processing loop, which most tools
don’t do. (Selection tools, point editors, pickers, and a couple of
others do skip, which is probably why this didn’t get reported earlier.)
I played around with a couple of ways to fix wxEVT_CHAR_HOOK. Most of
them don’t work, and the few egregious hacks I tried weren't cross-
platform.
So I’m changing it so that most tools now skip at the end of their
event loops. I left out a couple that I felt were high risk (length
tuning, for instance). But there’s still enough risk that I’m 100%
sure it will break something, I just haven’t a clue what.
Fixes: lp:1836903
* https://bugs.launchpad.net/kicad/+bug/1836903
2019-07-26 12:21:24 -06:00
Jeff Young
79934a327e
Implement shoving of free vias.
...
Also contains a little bit of cleanup and a lot of commenting.
Fixes: lp:1833216
* https://bugs.launchpad.net/kicad/+bug/1833216
Fixes: lp:1833214
* https://bugs.launchpad.net/kicad/+bug/1833214
2019-07-24 09:33:47 -06:00
Jeff Young
a7c41f0c34
Renaming for clarity. Unqualified "push" could mean push-n-shove, or it could mean push/pop.
2019-07-24 09:33:47 -06:00
Jeff Young
c1fcb1d895
Allow shoving and springback when dragging vias (either connected or free).
...
Fixes: lp:1833216
* https://bugs.launchpad.net/kicad/+bug/1833216
2019-07-24 09:33:47 -06:00
Jeff Young
8c77d31d4d
Simplification in prep for fixing some via dragging issues.
...
There should be no change in logic with this commit.
2019-07-24 09:33:47 -06:00
Jeff Young
aa4d7682ca
Don't shove stitching vias.
...
Whether or not it's a good idea, the current algorithm doesn't support
it and leaves them on top of each other.
Fixes: lp:1833214
* https://bugs.launchpad.net/kicad/+bug/1833214
2019-07-21 16:38:06 -06:00
Jeff Young
6f44b00b2c
Add support for hole collisions to PNS.
2019-07-21 16:38:06 -06:00
Jeff Young
b79d2d9258
Cleanup.
2019-07-21 16:38:06 -06:00
Seth Hillbrand
bacbe86756
pcbnew: Make clearance translucent
...
This sets the clearance outline to a slightly better opacity to allow
viewing of items behind the routed track clearance. Future work should
include making this a configuration option.
Fixes: lp:1826719
* https://bugs.launchpad.net/kicad/+bug/1826719
(cherry picked from commit e0589d2908
)
2019-07-18 10:47:27 -07:00
Jeff Young
e816a0c29d
Push Eeschema & PLEditor PICKER_TOOLs down into common.
...
Also implements a more robust push/pop tool strategy for pickers.
2019-07-16 00:44:01 +01:00
Jeff Young
58ca5b71a9
A more robust fix for 36f1d023f0
.
...
This one also handles when the events get out-of-order due to them
starting out in the Simulation window and not getting dispatched until
the mouse goes over the Schematic window.
Fixes: lp:1835907
* https://bugs.launchpad.net/kicad/+bug/1835907
Fixes: lp:1836544
* https://bugs.launchpad.net/kicad/+bug/1836544
2019-07-15 14:15:24 +01:00
Jeff Young
928d6c5dff
Implement preserved-corners to prevent divots when filling adjacent zones.
...
Fixes: lp:1460787
* https://bugs.launchpad.net/kicad/+bug/1460787
2019-07-14 18:18:48 +01:00
Jeff Young
13d61e4b2b
Cleanup.
2019-07-10 01:14:21 +01:00
Jeff Young
867585c1f2
Don't allow keepout zones to match no-net tracks.
...
Fixes: lp:1819250
* https://bugs.launchpad.net/kicad/+bug/1819250
2019-07-05 14:45:15 +01:00
Jeff Young
9effd24f3a
Allow move tool to run on top of other tools.
...
Fixes: lp:1784480
* https://bugs.launchpad.net/kicad/+bug/1784480
2019-07-01 22:15:25 +01:00
Jeff Young
981072598b
Overhaul cursor code for new tool/action framework.
...
Includes the addition of an onSetCursor() handler which must be called
from both the GAL canvas AND the GAL backend (at least on OSX) to prevent
cursor flickering between (for instance) pencil and arrow.
Also includes new architecture for point editors which allows them to
coordiate cursors with the editing tools (so we can switch to an arrow
when over a point).
2019-06-27 22:37:11 +01:00
Jeff Young
2f23aa9556
Implement a more robust tool stacking architecture.
...
We were running into various corner conditions where a tool's event
loop would exit while the tool was still active, or the tool would
get popped while we were still in the event loop. (A lot of these
had to do with the POINT_EDITOR's, but not all of them.)
The new architecture:
1) tools always do a Push()/Pop()
2) everyone is responsible for their own pops; no more stack-clearing
on a cancel
3) CancelInteractive events go to all tools to facilitate (2)
2019-06-27 17:01:31 +01:00
Jeff Young
e175eb25b8
Fix bug with accidental modification of legacy hotkey name.
2019-06-27 11:29:05 +01:00
Jeff Young
e785c140b9
Eradicate globals for PCB_GENERAL_SETTINGS.
...
Fixes: lp:1832896
* https://bugs.launchpad.net/kicad/+bug/1832896
2019-06-26 21:54:03 +01:00
Jeff Young
f9702aab87
Immediate actions for PlEditor, PcbNew, etc.
2019-06-25 11:34:28 +01:00
Jeff Young
dcbd897a95
Push/pop tools even when selected from the toolbar.
2019-06-18 20:24:15 +01:00
Jeff Young
1f35ec5521
Beware of copying events and losing the m_passEvent flag.
...
Fixes: lp:1833031
* https://bugs.launchpad.net/kicad/+bug/1833031
2019-06-17 14:44:39 +01:00
Jeff Young
e6d5110ccf
Implement I18N for ACTIONs.
...
It's a bit of a hack because they're statically initialized and
so we can't make use of the _() macro. We do still want it in the
code, however, because the string harvesting is based off of it.
Fixes: lp:1833000
* https://bugs.launchpad.net/kicad/+bug/1833000
2019-06-17 10:45:23 +01:00
Jeff Young
5610261dce
Immediate-action hotkeys (and context menu actions) for eeschema.
2019-06-15 20:43:51 +01:00
John Beard
1e4abac579
Fix multiple compilation issues on Linux
...
* Circular gal<->common dependency bites again. Add 'common'
again to the 'kicad' target's link libraries. libgal.a depends
on SHAPE_POLY_SET in common, but common depends on gal. This is
not a real fix, but it unsticks Linux compilations. Fixing the
circular dep is an existing bug: https://bugs.launchpad.net/kicad/+bug/1832229
* Missing LEGACY_HK_NAME for ACT_EndTuning: this was probably accidentally
allowed on some other platform due to different wxString constructors.
On Linux/GCC, it breaks.
* Unused include from /kicad in export_vrml.cpp. This is not findable
on Linux, as pcbnew does not include the right dirs for this to be
found. But it's not used, so just remove it.
2019-06-11 13:58:38 +01:00
Jeff Young
bb96255a03
Fix dangerous static_cast-ing to wrong type.
2019-06-10 23:46:01 +01:00
Jeff Young
5e49517781
Move hotkeys to ACTION architecture.
2019-06-10 23:46:00 +01:00
Jeff Young
6025256e07
Push KIWAY_HOLDER down a level so we can move a bunch of stuff that doesn't belong there out.
2019-06-10 23:46:00 +01:00
Seth Hillbrand
0035445456
pcbnew: Allow DRC violations when marked
...
We shouldn't consider any obstacles when we are routing in DRC violation
mode.
Fixes: lp:1826723
* https://bugs.launchpad.net/kicad/+bug/1826723
(cherry picked from commit 3b3165ad51
)
2019-06-09 13:03:08 -07:00
Jeff Young
1bf04d1722
More ACTIONs work.
2019-06-04 00:51:16 +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
Seth Hillbrand
9163ac543a
pcbnew: Move pads to std::deque
2019-06-01 16:23:54 -07:00
Seth Hillbrand
d1877d7c1b
Moving modules from DLIST to std::deque
2019-06-01 09:53:23 -07:00
Jeff Young
c1298570cb
Remove legacy routing options.
2019-06-01 16:29:12 +01:00
Jeff Young
67cc2aac2e
Rework Eeschema find/replace for modern toolset.
...
Fixes: lp:1827274
* https://bugs.launchpad.net/kicad/+bug/1827274
Fixes: lp:1827240
* https://bugs.launchpad.net/kicad/+bug/1827240
2019-05-22 21:48:04 +01:00
Jeff Young
fbb807f3bb
Move some more menu & toolbar items to modern toolset.
2019-05-16 19:57:06 +01:00
Seth Hillbrand
ddc6079ceb
Move remaining hard-coded segment counts
...
This removes the remaining hard-coded segments counts and replaces them
with the relative error calculation where the segments per arc is
determined by the maximum error we allow (smaller arcs = fewer segments)
2019-05-16 08:49:55 -07:00
Jeff Young
f9e4ee1fc9
CONTEXT_MENU -> ACTION_MENU. (Now used for menu-bar menus too.)
2019-05-15 17:50:52 +01:00
Jeff Young
f602ccd814
Insert EE_TOOL_BASE under SchEdit and LibEdit tools, and fix errant rename scope which clobbered PCBNew's PICKER_TOOL.
2019-05-12 13:47:08 +01:00
Tomasz Włostowski
9e00f48efc
router: copy m_maxClearance when cloning/branching PNS::NODEs
...
Fixes: lp:1813328
* https://bugs.launchpad.net/kicad/+bug/1813328
2019-04-23 12:00:54 +02:00
Seth Hillbrand
cf63ae7ae2
pcbnew: Show clearance when editing tracks
...
When requested by display options, we should show the track clearance
when dragging tracks.
Fixes: lp:1818343
* https://bugs.launchpad.net/kicad/+bug/1818343
2019-04-07 21:25:28 -07:00
Seth Hillbrand
428e7a900b
pcbnew: Prevent aux axis after-image
...
Grid helper in the router tool is persistent, so remember to turn off
the aux axes after setting.
Fixes: lp:1822577
* https://bugs.launchpad.net/kicad/+bug/1822577
2019-04-01 14:23:46 -07:00
Seth Hillbrand
0de25e557b
pcbnew: Adjust drag snapping to avoid start
...
When dragging, you will seldom want to snap to the original item. This
commit prevents the "size of track" snap to the original item and
replaces it with an auxilary grid origin for the snap. This means
effectively that the snap will happen to grid for the original item
unless the cursor is closer to the original item line than it is to the
grid crossing.
Fixes: lp:1820248
* https://bugs.launchpad.net/kicad/+bug/1820248
2019-03-16 20:37:14 -07:00
jean-pierre charras
d259459a14
Pcbnew: add a new primitive pad shape: chamfered round rect pad.
...
Allows 0 to 4 chamfered corners, not only one.
A custom shape allow this kind of shape. However because it is a primitive,
it is easier to edit and it support thermal reliefs.
2019-03-11 10:26:15 +01:00
Tomasz Włostowski
92e2aa31a9
pcbnew: router: fix non-45 degree tail merge in LINE_PLACER
...
Fixes: lp:1817795
* https://bugs.launchpad.net/kicad/+bug/1817795
2019-03-04 18:33:10 +01:00
Seth Hillbrand
f47089a804
pcbnew: Enforce router settings
...
When the user selects "Ignore DRC" in the Highlight collisions mode,
they should be allowed to start drc violating tracks as well as end
them.
2019-02-23 08:19:50 -08:00
Seth Hillbrand
7b3ef1b7ed
colors: Add HSL conversion and tune colors
...
When adding colors to length tuner, we depend on the window background
color, which can be set by the user, resulting in an unreadable text.
This uses the HSL conversion to detect which shade it should use for the
coloring.
Also adds test cases for round-trip HSL and HSV conversion
Fixes: lp:1814530
* https://bugs.launchpad.net/kicad/+bug/1814530
2019-02-11 22:08:41 -08:00
John Beard
e6a6266f3d
Build: libpolygon provides its own includes
...
Libpolygon can provide its own includes via target_include_dirs PUBLIC.
This means any linking targets do not need to specifiy them manually.
As common requires polygon, the polygon dep is also now no longer
required downstream of libcommon, as it's transisitvely implied
by libcommon's target_link_libraries.
This resolves a circular dependency previously detected and also
simplifies CMakeLists.
2019-02-04 19:29:31 -08:00
John Beard
bb2ae8e13b
Bitmaps: move bitmap defs to bitmaps library
...
The bitmap definitions (BITMAP_DEF and so on) do not
have any dependencies on other libs, including WX. This
means the bitmaps library can be isolated from the other
dependencies.
Common now depends on bitmaps, and libraries that depend
on common can pick it up from the common target_link_libraries,
as it is PUBLIC. This means a lot of targets no longer
need manual bitmap linkage.
This avoids a circular dependency that was previously reported
by static analysis.
Avoiding pulling in WX and other headers into the include
tree of each bitmap .cpp is a huge speed up (around 10x) in
compilation, and the generated static library is also 10x
smaller (20MB vs 200MB)
Add common as a link library to pnsrouter,connectivity.
THese library do still use common code (including bitmaps,
via base_screen.h) and this allows them to pick up the libcommon
includes correctly.
2019-02-04 19:29:31 -08:00
Seth Hillbrand
1d09f84303
router: Take track width in dp from dp
...
Fixes and issue where forces were calculated using the current track
width even in differential placer mode where the tracks are specified by
the differential pair width.
Fixes: lp:1814480
* https://bugs.launchpad.net/kicad/+bug/1814480
2019-02-04 03:48:08 +01:00
Tomasz Włostowski
5d712716e6
router: don't create incorrect non-45 degree connections when routing a track that doesn't have a net assigned
...
Fixes: lp:1814433
* https://bugs.launchpad.net/kicad/+bug/1814433
2019-02-03 12:37:27 +01:00
Tomasz Włostowski
313ebb9dff
router: correct walkaround corner case when both ends of the line lie on the hull edge
...
Fixes: lp:1810935
* https://bugs.launchpad.net/kicad/+bug/1810935
2019-02-03 11:22:18 +01:00
Seth Hillbrand
f1fed08fa7
pcbnew: Finalize previous snapping preferences
...
Snap/Grid modifier follow preferences from 05483a06c6
. Brings Shift/Alt
modifiers into alignment with drawing tools. Shift modifier still
conflicts when choosing end item with the complete track click-modifier.
This will be addressed in v6 with a larger preference setting.
2019-01-29 17:10:58 -08:00
Seth Hillbrand
05483a06c6
pcbnew: Re-attach snap options
...
Snapping to item options were partially disconnected when unifying
framework. This re-attaches the options and adds the additional option
for graphical items.
Fixes: lp:1801377
* https://bugs.launchpad.net/kicad/+bug/1801377
2019-01-29 13:36:17 -08:00
Seth Hillbrand
cf6ba6ad94
pcbnew: Get correct end when dragging
...
The selection for interactive drag uses cursor position off grid to
choose the element for dragging. We pass the same value into the start
dragging routine to choose the correct end of the element.
Fixes: lp:1813665
* https://bugs.launchpad.net/kicad/+bug/1813665
2019-01-28 15:16:07 -08:00
Tomasz Włostowski
fd0381ea09
router: fix dragging when dragged segment has adjacent segment(s) at 180 degree angle
...
Fixes: lp:1812535
* https://bugs.launchpad.net/kicad/+bug/1812535
2019-01-28 10:31:50 +01:00
Seth Hillbrand
576261cad1
pcbnew: code style cleanup
2019-01-15 07:34:45 -08:00
jean-pierre charras
31fa3af8d8
Fix a minor I18n issue
...
Fixes: lp:1811640
https://bugs.launchpad.net/kicad/+bug/1811640
2019-01-14 13:12:20 +01:00
Seth Hillbrand
c92424898c
pcbnew: Replace magic number segment counts
...
Where we set 32 segments per circle, the magic number is replaced by the
same value as the common define ARC_APPROX_SEGMENTS_COUNT_HIGH_DEF
2019-01-03 17:21:10 -08:00
Tomasz Włostowski
a3d8ab911f
router: improved snap-to-clearance zone algorithm in highlight collisions mode
2018-12-25 02:29:23 +01:00
Tomasz Włostowski
bebbe6ed22
pcbnew: disable autopanning when cursor entered auto-pan margin following a keyboard cursor move command
...
Fixes: lp:1803523
* https://bugs.launchpad.net/kicad/+bug/1803523
2018-12-23 18:58:12 +01:00
jean-pierre charras
1d230bbee9
very minor fixes to help I18n translations (remove trailing spaces)
2018-12-20 20:19:45 +01:00
Seth Hillbrand
0a26388901
pcbnew: Break track in edit mode
...
Enables the ability to break a track into two segments when operating in
the edit mode rather than in router.
Fixes: lp:1779788
* https://bugs.launchpad.net/kicad/+bug/1779788
2018-12-14 09:59:25 -08:00
Seth Hillbrand
f9dfbe6f4d
Code formatting
2018-12-05 19:39:05 -08:00
Seth Hillbrand
0614f59973
pcbnew: Add edge polygons to pns keepout
...
Fixes: lp:1806846
* https://bugs.launchpad.net/kicad/+bug/1806846
2018-12-05 08:58:55 -08:00
Seth Hillbrand
2a865ef4b6
pcbnew: Remember highlighted net while routing
...
If the user has specifically requested a net to be highlighted before
routing, we keep the net highlighted after the route is completed.
2018-12-03 08:42:45 -08:00
jean-pierre charras
d607c4853d
fix a minor compil warning.
2018-12-01 20:07:59 +01:00
Maciej Suminski
4d73cfb8a1
PNS: validate SHAPE_LINE_CHAIN before accessing its segments
2018-11-26 00:01:02 +01:00
Seth Hillbrand
ff668968f3
pcbnew: Changing the track width while routing
...
When changing the track width, we need to allow that the track's route
will change based on DRC, so force a move without changing position.
Fixes: lp:1785057
* https://bugs.launchpad.net/kicad/+bug/1785057
2018-11-24 11:52:26 -08:00
Jeff Young
f71998b34e
Remove repetitive calls to other cancel operations.
2018-11-19 16:03:30 +00:00
Jeff Young
3439551543
Implement a work-around for net-ties.
...
Fixes: lp:1799318
* https://bugs.launchpad.net/kicad/+bug/1799318
2018-11-07 14:24:16 +00:00
Seth Hillbrand
3cc87b4597
PNS: Ensure we don't miss items
...
Higher candidate levels could override better matches if the layers did
not overlap.
2018-10-21 14:28:33 -07:00
Tomasz Włostowski
bdc64ff0b3
router: DP_GATEWAYS::FilterByOrientation() should have exactly opposite filtering condition!
...
Fixes: lp:1797914
* https://bugs.launchpad.net/kicad/+bug/1797914
2018-10-18 14:29:19 +02:00
Tomasz Włostowski
eea949ce0a
router: don't cross DP lines when length tuning, fix swap pair polarity bug
...
Fixes: lp:1798500
* https://bugs.launchpad.net/kicad/+bug/1798500
Fixes: lp:1798221
* https://bugs.launchpad.net/kicad/+bug/1798221
2018-10-18 13:48:43 +02:00
Seth Hillbrand
4f672f0d39
Fixing a number of dynamic_casts
...
Dynamic casts should only be used when we explicitly check for the
resulting pointer to be NULL. Where we know the class is castable we
can use static_cast, save on overhead and ensure our resulting pointer
is non-null.
2018-10-11 15:24:12 -07:00
Seth Hillbrand
13997f0050
Revert "pcbnew: Adding copy constructors to PNS items"
...
This reverts commit 41e4bc4d9f
.
This commit requires additional testing before recommitting as it causes
issues with FindJoint().
2018-10-09 14:50:20 -07:00
Seth Hillbrand
1a6f039bb5
pcbnew: Fix minor miscalculation in dp length
...
The commonParallellProjection had an odd ordering of parameters that was
not followed by callers. This corrects the ordering to standard for
each.
2018-10-09 05:37:48 -07:00
Seth Hillbrand
41e4bc4d9f
pcbnew: Adding copy constructors to PNS items
...
Adding safe copy constructors to PNS items including assignment check
and copy operations
2018-10-09 05:37:48 -07:00
Jeff Young
46426f1196
Fix segfault when routing.
...
Fixes: lp:1792037
* https://bugs.launchpad.net/kicad/+bug/1792037
2018-10-09 11:08:56 +01:00
Seth Hillbrand
77eeda4191
pcbnew: fix pad distance calc in gateways
...
The pad distance was fixed to 0, making the gateway priority set
artificially to 1
2018-10-08 09:53:47 -07:00
Seth Hillbrand
11b45002e1
pcbnew: Code formatting
2018-10-04 08:17:48 -07:00
Seth Hillbrand
57ceec5606
pcbnew: Allow DRC violations when requested in dp
2018-10-02 14:39:53 -07:00
Seth Hillbrand
317ca8e64d
pcbnew: Do not allow drag to violate DRC without permission
...
m_dragstatus is set to true when a valid route is created given the
user's constraints. We need to check this before committing the route
to the board.
Fixes: lp:1794810
* https://bugs.launchpad.net/kicad/+bug/1794810
2018-09-27 13:08:22 -07:00
Jeff Young
4b493e45eb
Don't consider non-tracks when seeing if we can do a router drag.
...
Fixes: lp:1793979
* https://bugs.launchpad.net/kicad/+bug/1793979
2018-09-23 23:51:13 +01:00
Seth Hillbrand
8c3a82e526
Code cleanup: Fixing assignment operators
2018-09-20 20:15:47 -07:00
Jeff Young
ebb74fcc2b
Honour diff-pair dimension changes while routing.
2018-09-18 20:37:00 +01:00
Jeff Young
9f068d66a8
Don't use diff-pair gap as a clearance.
...
Fixes: lp:1789690
* https://bugs.launchpad.net/kicad/+bug/1789690
2018-09-18 17:44:53 +01:00
Jeff Young
9c708c6177
Use DP netclass values when custom or predefined are not selected.
...
Fixes: lp:1780670
* https://bugs.launchpad.net/kicad/+bug/1780670
2018-09-18 17:44:53 +01:00
Seth Hillbrand
9523b26472
pcbnew: Fix dragging snap to items
...
Snapping while dragging depends on the current net being assigned during
dragging. This initializes the placer to hold the current net while
performing inline dragging. The placer is reset along with the dragger
in StopRouting(). This fixes the difference in snap between drag and
create new route.
( cherry-picked from 219695953
)
2018-09-15 20:22:34 -07:00
Jeff Young
ba8647f676
Fix compiler warning.
2018-09-12 21:39:41 +01:00
Franck78
009dfa411f
Finish track with 'activate router hotkey'
...
Fixes: lp:1790552
* https://bugs.launchpad.net/kicad/+bug/1790552
2018-09-04 12:08:40 +02:00
Jeff Young
c90a3efea2
Change KIDIALOG hashing algorithm to __FILE__ + __LINE__.
...
Using Title + Message wasn't working for all the dialogs which
did substitutions in the message (which was a lot of them).
Fixes: lp:1789348
* https://bugs.launchpad.net/kicad/+bug/1789348
2018-08-29 23:38:23 +01:00
Seth Hillbrand
2398edda38
pcbnew: Only dp clearance matrix when routing dp
...
Fixes: lp:1787766
* https://bugs.launchpad.net/kicad/+bug/1787766
2018-08-29 10:26:39 -07:00
Seth Hillbrand
dc4125206b
GAL: Add a selected item layer
...
The selected items should be displayed above the rest of the items but
below informational overlays.
Fixes: lp:1789505
* https://bugs.launchpad.net/kicad/+bug/1789505
2018-08-28 15:00:05 -07:00
Jeff Young
6bb75b071a
Implement DRC for PCB & module copper items in PNS router.
...
Fixes: lp:1788699
* https://bugs.launchpad.net/kicad/+bug/1788699
2018-08-27 18:38:56 +01:00
Jeff Young
30bb911154
Bring PICKER_TOOL in line with other tools.
...
Use standard Magnetize() to handle grid and magnetic pads.
Use the standard menu from PCB_TOOL. Delegating the menu to
the SELECTION_TOOL just caused grief.
Also brings clients (such as Position Relative To) into line,
and implements better Cancel behaviour.
Also improves visibility of modal status messages:
- moves Select Anchor message from status bar to popup
- moves Select Reference message from dialog to popup
Fixes: lp:1786727
* https://bugs.launchpad.net/kicad/+bug/1786727
2018-08-23 00:58:01 +01:00
Jeff Young
c655bffac1
Improve context menu consistency.
...
Also fixes some interactivity issues in the microwave tools around
single-click tools that have initial properties dialogs. Those
need to act kind of like a hybrid between single-click and two-click
tools.
Fixes: lp:1751381
* https://bugs.launchpad.net/kicad/+bug/1751381
2018-08-02 11:01:03 +01:00
Jeff Young
95d3336f63
We need the other end of the stick when not yet routing.
...
Fixes: lp:1781424
* https://bugs.launchpad.net/kicad/+bug/1781424
2018-07-27 14:58:19 +01:00
jean-pierre charras
3c6e8c4a40
More support of DRW_SEGMENT Bezier curve (support in 3D viewer, and PnS router).
2018-07-22 18:39:48 +02:00
Jeff Young
7cce283fea
Fix diff pair custom values.
...
Fixes: lp:1782971
* https://bugs.launchpad.net/kicad/+bug/1782971
(cherry picked from commit 53f35a3)
2018-07-22 11:19:17 +01:00
Jeff Young
99db5cb543
Allow for reduced nagging with wider use of KIDIALOG.
...
(cherry picked from commit c2dd5df)
2018-07-17 15:13:53 +01:00
Jeff Young
d5e88f574f
Clean up units infrastructure after g_UserUnit removal.
...
Fixes: lp:1538239
* https://bugs.launchpad.net/kicad/+bug/1538239
(cherry picked from commit 96d7178)
2018-07-17 15:12:36 +01:00
Jeff Young
aab97c8385
Consolidate design rules UI.
...
Implement new Board Setup paged dialog which includes:
Layers Setup
Design Rules
Solder Mask & Paste
Text & Drawings
Moves line width and text properties to a layer-class-based
system. Renames unlocked to upright (which also reverses the
logic).
New Edit Text and Graphic Properties dialog which replaces
Edit Footprint Text and adds layer-class-based editing and the
italic, upright and visibility properties.
Adds Import Settings functionality which allows settings to
be imported from another project at page granularity.
Also UNIT_BINDERizes the dialog and adds editing of pcb text.
Fixes: lp:1731952
* https://bugs.launchpad.net/kicad/+bug/1731952
Fixes: lp:1743464
* https://bugs.launchpad.net/kicad/+bug/1743464
Fixes: lp:1664761
* https://bugs.launchpad.net/kicad/+bug/1664761
Fixes: lp:1753362
* https://bugs.launchpad.net/kicad/+bug/1753362
Fixes: lp:1545427
* https://bugs.launchpad.net/kicad/+bug/1545427
Fixes: lp:1753775
* https://bugs.launchpad.net/kicad/+bug/1753775
Fixes: lp:1777692
* https://bugs.launchpad.net/kicad/+bug/1777692
Fixes: lp:1780670
* https://bugs.launchpad.net/kicad/+bug/1780670
Fixes: lp:1519601
* https://bugs.launchpad.net/kicad/+bug/1519601
(cherry picked from commit 3944a5e)
2018-07-17 15:12:34 +01:00
Jeff Young
ff34c7a948
Eradicate g_userUnit from router.
...
(cherry picked from commit 5e90e6b)
2018-07-17 15:12:26 +01:00
Jeff Young
eacaa39aa2
Remove global units usage from GetSelectionText...
...
... and GetMsgPanelInfo.
Step 4 in the g_UserUnit eradication effort.
Also removes a couple of conversion routines that were close
enough to extinction.
(cherry picked from commit c75da51)
2018-07-17 15:11:09 +01:00
Jeff Young
f7861c90ec
Use more self-documenting names for conversion routines.
...
In particular, make sure no one thinks the low-precision ones are
OK for dialogs and/or files.
(cherry picked from commit bc1fcfa)
2018-07-17 15:10:13 +01:00
Seth Hillbrand
101b68b610
pcbnew: Keep dp placer on initial layer
...
Changing the layer after starting the differential pair placer should
not change the inital track layer.
Fixes: lp:1779800
* https://bugs.launchpad.net/kicad/+bug/1779800
2018-07-03 08:23:16 -07:00
Seth Hillbrand
b3db6572e8
pcbnew: diff pair filter bugfix
...
Added required action on the std::remove_if construct to erase elements
matching the filter
2018-06-29 13:05:44 -07:00
Seth Hillbrand
33075e55a4
pcbnew: Draw the clearance outline first
...
In Cairo, we don't have z-ordering implemented, so we need to draw the
clearance outline first otherwise it will draw a large, grey overlay
that hides the actual track while routing.
Fixes: lp:1779228
* https://bugs.launchpad.net/kicad/+bug/1779228
2018-06-28 20:28:12 -07:00
Tomasz Wlostowski
f6f726acab
router: allow placing tracks/diff pairs without continuing routing by Shift+L-Click
...
Fixes: lp:1777688
* https://bugs.launchpad.net/kicad/+bug/1777688
2018-06-19 19:30:03 +02:00
Seth Hillbrand
44c1f5785b
pcbnew: Set dp clearance based on netclass
...
Minimum differential pair clearance should be limited to the netclass
differential pair spacing. This also cleans up some unused code that
was left over from previous work on differential pair clearances.
Fixes: lp:1673632
* https://bugs.launchpad.net/kicad/+bug/1673632
2018-06-18 14:23:25 -07:00
Maciej Suminski
583a9c08c0
Remove duplicated PNS TOOL_ACTIONs to display routing settings
2018-06-15 17:12:15 +02:00
Seth Hillbrand
4dd2de9057
pcbnew: Prevent mouse capture after actions
...
After an action is completed that required the screen to pan when the
cursor reaches the edge of the screen, we should release the cursor to
allow the user to move their mouse without panning.
Fixes: lp:1763860
* https://bugs.launchpad.net/kicad/+bug/1763860
2018-06-13 14:05:32 -07:00
Seth Hillbrand
bc7bd107d9
Fix a number of untranslated strings.
2018-06-12 17:05:25 -07:00
Seth Hillbrand
47106b6861
pcbnew: Adding meander hotkeys to assignment
...
Allows increase/decrease spacing/amplitude hotkeys to be
assigned/changed.
Fixes: lp:94fb13aec
* https://bugs.launchpad.net/kicad/+bug/94fb13aec
2018-06-12 16:08:01 -07:00
Seth Hillbrand
aae30cc7c1
pcbnew: Hotkey minor fixes
...
- Ordering of Hotkey list by function
- Use Hotkey assignment instead of hard-coded hotkey for length tuning
- Adjust default Length Tuning settings hotkey to CTRL-L so that we
don't overlap with "Lock" (overlaps are not editable)
2018-06-12 14:22:46 -07:00
John Beard
0555bbc656
Pass PCB display settings to PNS router tool
...
This allows the tool to set display options like the clearance.
Fixes: lp:1766836
* https://bugs.launchpad.net/kicad/+bug/1766836
2018-06-11 10:48:05 -07:00
Seth Hillbrand
68f6e3ad44
pcbnew: Differential pairs obey netclass settings
...
PNS routing options allow trace width to be chosen by the assigned
netclass. This extends that to differential pair width/gap settings as
well.
Fixes: lp:1672126
* https://bugs.launchpad.net/kicad/+bug/1672126
2018-06-07 08:58:12 -07:00
Jeff Young
cdde4c4b40
Fix a bug in how we check for differential pair tuning.
...
Fixes: lp:1545856
* https://bugs.launchpad.net/kicad/+bug/1545856
2018-05-21 13:49:40 +01:00
Jeff Young
63c9e11aae
Bug fixes in Length Tuning UI.
...
1) hide the status popup when the dialog is brought up
2) forward events from the popup to the canvas so hotkeys work
3) make sure diff pair radius is always 100%
4) fix greyed-out Miter style label
5) make L a hotkey so it works before you start dragging
Fixes: lp:1545856
* https://bugs.launchpad.net/kicad/+bug/1545856
2018-05-20 23:48:29 +01:00
Jeff Young
2bd0a027a2
Improved error messages for diff-pair routing.
...
Fixes: lp:1542592
* https://bugs.launchpad.net/kicad/+bug/1542592
2018-05-19 01:52:22 +01:00
Jeff Young
c5696738d2
Use diff-pair-via clearance when checking against vias.
...
Fixes: lp:1742275
* https://bugs.launchpad.net/kicad/+bug/1742275
2018-05-18 23:42:38 +01:00
Jeff Young
149f4f68c9
Leave decorations on LAYER_GP_OVERLAY.
...
In particular, don't reset them to 0, which happens to be F_Cu.
Fixes: lp:1658775
* https://bugs.launchpad.net/kicad/+bug/1658775
2018-05-18 18:18:40 +01:00
Tomasz Włostowski
dcf4d7caa7
router: allow placing via without track in shove mode
...
Fixes: lp:1769782
* https://bugs.launchpad.net/kicad/+bug/1769782
2018-05-08 15:18:10 +02:00
Maciej Suminski
2b46bda2f2
PNS router: apply the last stable state after dragging
...
Previously, dragging changes were applied only if the last cursor move
finished with a successful drag operation. It made items squeezing
difficult, as it required accurate cursor movement to apply the changes.
2018-05-08 11:50:37 +02:00
Seth Hillbrand
dbc2eea3db
Optimize itemset
...
When counting items, many cases exist where we want to count all items
without checking flags. This short-circuits the loop to provide the
immediate count.
2018-05-07 13:59:12 -07:00
Seth Hillbrand
9648584827
Adjusting the breakout optimizer for custom pads
...
Rather than using the center of the bounding box, we keep the start
track on the custom pad's connection pad when optimizing the breakout.
2018-05-04 08:23:20 -07:00
Seth Hillbrand
b2c4519c2c
Setting custom pad shape to be outline for PNS
...
Changes SHAPE_CONVEX to SHAPE_SIMPLE to better reflect the limitations.
Changes SHAPE_LINE_CHAIN::PointInside calculation to allow points
strictly inside a line chain
Fixes: lp:1768862
* https://bugs.launchpad.net/kicad/+bug/1768862
2018-05-04 08:23:20 -07:00
Seth Hillbrand
1ac905d3ee
Allow PNS to select nearest pad when two overlap
...
Usually pads do not overlap. However custom pads are represented as
their convex hull, so they may enclose other pads. This change allows the
router to select the closest pad to the cursor position.
2018-05-03 09:48:15 -07:00
Tomasz Włostowski
2eddf1d8db
router: prevent a very unlikely infinite loop in PNS::LINE::Walkaround() causing an OOM&segfault
...
Fixes: lp:1767587
* https://bugs.launchpad.net/kicad/+bug/1767587
2018-05-02 15:06:08 -07:00
Maciej Suminski
73eab29802
Removed 2 unused variables from PNS::LINE::Walkaround()
2018-05-02 17:06:13 +02:00
Seth Hillbrand
12487e14ab
Reduce extra loop comparison
2018-04-30 09:14:23 -07:00
Seth Hillbrand
2a87117edc
Speed load/unload of complex boards
...
Corrects an error in polyline estimation
Syncs graphics to world PNS by whole layer set rather than
individual layer at a time.
Prevents reloading of full pns TOOL_BASE during reset of tools unless
the tool is being activated.
Fixes: lp:1766626
* https://bugs.launchpad.net/kicad/+bug/1766626
2018-04-28 16:11:07 +02:00
Jeff Young
7a7da560bc
Keep unknown nets at 0 while routing.
...
Previous algorithm used a static variable which it decremented
for each new unconnected track, but this resulted in the router
marking earlier fixed segments as collisions (because they
would get set to netcode = 0 when "fixed").
Fixes: lp:1762043
* https://bugs.launchpad.net/kicad/+bug/1762043
2018-04-25 10:54:32 +01:00
Seth Hillbrand
45d1c19eb7
Add tooltip text to drag options.
2018-04-17 08:59:52 -07:00
Jeff Young
900bf0c7a6
Allow connections to no-net items in Highlight Collisions mode.
...
If the track being routed is unconnected, or the end-point
clicked on is unconnected, allow the connection by changing
the unconnected item to the net of the connected one.
Fixes: lp:1548129
* https://bugs.launchpad.net/kicad/+bug/1548129
2018-04-09 11:05:14 +01:00
Tomasz Włostowski
ca4e4aead4
router: don't push vias if push force is zero
...
Fixes: lp:1758540
* https://bugs.launchpad.net/kicad/+bug/1758540
2018-03-26 20:13:32 +02:00
Jeff Young
d3e7efcd66
Ignore pads when selecting drag candidates in router tool.
...
Fixes: lp:1747156
* https://bugs.launchpad.net/kicad/+bug/1747156
2018-03-16 18:01:40 +00:00
Jeff Young
3b0a758f97
Ensure router layer is visible.
...
Fixes: lp:1663556
* https://bugs.launchpad.net/kicad/+bug/1663556
2018-03-16 02:43:17 +00:00
Tomasz Włostowski
ebd2b78f86
pcbnew/router: respect default net clearance for objects that don't have any net (e.g. board outline)
...
Fixes: lp:1753904
* https://bugs.launchpad.net/kicad/+bug/1753904
2018-03-07 11:47:37 +01:00
Maciej Suminski
18167f829a
Derive KIDIALOG from wxRichMessageDialog
...
wxRichMessageDialog already offers a dialog with a checkbox, so
the custom dialog setup code is not necessary anymore.
2018-03-02 17:05:35 +01:00
Maciej Suminski
1d5df8e975
Renamed KI_DIALOG to KIDIALOG
2018-03-02 11:57:03 +01:00
Jon Evans
0d794b20bb
Add null check in ROUTER_TOOL::breakTrack()
2018-02-27 08:45:06 +01:00
Jon Evans
31e78d670d
Ensure ROUTER_PREVIEW_ITEM draws on top of all normal layers
...
Fixes: lp:1751646
* https://bugs.launchpad.net/kicad/+bug/1751646
2018-02-26 11:31:39 +01:00
Jon Evans
be8bb24390
Make all new hotkeys editable; label some GAL-only hotkeys
...
Fixes: lp:1751183
* https://bugs.launchpad.net/kicad/+bug/1751183
2018-02-25 17:57:36 -05:00
Maciej Suminski
918ac567e5
Fix constant naming conflict in KI_DIALOG
2018-02-22 17:15:22 +01:00
Maciej Suminski
fe0e44ba3d
PNS: display a message in case of keep-out zone triangulation failure
2018-02-22 16:28:09 +01:00
Maciej Suminski
7129dcef91
Added STATUS_TEXT_POPUP for simple popup text display
2018-02-22 15:18:52 +01:00
Maciej Suminski
9673ac4ecd
WX_STATUS_POPUP refactor
...
- Rename WX_STATUS_POPUP -> STATUS_POPUP
- Added Expire() to show a popup temporarily
- Code formatting
2018-02-22 15:18:52 +01:00
Maciej Suminski
ab8e2419c2
PNS: Handle no-tracks setting in keep out zones
...
Fixes: lp:1748832
* https://bugs.launchpad.net/kicad/+bug/1748832
2018-02-19 10:25:05 +01:00
Jon Evans
0504a6db52
Don't sync zone if polygon triangulation fails
2018-02-19 08:49:34 +01:00
jean-pierre charras
cf5d93857f
PnS router: add support for circles in board outline
2018-02-18 21:00:28 +01:00
Tomasz Włostowski
dfb98ce70b
router: use more kicad-ish arc representation
2018-02-17 18:25:20 +01:00
Tomasz Włostowski
50c1ff67eb
router: treat negative net indices as always colliding
2018-02-17 18:25:20 +01:00
Maciej Suminski
ed9a14f01d
PNS: disable autopanning in case of an error
2018-02-16 11:28:37 +01:00
Jeff Young
93999f7af6
Change "Automatic neckdown" to "Optimize pad connections".
...
Fixes: lp:1485202
* https://bugs.launchpad.net/kicad/+bug/1485202
2018-02-15 17:02:44 +01:00
Maciej Suminski
6afdf1cf87
PNS router: reset forced cursor position
...
Track dragging forces the cursor position, which is still kept when PNS
router is launched again. It is avoided by resetting the force cursor
position option before running the event loop.
2018-02-14 17:34:32 +01:00
Maciej Suminski
11d8b9ff55
Fix double disambiguation menu when dragging
2018-02-14 15:34:09 +01:00
Jeff Young
1afbfad44a
Use "..." uniformly in menus.
...
See the bug report for some wording changes and a couple of
menu restructurings that were also cleaned up.
Fixes: lp:1597827
* https://bugs.launchpad.net/kicad/+bug/1597827
2018-02-10 17:32:28 -05:00
Tomasz Włostowski
bc7ca08f07
router: check type before static_cast-ing
2018-02-09 13:00:57 +01:00
Tomasz Włostowski
c0b61c19b7
router: fixed use-after-free error occuring when a newly routed segment covered exactly an older one
...
Fixes: lp:1747973
* https://bugs.launchpad.net/kicad/+bug/1747973
2018-02-08 11:34:31 +01:00
Tomasz Włostowski
271363f822
router: support for board outline
2018-02-06 09:43:56 +01:00
Tomasz Włostowski
2faf1a1ed3
Initial support for keepout zones in the P&S router.
2018-02-06 09:43:56 +01:00
jean-pierre charras
1858852f57
rename files
2018-02-02 21:57:12 +01:00
Maciej Suminski
95864780e2
Fix cursor freezes in GAL
...
Launching right click context menu overrides the cursor position, so all
actions executed by the tools will be performed in the right click
position. It created an issue, as the overridden cursor settings were
saved into wrong context if there was another tool activated in the
meantime.
Current implementation saves cursor settings for all tools and restores
them once the right click context menu disappears.
Fixes: lp:1745981
* https://bugs.launchpad.net/kicad/+bug/1745981
Fixes: lp:1746507
* https://bugs.launchpad.net/kicad/+bug/1746507
2018-02-02 19:08:05 +01:00
jean-pierre charras
39b4afecfa
fix code after file renaming
2018-01-31 09:24:02 +01:00
jean-pierre charras
b43dc7954c
fix code after renaming files
2018-01-30 15:34:09 +01:00
jean-pierre charras
8552f3fedf
fix code after renaming files
2018-01-29 22:00:44 +01:00
Jeff Young
3f6af59cac
Avoid selection disambiguation menu when possible.
...
Some actions, such as select trivial connection, don't need the
user to choose which trace at a corner to start from -- either
one will do. Same for moving a simple trace corner.
Likewise, Edit in Footprint Editor shouldn't ask if you mean the
footprint or the pad. Obviously it's the footprint.
This change adds a CLIENT_SELECTION_FILTER which allows clients
to do tool- or action-specific filtering of the selection before
the disambiguation menu is run.
It also removes some tool- and action-specific code which was
in the selection_tool and shouldn't have been.
Fixes: lp:1708869
* https://bugs.launchpad.net/kicad/+bug/1708869
2018-01-18 09:09:25 +01:00
Camille
f5f7ba4746
Fix loop variable copy in for-range loop, use const reference instead
2018-01-09 19:18:44 -05:00
Camille
9ff66a5274
Fix unnecessary value parameter detected by clang-tidy. - Replace value parameter by const reference parameter or move-assignement in some cases
2018-01-09 18:55:51 -05:00
Camille
3168d03fe5
Fix unnecessary copy initialization detected by clang-tidy
2018-01-09 18:22:10 -05:00
Tomasz Włostowski
44d4559f84
pcbnew: avoid segfault reported on certain OSX builds
...
Fixes: lp:1732274
* https://bugs.launchpad.net/kicad/+bug/1732274
2018-01-02 00:49:59 +01:00
jean-pierre charras
f85a886ae4
Bug fix: Custom shaped pads having a not convex shape not magnetic on PnS router.
2017-12-19 11:13:28 +01:00
Tomasz Włostowski
3c6d17026e
pcbnew: router now respects local pad clearances correctly
...
Fixes: lp:1558858
* https://bugs.launchpad.net/kicad/+bug/1558858
2017-12-18 18:51:47 +01:00
Maciej Suminski
a13c89c83d
Removed old debug output
2017-12-17 18:43:43 +01:00
jean-pierre charras
a287748921
Cosmetic enhancement: Add icons to track length tuner menu.
2017-12-14 14:33:20 +01:00
Seth Hillbrand
a63e9b863b
pcbnew: Fix multiple delete bug
...
Delete events when using GAL are handled by only one tool handler
instead of ROUTER_TOOL and EDIT_TOOL both deleting items.
Fixes: lp:1715158
* https://bugs.launchpad.net/kicad/+bug/1715158
2017-12-07 09:31:20 +01:00
Marvin Schmidt
69974b73db
Remove some extra semicolons
2017-11-09 19:52:18 +01:00
Tomasz Włostowski
9932ff32ae
refactoring: wrapped boost::optional in OPT<> class for the purpose of easier transition to C++17 in the future
2017-11-03 23:59:02 +01:00
Tomasz Włostowski
26f862a9d0
refactoring: remove PNS router dependency on PCB_EDIT_FRAME
2017-11-03 20:02:06 +01:00
Tomasz Włostowski
81d1e17f02
refactoring: renamed pcbstruct.h to pcb_display_options.h, DISPLAY_OPTIONS->PCB_DISPLAY_OPTIONS
2017-11-03 20:02:06 +01:00
Maciej Suminski
5eb56dd8b0
Coverity fixes
...
CIDs:
102571
168696
168701
168704
168706
168708
168710
168713
168716
168717
2017-11-01 10:24:26 +01:00
jean-pierre charras
1e35d45948
Replace a assert by a wxASSERT to make debug more easy.
2017-10-16 20:26:37 +02:00
jean-pierre charras
a43f3ab1fe
replace "BasicShape" by "Primitive" in code, a better name
2017-09-20 12:51:10 +02:00
jean-pierre charras
e2d3fcec02
Add support for custom pad shape. Full support in DRC and PnS.
...
add option to use shape or convex hull as clearance area in zones.
simplify code to handle clearance area
2017-09-19 09:02:53 +02:00
Tomasz Włostowski
20b9ed4897
router: fixed possible use-after-free condition during segment dragging
...
ratsnest: fixed occasionally disappearing airwires
2017-08-29 18:49:05 +02:00
Tomasz Włostowski
aeac415599
router: hopefully a proper fix for the dragging issue
2017-08-22 19:33:38 +02:00
Tomasz Włostowski
60fdc6229d
router: fixed inline dragging & settings dialogs inconsistency
2017-08-22 16:44:58 +02:00
Tomasz Włostowski
667d32c4ab
router: fixed snapping to end items
2017-08-17 22:54:55 +02:00
Seth Hillbrand
90873a101b
router: update status message on meander spacing/amplitude hotkeys
...
Fixes: lp:1710266
* https://bugs.launchpad.net/kicad/+bug/1710266
2017-08-16 14:16:20 +02:00
Tomasz Włostowski
d5bdcd3032
router: fixed no-snapping issue
2017-08-16 14:11:07 +02:00
Tomasz Włostowski
2d9ab80b4e
Few improvements to the GAL router:
...
- missing 'break track' functionality
- 'drag 45 degree' and 'drag free angle' context menu shorcuts, both in the router tool and in the default context menu
- bugfix: length tuner tool can now be used again
Fixes: lp:1708386
* https://bugs.launchpad.net/kicad/+bug/1708386
Fixes: lp:1708402
* https://bugs.launchpad.net/kicad/+bug/1708402
2017-08-07 14:28:46 +02:00
Maciej Suminski
76bd05a69b
Prevent creating too many transitions by TOOL_MANAGER
...
- added TOOL_INTERACTIVE::resetTransitions()
- made protected and moved TOOL_BASE::setTransitions() to TOOL_INTERACTIVE
- TOOL_MANAGER calls TOOL_INTERACTIVE::resetTransitions() instead of
setTransitions()
2017-07-31 15:09:19 +02:00
Maciej Suminski
7b88dac4b7
Consistent track removal for PNS and selection tool
...
Fixes: lp:1705676
* https://bugs.launchpad.net/kicad/+bug/1705676
2017-07-27 16:20:19 +02:00
Fabrizio Tappero
deeeed38a1
deleted several redundant icons in right-click menu. The objective is to get to a more uniforme right click menu look
...
Signed-off-by: Fabrizio Tappero <fabrizio.tappero@gmail.com>
2017-07-21 10:28:42 -04:00
Maciej Suminski
64f00f447f
pcbnew - refactor move exactly tool (3/2)
...
* code formatting
* turned EDIT_TOOL::getAnchorPoint() to static getAnchorPoint()
* removed unnecessary include directives
2017-07-19 11:36:35 +02:00
Robbert Lagerweij
b7f2525c5d
pcbnew - refactor move exactly tool (2/2)
...
This patch does the following:
* extracts a method to determine the anchor point of the move
* improves the logic of the anchor point determination for selections of multiple objects which do not contain footprints
2017-07-19 11:36:35 +02:00
Jean-Samuel Reynaud
885a4c1bc5
Avoid an infinite loop in PNS
...
Fixes: lp:1702485
* https://bugs.launchpad.net/kicad/+bug/1702485
2017-07-06 16:44:33 +02:00
jean-pierre charras
e3d69b619f
Pcbnew: fix issue in dialog_fp_lib_table: when the only changes were the plugin name, changes were not taken in account.
...
Because the FP_LIB_TABLE::operator == was incorrect
2017-06-30 16:03:17 +02:00
Maciej Suminski
805bfb048b
pcbnew: Configurable hotkeys for PNS
...
- routing options
- custom track/via size
- differential pair dimensions
- increase/decrease via size
2017-06-30 15:46:27 +02:00
hauptmech
20b4226a25
Router recognizes busses of differential pairs
...
Fixes: lp:1443330
* https://bugs.launchpad.net/kicad/+bug/1443330
2017-06-30 11:16:24 +02:00
Tomasz Włostowski
3b16d3cffe
further DLIST/Iterators cleanup, some code formatting
2017-06-23 11:12:37 +02:00
Tomasz Włostowski
3cba1007eb
Removed legacy connectivity/ratsnest algorithm, replaced with the new one. No legacy autorouting for the moment
2017-06-23 11:12:37 +02:00
jean-pierre charras
2c21c70f46
Fix a few doxygen warnings
2017-06-22 09:09:52 +02:00
Maciej Suminski
dcc803ecb1
VIEW_CONTROLS::GetMousePosition() returns the mouse position in world coordinates.
2017-06-12 16:24:52 +02:00
jean-pierre charras
6ed4f9b208
Make EDA_DRAW_FRAME::SetToolID and mouse cursor shape setting working in GAL canvases, and uses same mouse cursor shapes in legacy and gal canvases.
...
Starting fixing incorrect UI behavior of Zoom to selection in Pcbnew.
2017-06-12 15:16:09 +02:00
Jon Evans
3ec28e2acf
Refactor layer enumerations to all live in the same place
2017-03-30 16:01:48 -04:00
John Beard
8f3423b803
Add Select Layer And Add Via actions to GAL router tool
...
On these actions, invoke the layer select dialog and set the via layer
pairs accordingly.
Fixes: lp:1672820
* https://bugs.launchpad.net/kicad/+bug/1672820
2017-03-28 15:13:27 +02:00
John Beard
69115e4b9d
Signal via actions with flags, not event equality checking
...
This allows actions to encode both via type and other behaviours
intrisically witohut having to individually test for each action.
2017-03-28 15:13:24 +02:00
John Beard
1fd503bf58
Move DIRECTION45 to common/geometry
...
This class is useful for generic geometric layout of 45-deg constrained
line chains, not only in the PNS router.
2017-03-22 15:23:09 +01:00
Maciej Suminski
fe4f02f5b9
Coverity fixes
...
CIDs:
- 153097
- 157120
- 157119
- 155148
- 155146
- 153103
- 153099
- 153095
- 153087
- 153086
2017-03-11 22:20:08 +01:00
Tomasz Włostowski
0a55d8e053
Fixed differential pair gap clearance error when gap equaled minimum clearance.
...
Fixes: lp:1533551
* https://bugs.launchpad.net/kicad/+bug/1533551
2017-03-11 20:57:59 +01:00
Julius Schmidt
29eb696ef7
Fix crash when switching from dragging to routine (PNS router)
...
The attached patch fixes a bug where triggering InlineDrag while routing
is in progress will crash pcbnew. The problem is that the InlineDrag
event does not terminate performRouting. Once InlineDrag is finished
it will call StopRouting which deletes the m_placer. The Wait() in
performRouting will then return and it will crash as soon as it tries
to access the m_placer.
2017-03-07 13:56:44 +01:00
Maciej Suminski
906ee77dbf
Fixed VIEW_ITEM memory leaks
2017-03-02 23:57:13 +01:00
Jon Evans
fd4e2b042c
Refactor SELECTION, SELECTION_CONDITIONS, and context menus to common
...
SELECTION now holds EDA_ITEMs not BOARD_ITEMs so various places had to
change to casting the selected items to BOARD_ITEMs.
Fixed compilation warnings on clang (Tom)
2017-02-28 14:47:20 +01:00
Maciej Suminski
d3edc4f843
Disable router menu when the tool is stopped
2017-02-24 13:32:47 +01:00
John Beard
c001c6114f
Add cancel interactive tool action to GAL
...
This is used to provide menu entries that allows cancellation of
interactive drawing and routing tools without needing the keyboard.
It is provided in the drawing tools and the router tool.
The cancel event doesn't have any new functionality (e.g. track rip-up
for the PNS router - lp:1448460), this just adds it to the menu, where
it behaves the same as an Escape keypress.
2017-02-24 10:37:07 +01:00
Jon Evans
a52250a91e
Change from EDA_COLOR_T to COLOR4D globally; arbitrary color support
...
eeschema now supports arbitrary colors for all object types, and
pcbnew does in GAL canvas. When switching from GAL to legacy canvas,
pcbnew will convert colors to the nearest legacy color.
2017-02-22 17:35:00 +01:00
Jon Evans
4c83b0a94d
Move TOOL_ACTIONs to their corresponding tools; create COMMON_TOOLS
...
Some grid/zoom tools are left in PCBNEW_CONTROL because they currently
depend on Pcbnew-specific class members. Once refactoring is done to
make it possible to use all zoom and grid controls outside of pcbnew,
these last tools can be moved to common to match their ACTIONs.
2017-02-22 10:32:48 +01:00
Jon Evans
167f45ca2b
Refactor COMMON_ACTIONS into a base and derived class
...
New virtual class ACTIONS is added as a member to EDA_DRAW_FRAME so
that the TOOL_DISPATCHER can have access to the appropriate derived
version of TranslateLegacyId()
2017-02-22 10:32:48 +01:00
John Beard
a8eea6155a
Move bitmaps.h out of base_struct.h
...
bitmaps.h was included in nearly every file in the project due to it
being included by base_struct.h
Only about 130 files actually use the XPM definitions defined there, and
many of those already included bitmaps.h themselves, or via
menu_helpers.h. However, touching bitmaps.h would result in over 400
rebuilt files for pcbnew alone.
This commit moves the bitmap-related types like BITMAT_DEF out to a new
header, which is still included by base_struct.h, which is less
avoidable for now, it's it's used in the interface.
The icon list is still in bitmaps.h. This has the side effect that's
it's now easier to automatically generate this file.
Many classes in pcbnew and eeschema needed some functions moved
to the implementaitons from the headers too.
2017-02-21 09:50:15 -05:00
Maciej Suminski
7806cb7bca
Drag tracks/vias menu entry (GAL)
2017-02-09 12:03:28 +01:00
Maciej Suminski
77af6547c1
Coverity fixes (mostly initializing variables)
2017-02-01 17:31:55 +01:00
Maciej Suminski
39317eac83
Display clearance for routed tracks (GAL)
2017-01-27 19:11:12 +01:00
Maciej Suminski
fc122834c2
Code formatting
2017-01-27 19:08:32 +01:00
Maciej Suminski
1102eb0d0d
Store menu titles in CONTEXT_MENU
...
Previously a title had to be provided when a submenu was added,
but this led to storing the same title in many places.
2017-01-23 14:52:11 +01:00
Maciej Suminski
682da70a86
Fixed the issue of creating and event handling in context menus (GAL).
...
When creating a copy of CONTEXT_MENU, always a CONTEXT_MENU instance was
constructed, whereas an inherited type should be used. Solved with
CONTEXT_MENU::create() that has to be overridden in inheriting classes.
Event & update handlers are now virtual functions, instead of setting
the handlers with Set{Event,Update}Handler().
2017-01-23 11:40:59 +01:00
jean-pierre charras
2de913797a
Fix a UI policy issue. Very minor cosmetic change: give same look to Zoom and Grid selection in 2 menus.
2017-01-20 11:35:24 +01:00
jean-pierre charras
adb679dc46
ROUTER_TOOL_MENU: add zoom selection to this menu.
2017-01-20 08:51:12 +01:00
jean-pierre charras
d51d53c6b9
CONTEXT_TRACK_WIDTH_MENU EventHandler: better filtering of received events ID.
...
This is mandatory because currently, on Windows, this handler is also called when clicking on an other menu with submenus like the grid menu.
2017-01-20 08:29:24 +01:00
Tomasz Włostowski
ba9576b014
router: snap to clearance boundaries in Highlight Collisions mode
...
Fixes: lp:1655819
* https://bugs.launchpad.net/kicad/+bug/1655819
2017-01-19 17:47:15 +01:00
Tomasz Włostowski
bb463ad434
pns: fix assertion fail when placing diff pairs
2017-01-18 15:55:46 +01:00
Maciej Suminski
75fb04d650
TOOL_ACTIONs are handled with transitions, no handlers needed in the event loops
...
There used to be a number of TOOL_ACTIONs that had entries both in
SetTransitions() and the event loop, which seemed redundant and
troublesome.
Now it is not necessary anymore, transitions setup is enough to execute
associated actions.
2017-01-18 14:20:39 +01:00
Maciej Suminski
3c61b16e7b
Code formatting
2017-01-18 13:22:40 +01:00
Maciej Suminski
ee862e1db4
Fixed a hidden overloaded virtual function warning in PNS
2017-01-18 13:22:18 +01:00
John Beard
3448698849
Add grid menu to routing context menu
...
This is a missing GAL feature (though grid cycling by hotkey was already
working fine).
Fixes: lp:1519973
* https://bugs.launchpad.net/kicad/+bug/1519973
2017-01-10 11:18:25 +01:00
jean-pierre charras
b8b08dafd6
Code cleaning: remove pcbcommon.* which contains nothing really useful. The very few lines of code are moved to a better place.
2016-12-31 12:56:21 +01:00
Tomasz Wlostowski
c45cc1de68
Fixes: lp:1653146 (Assertion failed when trying to delete track with router tool active, in debug mode)
...
https://bugs.launchpad.net/kicad/+bug/1653146
2016-12-30 20:14:44 +01:00
jean-pierre charras
dec2d6e8cc
Fix a few Coverity warnings. A bit of clean code in export_vrml.cpp.
2016-12-30 12:40:05 +01:00
Maciej Suminski
89055c4425
Code formatting
2016-12-12 16:45:52 +01:00
Tomasz Włostowski
1c1f4e9a50
Refactoring of VIEW/VIEW_ITEM classes:
...
- Remove dependency of EDA_ITEM on VIEW
- VIEW_ITEM is now a pure virtual interface
2016-12-12 16:45:52 +01:00
Maciej Suminski
524dddaf70
Sync the PNS model when its changed
2016-11-28 15:51:18 +01:00
jean-pierre charras
bcfc1e7a3f
fix shadowed local variables
2016-11-25 16:00:42 +01:00
jean-pierre charras
7051b6d21f
Fixes: lp:1635723 (pcbnew: allows sometimes to draw tracks in non copper layers in Gal Mode)
...
https://bugs.launchpad.net/kicad/+bug/1635723
2016-11-13 19:02:44 +01:00
Tomasz Włostowski
4d180efa5f
router: correct handling of per-pad/per-module clearance
2016-10-19 17:54:00 +02:00
Maciej Suminski
abbd47e2f2
Remove an unused variable and a debug printf
2016-09-30 09:31:40 +02:00
Tomasz Włostowski
3257f1a863
pns: fixed inline drag grid snapping & undo-related assertion failure
...
Fixes: lp:1628697
* https://bugs.launchpad.net/kicad/+bug/1628697
2016-09-30 09:29:49 +02:00
Tomasz Włostowski
4bc4dc80b6
pns: unique_ptr for BOARD_COMMIT member
2016-09-30 09:05:58 +02:00
Simon Richter
ad088db6d2
Add more "override" markers.
2016-09-25 13:59:41 -04:00
Simon Richter
59c81976dc
Explicitly mark overriding functions.
2016-09-24 14:53:15 -04:00
Maciej Suminski
3623421912
Fixed a PNS crash after undoing the last operation while routing
2016-09-23 13:58:33 +02:00
decimad
6a9c1cb6a1
Split the undo/redo event into the two stages "pre" and "post" for convenient synchronization of dependent state.
2016-09-23 13:29:25 +02:00
Maciej Suminski
65821328d2
Fix a crash when dragging a via attached to a locked track (PNS)
...
Fixes: lp:1625835
* https://bugs.launchpad.net/kicad/+bug/1625835
2016-09-21 14:47:14 +02:00
Chris Pavlina
c57fd7ccbf
Fix signed/unsigned comparison warning in PNS::LINE::ClipVertexRange
2016-09-20 14:26:16 -04:00
Maciej Suminski
17806b58f6
Fixed unused variable warnings
2016-09-13 10:06:49 +02:00
Maciej Suminski
5a1f52bf30
Modified tools to use BOARD_COMMIT.
2016-09-12 13:45:57 +02:00
Maciej Suminski
5c0605f6dc
Mute a few warnings
2016-09-12 11:50:06 +02:00
Tomasz Włostowski
0b8ab2f73d
router: fixed incorrect clearance computation in highlight collisions mode.
...
Fixes: lp:1621186
https://bugs.launchpad.net/kicad/+bug/1621186
2016-09-08 10:30:02 -04:00
Tomasz Wlostowski
03d372a0ec
Fixed an assertion triggered upon line simplification (PNS).
2016-09-06 16:40:40 +02:00
Maciej Suminski
f1e2a2c4c1
Corrected debug information display call. Removed an unused variable.
2016-09-06 16:27:35 +02:00
decimad
94aaa47583
Add Remove overloads for specific item types, split removal into index-handling and lifetime-handling (not 100% correct yet, since the index is defactor lifetime-owner, it will be later.)
2016-09-06 16:06:06 +02:00
decimad
94fae5d6a1
fix eager dynamic allocation in PNS::NODE::addLine
...
move implementation into PNS::NODE::Add since lines will never be part of the index itself
2016-09-06 16:06:06 +02:00
decimad
96a3145543
use unique_ptr at client <-> pns-router border, to document the pns router is taking ownership
...
add overloads for NODE::Add( ... ) taking pointers to specific item types (retain old private add-Functions, they will come in handy later)
LINE overloads now take by reference, to document their special treatment.
updated code throughout affected by these changes
2016-09-06 16:06:06 +02:00
decimad
2aef1a4568
use unique_ptr to document ownership (PNS::LINE_PLACER)
2016-09-06 16:06:06 +02:00
decimad
4770be0920
Make the segment-ref container a true member of PNS::LINE
...
improve const correctness
return segment container by ref
change client code accordingly
2016-09-06 16:06:06 +02:00
decimad
2faca77adf
use unique_ptr to document ownership (PNS::ROUTER)
2016-09-06 16:06:06 +02:00
decimad
6c749e0ba8
Remove PNS_ prefix from most types inside namespace PNS
2016-09-06 16:06:06 +02:00
decimad
4cf44d9725
Rename pns item kind constants in preparation for renaming pns classes
2016-09-06 16:06:06 +02:00
decimad
de6281e977
Move PNS router code into namespace PNS
...
update copyright messages
2016-09-06 16:06:06 +02:00
Maciej Suminski
ca499b80e1
Fixed wxLogTrace() calls in PNS
...
Fixes: lp:1616702
* https://bugs.launchpad.net/kicad/+bug/1616702
2016-08-25 09:24:55 +02:00
Maciej Suminski
78050c05e2
Changed PNS logging routine to wxLogTrace
2016-08-17 16:00:21 +02:00
Maciej Suminski
9f0b42cb35
pns: fixed a few memleaks & conditional jumps depending on uninitalized variables
2016-08-17 15:09:48 +02:00
Maciej Suminski
7e94e5282a
Changed PNS debug output to use wxLogTrace
2016-08-15 17:16:54 +02:00
Maciej Suminski
0ef866ee74
Code formatting
2016-08-15 17:16:53 +02:00
Tomasz Wlostowski
f0adbd757c
router: added missing files
2016-08-15 17:16:51 +02:00
Tomasz Wlostowski
a53ea81794
P&S: factor out Kicad-dependend PNS_ROUTER::SnapToItem() to the PNS_TOOL_BASE class
2016-08-15 17:16:51 +02:00
Tomasz Wlostowski
4d134e5522
fix direction-depending DP tuning glitch
2016-08-15 17:16:51 +02:00
Tomasz Wlostowski
b52eb441a1
router: fix compilation warnings
2016-08-15 17:16:50 +02:00
Tomasz Wlostowski
456c02c800
router: multiple fixes - fixed crash when trying to drag a locked via - prompt when the user attempts to drag a locked via/segment - removed remains of PICKED_ITEMS_LIST from the PNS_ROUTER class
2016-08-15 17:16:50 +02:00
Tomasz Wlostowski
bcf7990bf9
P&S: support for 45-degree style length tuning meanders
2016-08-15 17:16:49 +02:00
Tomasz Wlostowski
a2ac1cd087
P&S: cleaner placement of DP segments/vias. Speed improvements too.
2016-08-15 17:16:49 +02:00
Tomasz Wlostowski
4cbb0aebfd
P&S: support for custom visitor objects in PNS_NODE::QueryColliding()
2016-08-15 17:16:49 +02:00
Tomasz Wlostowski
2b32b6f72e
P&S: support for trace & via locking
2016-08-15 17:16:48 +02:00
Christian Gagneraud
7e0caf7abe
[pns] Make the placer algo draw debugging stuff by relying on a new PNS_DEBUG_DECORATOR, this removes a reversed dependency b/w PNS_ROUTER and PNS_ALGO Tom: some rework of the patch
2016-08-15 17:16:48 +02:00
Christian Gagneraud
e9a2cb0642
[pns] Remove unnecessary includes of KiCad colors.h
2016-08-15 17:16:48 +02:00
Tomasz Wlostowski
0700178d07
P&S: enable delete & backspace shortcuts while router is active
2016-08-15 17:16:47 +02:00
Tomasz Wlostowski
9c8bdcc894
P&S refactor: removed most of Kicad-dependent code from PNS internal classes
2016-08-15 17:16:47 +02:00
Mrio Luzeiro
d8eab321f7
3D Viewer: complete refactor of the 3D viewer.
...
* Split and rewrite the preview window and canvas.
* Create a new class for handling the board information.
* Adds new render targets: openGL, legacy, and ray tracing.
* Render targets take full advantage of the new 3D plugins system and 3D cache
for a fast 3D model loading.
* Faster board loading.
* New OpenGL render is faster than the old one.
* New ray tracing render target with a post processing shader.
* Use of new 3D plugins (WRL, X3D, STEP and IGES) and 3D model caching.
* Preview of 3D model while browsing the file name.
* 3D preview of the footprint while adding / align 3D shapes.
* Render of 3D models according to attributes: Normal, Normal+Insert, Virtual.
* Pivot rotation centered in one point over the PCB board.
* Shortcuts keys improved for XYZ orientation..
* Animated camera.
2016-07-19 13:35:25 -04:00
Simon Richter
1b2fd6a382
Replace BOOST_FOREACH with C++11 range based for.
2016-06-29 16:07:55 -04:00
Simon Richter
da5699de0a
Replace boost::shared_ptr with std::shared_ptr.
2016-06-29 11:09:55 -04:00
Michael Steinberg
fde12ebd25
Replace boost::function and boost::bind with their std:: counterparts
2016-06-29 12:23:11 +02:00
jean-pierre charras
7abf006c80
Very minor fix: fix shadowed local vars.
2016-06-15 10:27:24 +02:00
jean-pierre charras
11c369ee1b
Fix minor compil warnings (deprecated warnings and shadowed local vars warnings)
2016-06-07 17:33:12 +02:00
Maciej Suminski
553899b79b
PNS: Do not create an undo buffer entry when there is nothing to save.
2016-06-07 14:42:42 +02:00
Simon Richter
96ec9db5d6
Add missing C++ stdlib headers
...
The GCC standard library headers often include other headers, which makes
some code compile that forgets to include several headers.
2016-05-28 12:46:29 -04:00
Maciej Suminski
a30c8d7848
Coverity fixes.
2016-05-11 11:18:27 +02:00
Matthew Petroff
db54f3e7a7
Correct multiple UI spelling errors
2016-05-02 10:01:43 -04:00
jean-pierre charras
4a838fb8c3
Pcbnew: Add rounded rect pad shape.
2016-04-06 20:15:49 +02:00
Rohan Agrawal
8d659b3e02
removed unnessacary curly braces
2016-02-11 19:26:03 -08:00
Rohan Agrawal
31a6a4adf0
Run fix_route until routing ended in EndTrack
...
Should fix Bug 1424003, by making making sure the routing is completed when endtrack is triggered.
2016-02-11 18:26:40 -08:00
Tomasz Wlostowski
95252267ec
Router: check layers of all traversed joints in FindLinesBetweenJoints(). (fixes lp:1531762)
2016-01-11 13:37:00 -05:00
Cirilo Bernardo
2128594a85
Coding policy fixes: remove trailing white space.
2015-12-14 16:20:54 -05:00
Maciej Suminski
d373915340
Fixed crash when context menu is invoked during track dragging (GAL).
2015-12-03 14:26:12 +01:00
Tomasz Wlostowski
72b0593fdb
Pcbnew: push and shove router fixes.
...
* Fix segfault caused by invalidation of the end item by
PNS_LINE_PLACER::UpdateSizes().
* GAL zone drawing tool updates the ratsnest after zone drawing is complete.
* Fixed performance issue in zones processing using strict simplification
only for the final filled area.
2015-11-18 09:35:17 -05:00
jean-pierre charras
34f1c0ea2d
Fix a few Coverity warnings.
2015-11-11 19:47:51 +01:00
unknown
d830b24c56
Fix memory leak in meander placer.
2015-11-09 13:11:27 +01:00
Tomasz Wlostowski
08178104bb
router: take track width changes into account when calculating trace length for tuning
2015-11-05 19:20:08 +10:00
Thomasz Wlostowski
6e470ece1d
Pcbnew: fix push and shove router segfault bug.
2015-11-03 11:19:42 -05:00
jean-pierre charras
9aba2f2683
Add tool tips in pns settings dialogs. Use default events handlers in cancel and ok buttons and close window.
...
Fia an incorrect sentence in general board editor options dialog.
2015-10-16 17:56:50 +02:00
Tomasz Wlostowski
0725575830
router: fixed disappearing segments when dragging corners/vias
2015-10-12 14:08:27 +02:00
Tomasz Wlostowski
cd0031be47
router: fix segfault when placing a via with failed shove of head trace
2015-10-12 10:02:03 +02:00
Tomasz Wlostowski
3596ef2d4c
router: fixed loop removal regression in shove mode
2015-10-09 14:31:06 +02:00
Tomasz Wlostowski
b4fd9f3ed5
router: pick similar starting shapes for the diff pairs, not the very nearest one
2015-10-07 19:26:33 +02:00
Maciej Suminski
a3786fd6d8
router; Changed 'custom track via/size' hotkey to Q (to avoid conflict with cycling through defined track widths).
2015-10-07 11:10:34 +02:00
Maciej Suminski
2607497b37
Code formatting.
2015-10-05 18:28:41 +02:00
Maciej Suminski
480cf85102
router: Layer switching uses the layer pair settings when placing a through-hole via.
2015-10-05 13:28:32 +02:00
Maciej Suminski
f13208dc04
router: Display an error message when trying to place diff pair tracks that violate design rules.
2015-09-30 13:37:19 +02:00
Maciej Suminski
f752f7875e
Code formatting.
2015-09-30 11:18:19 +02:00
Maciej Suminski
f2807035df
router: Improved via placement code. - Blind/buried vias going through all layers are converted to TH vias. - If current layer is not set in the pair, router switches to the top layer instead of keep using the same layer. - Microvias switch between one of the outer layers and the adjacent one.
2015-09-24 18:34:22 +02:00
Maciej Suminski
504cf55642
Minor code formatting corrections.
2015-09-24 18:34:22 +02:00
Maciej Suminski
41e96e03d6
router: Added messages explaining why a blind/buried/microvia cannot be placed.
2015-09-24 11:04:42 +02:00
Tomasz Wlostowski
5bbf980ec7
router: fixes for disappearing segments after shoving & assertion in PNS_NODE destructor
2015-09-14 18:40:29 +02:00
Maciej Suminski
5659e3f8dc
Adjusted ROUTER_PREVIEW_ITEM depth values.
2015-09-09 11:56:16 +02:00
Maciej Suminski
4636d8d615
PNS router changes layer on 'Place Via' hot key while it is not laying out a track.
2015-09-03 18:25:48 +02:00
jean-pierre charras
156d5f50d6
fix unwanted foreground frame change on Windows when creating BOM and netlists from scripts.
...
Very minor coverity warning fixes.
2015-08-28 16:15:45 +02:00
Michael Beardsworth
2e4136720d
Removed set-but-unused failingDirCheck variable
2015-08-26 17:52:56 +02:00
jean-pierre charras
4fc230b773
Rework on Enum PAD_SHAPE_T, PAD_DRILL_SHAPE_T and PAD_ATTR_T (see rev 6008) : the new and better names are now used in Kicad code and existing python scripts.
...
PAD_SHAPE_T and PAD_ATTR_T still have a double definition (new names and old names) to be sure python scripts are nor broken by the change.
PAD_DRILL_SHAPE_T does not have a double definition, because it is unlikely oblong holes are used in python scripts.
Double definitions will be removed in the (next) future.
2015-08-23 21:40:33 +02:00
Tomasz Wlostowski
a33fc223ae
router: take net clearance when deskewing diff pairs.
...
Apply correction on DP corner radius to avoid DRC issues.
2015-08-21 16:37:44 +02:00
Tomasz Wlostowski
b4135e0a33
router: fixed snapping to target while placing diff pair
2015-08-21 16:35:34 +02:00
Tomasz Wlostowski
2b70aeafba
fix rare segfault when head line had unsimplified segments
2015-08-20 15:11:16 +02:00
Tomasz Wlostowski
9da18f6db6
router: fix ortho snap mode for diff pairs
2015-08-20 09:46:19 +02:00
Tomasz Wlostowski
a96299d456
router: improvements to shove algorithm
2015-08-19 18:07:16 +02:00
Tomasz Wlostowski
95c59c8060
router: multiple fixes:
...
- PNS_ITEMSET now keeps ownership info (does not rely on PNS_ITEM::Owner(), avoiding the risk of dangling pointers)
- fixed vias losing connected traces when dragging in mark obstacles mode
- fixed rare segfault when board item returned null netclass
2015-08-19 17:27:23 +02:00
Tomasz Wlostowski
f6689f75a8
router: fixed loop removal issue
2015-08-18 11:38:17 +02:00
Tomasz Wlostowski
e342744a32
router: Do not use reference to a temporary object. Prevent double freeing (m_joints). Draw tuned track always on top.
2015-08-12 21:12:13 +02:00
Maciej Suminski
6989af7904
Minor fixes (PNS).
2015-08-12 21:12:13 +02:00
Maciej Suminski
127fcfa7c9
Code formatting.
2015-08-12 21:12:12 +02:00
Maciej Suminski
65ebfe12c1
Fixed oval pads highlighting in mark collisions mode (PNS).
2015-08-10 17:50:10 +02:00
Maciej Suminski
5caa1523bd
Handling Coverity reports.
2015-08-07 17:07:06 +02:00
Maciej Suminski
d624115f35
Fixed failing undo while routing.
2015-08-04 23:08:13 +02:00
Tomasz Wlostowski
b6f61ff676
PNS: correctly snap to offset pads
2015-08-04 12:15:47 +02:00
Tomasz Wlostowski
86b07d89a7
PNS: fixed crash on via dragging
2015-08-04 11:37:16 +02:00
Maciej Suminski
0fbf31ef38
P&S: memory mgr & disappearing trace fixes. Still a bit buggy, though...
2015-08-03 21:11:51 +02:00
Bernhard Stegmaier
5f4423f7af
Changed abs() to std::abs() in pns_topology.cpp.
2015-08-03 10:50:05 +02:00
Maciej Suminski
d010703eaf
Fixed cursor freeze in pcbnew (GAL).
2015-07-24 10:58:47 +02:00
Maciej Suminski
7650b0e8ad
Minor code cleaning (PNS).
2015-07-24 09:42:46 +02:00
Maciej Suminski
d6bc33bd42
Removed a few more memory leaks and fixed crash on exit.
2015-07-24 09:42:46 +02:00
Tomasz Wlostowski
afb6571249
PNS_NODE: fix segfault when dragging a track/corner of a track forming a ring
2015-07-22 13:51:12 +02:00
Tomasz Wlostowski
8752f46f07
PNS_ROUTER: correctly handle NPTH pad layer sets.
2015-07-22 13:49:53 +02:00
Maciej Suminski
6cb57f100a
Fixed a memleak (PNS).
2015-07-22 10:46:56 +02:00
Maciej Suminski
b16ade0805
PNS code formatting.
2015-07-22 10:46:56 +02:00
Jan Dubiec
7f1f436a4e
Proper OPT_OBSTACLE casting.
2015-07-22 10:46:45 +02:00
Maciej Suminski
fbdaf9bbdc
Removed unnecessary header file.
2015-07-16 11:06:17 +02:00
Maciej Suminski
c9370ae5e6
Fixed a PNS assert.
2015-07-10 23:42:13 +02:00
Maciej Suminski
a530ffad50
Code formatting.
2015-07-10 23:42:05 +02:00
Tomasz Wlostowski
a7613b6d6a
Fixed cancelling inline track dragging.
2015-07-10 12:14:27 +02:00
Maciej Suminski
ca27eeb5c7
Fixed "select copper connection".
2015-07-09 20:04:54 +02:00
Maciej Suminski
4fffd147f2
Fix one warning.
2015-07-07 18:38:49 +02:00
Maciej Suminski
f2785d35bf
Muting Coverity report.
2015-07-07 18:37:03 +02:00
Maciej Suminski
df15be4f01
CONTEXT_TRACK_VIA_SIZE_MENU: generic context menu that displays track/via sizes.
2015-07-07 18:36:56 +02:00
Maciej Suminski
3a908b8b8a
PNS: fix hotkey conflict (Diff Pair Dimensions vs Drag).
2015-07-07 18:36:54 +02:00
Maciej Suminski
2dc9d2ae66
PNS: hide cursor after inline dragging.
2015-07-07 18:36:47 +02:00
Maciej Suminski
5b7d08f2fd
PNS: initalize starting point.
2015-07-07 18:36:45 +02:00
Maciej Suminski
8e98008f67
PNS: prevent placing multiple vias in the same spot.
2015-07-07 18:36:43 +02:00
Maciej Suminski
e7626a8592
PNS: hide preview via when disabled.
2015-07-07 18:36:41 +02:00
Maciej Suminski
66778e1b00
PNS code formatting.
2015-07-07 18:36:38 +02:00
jean-pierre charras
351914da9d
Fix minor and very minor compil and Cppcheck warnings.
2015-07-06 19:56:05 +02:00
Maciej Suminski
766da1e494
Code formatting.
2015-07-02 16:11:15 +02:00
Tomasz Wlostowski
a180f70086
router: compute (and display) DP gap dynamically when tuning length
2015-07-02 16:10:49 +02:00
Tomasz Wlostowski
0ade919a98
router: fix shortcut crash & inline dragging for inline dragging P&S
2015-07-02 16:10:07 +02:00
Jonathan Jara-Almonte
2fd493255d
router: compute diff pair gap on the fly when tuning the length
2015-07-02 16:10:02 +02:00
Tomasz Wlostowski
171d39c8d0
router: invoke interactive drag when dragging traces/vias in edit tool (disabled by default)
2015-07-02 16:09:56 +02:00
Tomasz Wlostowski
a86fda1d37
tools: added TOOL_SETTINGS class for storing persistent tool settings in config file (just a wrapper for wxConfigBase) router: free angle mode (mark obstacles only) & persistent settings
2015-07-02 16:09:51 +02:00
Mathias Grimmberger
7724c581fd
router: support for non-90 degree pad orientations
2015-07-02 16:09:43 +02:00
Tomasz Wlostowski
4abcc159d2
router: don't run optimizer if head line == NULL or on shove failure
2015-07-02 16:09:38 +02:00
Tomasz Wlostowski
52e193eded
router: fixing assert
2015-07-02 16:09:32 +02:00
Tomasz Wlostowski
e6dd016cb2
router: improve rounding error handling in hull calculation
2015-07-02 16:09:29 +02:00
Tomasz Wlostowski
f96c65254c
router: allow for insertion of a via without leading trace (e.g. in the middle of already existing trace)
2015-07-02 16:09:24 +02:00
Tomasz Wlostowski
a3edd9706f
router: more robust nearest obstacle clipping
2015-07-02 16:09:16 +02:00
Chris Pavlina
5a4e528d6a
Correct PNS boundaries for offset pads.
2015-06-23 11:41:53 +02:00
jean-pierre charras
355bd47e16
Edit microvia: fix incorrect drill size (Bug #1466653 )
...
Fix a few coverity minor warnings.
2015-06-19 10:55:37 +02:00
jean-pierre charras
4f71260319
Fix micro via size incorrect when adding it in pns router
2015-06-18 20:22:23 +02:00
Maciej Suminski
d433a06d11
Fixed initialization for custom track/via size values (PNS). More meaningful error messages.
2015-06-15 17:54:58 +02:00
jean-pierre charras
49fac351ab
Fix a few coverity warnings.
2015-06-15 16:01:43 +02:00
Tomasz wlostowski
eba3a55bb2
pcbnew: new zone filling algorithm using ClipperLib. Possibility to fall back to the old one
2015-06-12 17:13:18 +02:00
Maciej Suminski
26ee2092af
PNS router uses the legacy canvas hot key bindings.
2015-05-18 13:48:11 +02:00
Maciej Suminski
15cefcda9f
Code formatting.
2015-05-18 13:48:11 +02:00
jean-pierre charras
77249d9b2d
Minor fixes: remove a few useless includes and move a few others to the right file. Remove a few coverity warnings about not initialized members.
...
Minor bug fix: Zone duplicate zone in legacy mode: duplicate a zone to the same layer (and therefore the same location) is no more allowed.
2015-05-15 14:49:11 +02:00
jean-pierre charras
e2c7e6bf02
onrightclick.cpp: remove useless wxClientDC, which was used only the hide/show (to the same location) the on-grid cursor during the creation of the popup menu (perhaps a trace of legacy code).
...
Minor changes in pcb_calculator GUI messages to make easier translation of these messages.
Cosmetic enhancements for 2 icons
2015-05-09 10:37:50 +02:00
Maciej Suminski
99e5228948
Moved the list of TOOL_ACTIONs to ACTION_MANAGER.
2015-05-05 20:39:41 +02:00
jean-pierre charras
425ddb92a7
Cosmetic enhancements in dialogs and menus
2015-05-03 20:43:07 +02:00
Maciej Suminski
06b978b829
Refactored CONTEXT_MENU, added handler for updating.
2015-04-30 10:46:05 +02:00
Maciej Suminski
4be876a13a
Expandable CONTEXT_MENUs (GAL). Minor CONTEXT_MENU
2015-04-30 10:46:04 +02:00
jean-pierre charras
569c2be354
Minor fixes: dialog rescue: make strings translatable. Remove a few coverity warnings (not initialized members). Very minor other changes.
2015-04-28 17:07:36 +02:00
jean-pierre charras
20dfe9ca29
Minor fixes: dialog_create_array.* files: clean code ( remove useless declarations and functions ).
...
fix a few coverity warnings about not initialized members in ctors.
2015-04-22 18:39:49 +02:00
jean-pierre charras
4e210a2d05
ModEdit: fix a refresh issue after deleting a pad (depending on the position of the pad, the pad was sometimes not immediately undrawn).
...
Fix a few coverity wanings (not initialized members in ctors)
2015-04-20 16:59:25 +02:00
jean-pierre charras
c519eea12b
3D viewer: fix (the fix is not perfect) a minor issue in zone rendering: copper thickness was not good when the option 'Show Holes in Zones" was OFF, and "Show Copper Thickness" ON.
...
Fix a few coverity minor warnings.
2015-04-12 19:44:46 +02:00
Eldar Khayrullin
7d5ad2785a
Make translatable 'Routing Options...' entry
2015-04-05 18:01:50 +02:00
Maciej Suminski
b1cd83c197
Icons in GAL context menus.
2015-04-02 16:09:48 +02:00
Maciej Suminski
6083f3b011
Internationalization of GAL dialogs & menus.
2015-04-02 16:09:26 +02:00
Maciej Suminski
589dd442f5
Clippy returns home.
2015-04-02 09:18:45 +02:00
Maciej Suminski
8be73ad05a
KiCad assistant.
2015-03-31 23:45:02 +02:00
Maciej Suminski
09f2af3c42
Fixed invisible tracks in PNS.
2015-03-30 21:49:30 +02:00
Tomasz Wlostowski
aeddbb51ff
router: respect NPTH holes too
2015-03-11 23:48:53 +01:00
Maciej Suminski
721949b50e
Fix memory leak in pns_node and pns_line_placer. Fix coverity uninitialized warnings.
2015-03-10 15:38:27 +01:00
Maciej Suminski
e6a10faab7
FIxed a few clang warnings.
2015-03-09 11:06:54 +01:00
unknown
c3e3ff3682
Minot fixes: Minor coding style issues fix (tab -> spaces). Add missing GetClass to all classes derived from EDA_ITEM. Make debug method Show() only compiled in debug mode.
2015-03-06 09:58:32 +01:00
Tomasz Wlostowski
435ca8a7dd
router: fix tuning status popup & incorrect length display
2015-03-05 10:02:29 +01:00
Tomasz Wlostowski
504c8bf286
router: fix segfault on misnamed DP complementary net
2015-03-05 10:01:54 +01:00
Maciej Suminski
8cc70d4468
Refinement to the previous commit.
2015-03-04 20:22:33 +01:00
Maciej Suminski
63ae839489
Fix for uninitialized length tuning status popup.
2015-03-04 20:08:30 +01:00
Tomasz Wlostowski
5f1c9060ac
P&S router: fix unguarded boost optional derefernce. (fixes lp:1427880)
2015-03-03 20:16:14 -05:00
Tom Wlostowski
b580ef70c5
Fix segfault in P&S router.
2015-03-03 15:58:36 -05:00
Tom Wlostowski
7977ac5421
Fix double free in P&S router causing KiCad to segfault. (fixes lp:1427803)
2015-03-03 15:07:56 -05:00
Maciej Suminski
a6bd3314e4
Fixed warnings.
2015-03-03 12:59:26 +01:00
Maciej Suminski
0dd9efd9db
Merged the differential pair router & length tuning tool.
2015-03-03 11:50:50 +01:00
Tomasz Włostowski
385d3648d6
router: removed some printfs()
2015-03-03 10:36:44 +01:00
Tomasz Włostowski
fe40567426
router: shove now respects diff pair gap
2015-03-02 17:21:04 +01:00
Tomasz Włostowski
bf3128c683
router: fix syntax error in PNS_LOGGER output files
2015-03-02 17:20:48 +01:00
Tomasz Włostowski
3f015705ac
working on shove fix for DPs
2015-02-26 16:34:10 +01:00
Wayne Stambaugh
d1d1e2b58a
Lots of Coverity scan error fixes.
2015-02-20 19:41:10 -05:00
Maciej Suminski
4fb9bce354
Code formatting.
2015-02-18 17:53:46 +01:00
Tomasz Włostowski
112adccbcb
router: differential pairs & length tuning support
2015-02-18 01:29:54 +01:00
Maciej Suminski
902d0e3f1f
Tools are processing const TOOL_EVENT& (Tool Framework).
2015-02-14 21:28:47 +01:00
Maciej Suminski
2647fdfd89
Fixed context submenus event handlers (GAL/Windows).
2015-01-25 19:11:02 +01:00
jean-pierre charras
9cfb97d8b4
Add hight contrast option in Modedit. In hight contrast mode, solder masks and solder paste are shown.
...
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.
2015-01-10 11:27:49 +01:00
jean-pierre charras
bc230f7650
Code cleaning: move class PAGE_INFO from common.h to class_page_info.h;
...
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).
2014-12-23 14:01:59 +01:00
Maciej Suminski
e6ff6af7b3
Fixed typo.
2014-11-27 11:51:16 +01:00
Maciej Suminski
0daa1fa67e
Missing fixes for the revision 5301.
2014-11-27 11:47:17 +01:00
Angus Gratton
6c4808bd49
pns: Non-copper pads are not treated as obstacles.
2014-11-26 15:46:47 +01:00
Camille
5729ee7ea5
Compile warning fixes and minor code policy fixes.
2014-11-15 08:43:23 -05:00
Maciej Suminski
9245b90392
Code formatting.
2014-11-14 20:19:00 +01:00
Tomasz Wlostowski
4e280f065f
P&S router: fixed shove force propagation incorrect issues causing improper via dragging.
2014-11-14 19:17:52 +01:00
Tomasz Wlostowski
4e67de5c15
P&S router bugfixes
...
- fixed walkaround bug causing unwanted overlap/clearance violation when the first segment of trace being laid intersects the obstacle's hull at the same point twice (ie. goes in, turns around and goes out).
- fixed placer bug not splitting the start segment after toggling via placement or changing trace width
2014-11-14 19:17:01 +01:00
Tomasz Wlostowski
80adf9d85b
router: multiple changes
...
- re-worked PNS_LINE_PLACER and PNS_ROUTER classes a bit, removing duplicate class members
- cleaned up Andrew's blind/buried via fixes
- fixed 'custom via width' dialog bug updating the width even when closed/cancelled
- fixed incorrect radius of drawn microvias
2014-11-14 19:15:58 +01:00
jean-pierre charras
24f516f6ae
Fix many doxygen warnings (due to missing info, old comments, typo ...) when building the doxygen doc.
2014-11-02 17:25:04 +01:00
Andrew Zonenberg
45a8e4da74
pns_router: Support for blind/buried vias.
2014-09-30 16:46:19 +02:00
jean-pierre charras
24ed7f50f5
Pcbnew: fix Bug #1370321 (Change Segment function applies last netclass used).
...
Also update main toolbar track width and via size info in pns router mode, when starting a track, and other very minor update issue.
2014-09-28 16:44:47 +02:00
Tomasz Wlostowski
0cf334a072
pcbnew: bugfix for "PNS router allocates all memory"
2014-09-16 14:12:59 +02:00
jean-pierre charras
5a38d2b657
Rework on env. variable KISYS3DMOD. Until now, was used in different files using different ways, so no consistency between files.
...
code cleanup.
2014-08-24 09:05:07 +02:00
Tomasz Włostowski
adbf343fef
bugfix: SIGABRT after starting a track with PNS and switching canvases a few times
2014-08-13 17:25:54 +02:00
Andrew Zonenberg
59be0f6ef7
1) Pad properties dialog can trigger divide-by-zero when "0" is entered as the pad size
...
2) PNS router incorrectly detects collisions with blind/buried vias that don't actually intersect the active layer
3) PNS router silently converts blind/buried vias to through-board vias when shoved
2014-07-28 11:32:15 +02:00
Andrew Zonenberg
e6fba84e13
Push-and-shove router now handles existing blind/buried vias properly. Can't yet create new ones.
2014-07-27 15:01:06 -04:00
Maciej Suminski
78853febbe
Zone fill/unfill actions in context menu (GAL).
2014-07-09 16:57:01 +02:00
Maciej Suminski
c1eda6b88c
Some of the Tool Actions need to be run in immediate mode - fixed.
2014-07-09 16:50:31 +02:00
Maciej Suminski
327f307a7f
FIx layer switching after via placement in PNS router.
2014-07-09 16:50:31 +02:00
Maciej Suminski
0163b589b4
Workarounded restoring focus to GAL canvas after layer switching.
2014-07-09 16:44:22 +02:00
Maciej Suminski
b1837615aa
Added event queue to handle events at the end of the event processing cycle.
2014-07-09 16:25:50 +02:00
Maciej Suminski
81ad03cf91
Code formatting.
2014-07-09 16:25:50 +02:00
Maciej Suminski
72c70148e8
Fixed a few memory leaks and Valgrind warnings.
2014-07-09 15:02:56 +02:00
Maciej Suminski
77d8b2d84e
Context menu for the Placement Tool.
2014-07-09 14:23:13 +02:00
Maciej Suminski
94cc845b3f
Added AF_ACTIVATE flag for TOOL_ACTIONs.
...
Reworked the way of processing events in TOOL_MANAGER class.
Added GetCommandStr() for TOOL_EVENT class.
2014-07-09 13:50:27 +02:00
Maciej Suminski
5d1ec2b204
Restored invocation of SELECTION_TOOL commands with TOOL_ACTIONs.
2014-07-09 13:50:27 +02:00
Maciej Suminski
a6dac245c0
Removed TOOL_ACTIONs: selectionSingle, selectionClear. SELECTION_TOOL methods are called directly instead.
2014-07-09 11:59:24 +02:00
Maciej Suminski
9a47f4c645
Created a specialization of EDA_DRAW_PANEL_GAL: PCB_DRAW_PANEL_GAL.
...
Moved View related routines & fields from PCB_{BASE,EDIT}_FRAME & BOARD to PCB_DRAW_PANEL_GAL.
2014-07-09 10:57:32 +02:00
Maciej Suminski
fb0045a898
Bugfix: Bottom layer not correctly handled in (PNS) Interactive router.
2014-07-07 10:48:47 +02:00
Dick Hollenbeck
1e7495e634
merge
2014-06-30 00:46:18 -05:00
Dick Hollenbeck
ad750defb6
LAYER_ID work
2014-06-29 08:05:51 -05:00
Dick Hollenbeck
b920fa00a5
1) Fix compiles using wx 3.x and 2.8.
...
2) Fix passing wxString to common/config_params so lookup keys
can be dynamically generated. This gives ~/.kicad files all the colors.
3) Fix LEGACY_PLUGIN so it loads all layer types and masks properly.
4) Extend the table in router/pns_index.h to 128 from 64.
2014-06-24 23:36:02 -05:00
Dick Hollenbeck
4578ea8b9e
1) Add 32 Cu Layers.
...
2) Change from legacy Cu stack to counting down from top=(F_Cu or 0).
The old Cu stack required knowing the count of Cu layers to make
sense of the layer number when converting to many exported file types.
The new Cu stack is more commonly used, although ours still gives
B_Cu a fixed number.
3) Introduce class LSET and enum LAYER_ID.
4) Change *.kicad_pcb file format version to 4 from 3.
5) Change fixed names Inner1_Cu-Inner14_Cu to In1_Cu-In30_Cu and their
meanings are typically flipped.
6) Moved the #define LAYER_N_* stuff into legacy_plugin.cpp where they
can die a quiet death, and switch to enum LAYER_ID symbols throughout.
7) Removed the LEGACY_PLUGIN::Save() and FootprintSave() functions.
You will need to convert to the format immediately, *.kicad_pcb and
*.kicad_mod (=pretty) since legacy format was never going to know
about 32 Cu layers and additional technical layers and the reversed Cu
stack.
2014-06-24 11:17:18 -05:00
Kirill Mavreshko
b4e0a5cbbf
Fixes bug #1332438 : PNS router crashes when you another track while routing in "shove" mode
2014-06-23 08:50:53 +02:00
Maciej Suminski
f5de166a7e
Removed an unused parameter from TOOL_BASE::getModel<T>() method.
2014-06-06 14:59:25 +02:00
Bernhard Stegmaier
60a86853ec
Removed a few warnings.
2014-06-05 12:40:26 +02:00
Maciej Suminski
517bfa3570
Minor code cleaning.
2014-06-04 18:01:01 +02:00
Maciej Suminski
3480c41caa
PNS router handles net class settings (dependent on the selected start item).
2014-06-03 16:09:27 +02:00
Tomasz Wlostowski
a90680aa15
router: fix segfault on route-undo-route
2014-06-01 18:44:38 +02:00
Maciej Suminski
2619ceae03
PNS formatting code.
2014-05-31 16:04:25 +02:00
jean-pierre charras
771ac33c80
Pcbnew: fix a minor bug: in zones with no net, only the zone clerance was used to created clearence, regardless the pad or footprint local clerance.
...
Very minor other fixes.
2014-05-29 13:48:14 +02:00
Maciej Suminski
707f5cd6e6
bugfix 1324144: broken PNS dragging
2014-05-28 19:21:12 +02:00
Maciej Suminski
b9246dd463
bugfix #1323135 : PNS creates vias with giant holes.
2014-05-28 13:16:15 +02:00
Tomasz Wlostowski
c87baa9d22
router: fix segfault when trying to shove a line that forms a closed loop.
2014-05-23 11:57:43 +02:00
Maciej Suminski
f31f92e45e
Fixes the bug that causes pcbnew crash, when there are multiple net classes and the plot dialog was opened.
...
Changed NETCLASS* to boost::shared_ptr<NETCLASS>.
2014-05-20 11:29:37 +02:00
Maciej Sumiński
46020e20de
Merged the new Interactive Push and Shove router.
...
Do not pay attention to add/remove files - it seems there may be a bug in git-bzr-ng plugin. I have checked them, they stayed exactly the same as before.
2014-05-18 17:16:59 +02:00
Maciej Suminski
51ee6916ec
Removed header files from CMakeLists.txt.
2014-05-16 16:01:03 +02:00
Maciej Suminski
ad1b138f28
Reformatted PNS code to conform the coding policy.
2014-05-16 13:37:31 +02:00
Maciej Suminski
4fcaf4c586
Minor BOARD_DESIGN_SETTINGS refactoring.
...
Removed SetCurrentClassName() (it was not used anywhere and less safe than SetCurrentClass()).
Added BOARD_DESIGN_SETTIGNS::GetDefault() to make some pieces of shorter and clearer.
2014-05-15 10:51:08 +02:00
Maciej Suminski
7a526261fb
PNS router deselects all items when started.
2014-05-14 19:15:25 +02:00
Maciej Suminski
0d9373ca6c
Undo/report support for track dragging (PNS).
2014-05-14 18:45:59 +02:00
Maciej Suminski
d7ac368260
PNS routing settings are stored between router invocations.
2014-05-14 16:53:49 +02:00
Maciej Suminski
f31dd1cdaf
PNS debug output is enabled with PNS_DEBUG define.
2014-05-14 16:40:56 +02:00
Tomasz Włostowski
061660e9e4
Long-awaited new version of the P&S router
2014-05-14 15:53:54 +02:00
Maciej Suminski
d9eb15c9fa
Moved NETCLASSES to BOARD_DESIGN_SETTINGS.
...
Most of the changes are just adding GetDesignSettings() before every occurence of m_NetClasses.
More complex changes:
class_netclass.cpp - NETCLASS does not store the pointer to the parent BOARD anymore. Added function SetParams( BOARD_DESIGN_SETTINGS& ).
class_netclass.h - Removed GetTrackMinWidth(), GetViaMinDiameter(), GetViaMinDrill(), GetuViaMinDiameter(), GetuViaMinDrill() as they were refering to BOARD_DESIGN_SETTINGS anyway (they are not net class specific).
kicad_plugin.cpp - filters out empty nets (that are anyway not saved) when storing net class information. Previously it was done in NETCLASS::Format() function.
2014-05-13 11:22:51 +02:00
Maciej Suminski
a4cdf25f83
Upstream merge.
2014-05-05 10:51:31 +02:00
Maciej Suminski
9536ed811d
Upstream merge.
2014-05-05 10:51:31 +02:00
Maciej Suminski
fa5a6e5dd2
Clearing m_hiddentItems to avoid PNS crashes.
2014-05-04 20:20:49 +02:00
Lorenzo Marcantonio
85c5aa22c6
Constification of HitTest and GetParent
...
In particular HitTest for zones *do not* select the nearest vertex/edge as a side effect
2014-05-04 19:08:36 +02:00
Lorenzo Marcantonio
342016b692
Constification of HitTest and GetParent
...
In particular HitTest for zones *do not* select the nearest vertex/edge as a side effect
2014-05-04 19:08:36 +02:00
Maciej Suminski
c3b448b633
Upstream merge.
2014-05-01 15:55:50 +02:00
Lorenzo Marcantonio
3f2c0e1a8d
TRACK/SEGVIA cleanup
...
- SEGVIA becomes VIA
- Drill size moved from TRACK to VIA
- Removed shape from TRACK, becomes ViaType in VIA
- GetTrace becomes GetTrack, for uniformity
- Some minor constification and typo fixes
2014-04-25 08:00:04 +02:00
Maciej Suminski
3f8d9da31f
Key events are handled by wxEVT_CHAR instead of wxEVT_KEY_[UP|DOWN]. Fixed issue of chars that require modifiers (e.g. ? is Shift+/ on US keyboard layout).
2014-04-09 17:33:22 +02:00
Maciej Suminski
50b202fe99
Hot keys specific to a tool have priority over global hot keys (TOOL_ACTION scope: AS_GLOBAL/AS_CONTEXT is finally handled properly).
2014-04-09 17:05:05 +02:00
Maciej Suminski
ba275918e3
Renamed [class_]drawpanel_gal.[cpp|h] to [class_]draw_panel_gal.[cpp|h] to follow current naming scheme.
2014-04-04 11:56:04 +02:00
Maciej Suminski
4c5afc46af
Added possibility of switching tools by the right toolbar buttons, without deactivating the current tool first (previously tools did not switch if there was one active).
2014-04-04 11:50:15 +02:00
Maciej Suminski
23392ce8c9
Upstream merge.
2014-04-02 15:38:59 +02:00
Maciej Suminski
0694f2fa1c
TOOL_EVENTs autoregister themselves in ACTION_MANAGER.
...
ROUTER_TOOL events have temporarily changed their hotkeys assignment.
2014-03-21 10:40:50 +01:00
unknown
b436924380
Warning removal, patches from Camille 019
2014-03-16 18:40:23 +01:00
Maciej Suminski
b6e3b3a3f9
Merged selection_tool branch.
2014-03-06 10:43:40 +01:00
Maciej Suminski
b8e3ff8ca3
Fixed undo while PNS is active.
2014-03-05 16:44:08 +01:00
Maciej Suminski
505b38416d
Removed a few memory leaks.
2014-03-03 17:15:41 +01:00
Maciej Suminski
f7d00a393b
Renamed BOARD_CONNECTED_ITEM::GetNet() -> GetNetCode()
...
Renamed BOARD_CONNECTED_ITEM::SetNet() -> SetNetCode()
Added BOARD_CONNECTED_ITEM::GetNet() for accessing NETINFO_ITEM* of a given item.
Fixed module editor crash when launched to edit a module from a PCB.
Replaced some BOARD::FindNet( item->GetNet() ) calls with BOARD_CONNECTED_ITEM::GetNet().
2014-02-25 11:47:27 +01:00
Maciej Suminski
75026d8754
Renamed BOARD_CONNECTED_ITEM::GetNet() -> GetNetCode()
...
Renamed BOARD_CONNECTED_ITEM::SetNet() -> SetNetCode()
Added BOARD_CONNECTED_ITEM::GetNet() for accessing NETINFO_ITEM* of a given item.
Fixed module editor crash when launched to edit a module from a PCB.
Replaced some BOARD::FindNet( item->GetNet() ) calls with BOARD_CONNECTED_ITEM::GetNet().
2014-02-25 11:40:34 +01:00
Maciej Suminski
151826b206
Upstream merge.
2014-02-21 11:05:28 +01:00
Maciej Suminski
8a8e5d8d14
Quick fix for unsupported pad types in PNS router.
2014-02-21 09:53:10 +01:00
Marco Serantoni
932c92af55
[MacOSX] New reorg for building system, typos and path refines
2014-02-19 22:39:21 +01:00
Maciej Suminski
57c69b41db
Continous mode for drawing tools (i.e. they do not finish after adding a single object).
2014-02-19 13:51:32 +01:00
Maciej Suminski
a802ca87e0
Added TOOL_ACTION for PNS router activation.
...
Most of the GAL tools are activated by corresponding buttons on the right toolbar.
Removed menu entry for PNS router (as it is activated as the usual "Add track" tool).
2014-02-17 18:21:00 +01:00
Maciej Suminski
6e52e19367
Small leak fix.
2014-02-17 14:36:51 +01:00
Maciej Suminski
f82e07849b
Improved way of drawing 45-degree lines.
2014-02-17 11:33:03 +01:00
Maciej Suminski
597e98dbf4
Cursor is in world coordinates.
2014-02-13 20:23:28 +01:00
Maciej Suminski
347649e855
Protection against non consecutive net codes.
2014-02-04 13:40:39 +01:00
Maciej Suminski
f87b6962e0
Enabled PNS for selected items.
2014-02-03 18:09:17 +01:00
Maciej Suminski
3f5c3d4349
Minor changes (fix cvpcb build issue, wx2.8 compatibility, some other stuff).
2014-02-03 16:02:54 +01:00
Maciej Suminski
864c86062d
Changed ROUTER_PREVIEW_ITEM layer.
2014-02-03 13:09:10 +01:00
Maciej Suminski
0c67e26e9c
Added the dynamic ratsnest for the tracks that are currently routed with the PNS router.
2014-01-31 18:05:11 +01:00
Maciej Suminski
3e2e11fb42
Undo/redo buffer fixed once again..
2014-01-31 16:08:20 +01:00
Maciej Suminski
5fea60d20f
Fixed undo/redo while routing with the PNS error.
2014-01-30 17:11:40 +01:00
Maciej Suminski
bbb3972fb7
Undo buffer for the PNS router. Still, it has a bug - it crashes when an undo/redo operation is performed while routing a track.
2014-01-30 11:32:08 +01:00
Maciej Suminski
57bfaca131
PNS_ITEM::m_parent: BOARD_ITEM->BOARD_CONNECTED_ITEM
2014-01-29 15:35:25 +01:00
Maciej Suminski
83f7c7e35e
Added RN_DATA::Add()/Remove() methods.
...
RN_DATA::Update()/AddSimple() take BOARD_ITEM* as the parameter (instead of being split to versions with BOARD_CONNECTED_ITEM* and MODULE*), to make the code look clearer.
2014-01-28 16:30:58 +01:00
Maciej Suminski
6ad9d013e2
Safer way for syncing pads in Push and Shover router.
2014-01-07 14:23:46 +01:00
Maciej Suminski
75db0cebb7
Fixed Push and Shove and ratsnest cooperation (tracks added by PNS are taken into account while calculating ratsnest).
2014-01-07 14:22:37 +01:00
Maciej Suminski
69cf8aa325
Fixed snapping for Push and Shove router.
2014-01-07 14:21:37 +01:00
Maciej Suminski
537d82fb98
Upstream merge.
2014-01-06 10:29:31 +01:00
Maciej Suminski
c79962635e
Ratsnest is updated, when there are tracks added using the P&S router.
2013-12-20 15:18:41 +01:00
Maciej Suminski
84c496e138
Upstream merge
2013-12-19 11:15:27 +01:00
Maciej Suminski
4a0407fb69
Removed some debug logs.
2013-12-18 12:46:18 +01:00
Povilas Kanapickas
7f12513c7e
Remove some uses of using namespace std.
2013-12-13 10:27:30 -06:00
Maciej Suminski
d8acd1c718
Moved Init() & Reset() from TOOL_INTERACTIVE to TOOL_BASE.
...
Added REASON enum for Reset() function, so tools will know why a reset occured.
Fixed SELECTION_TOOL (it was bailing out, when a new board was loaded and some items were still selected).
Added removal of VIEW_ITEM groups after changing layers and removing items.
2013-12-09 10:42:38 +01:00
Maciej Suminski
06f4662ea0
Profile counter simplified, so it should be more portable.
2013-11-27 09:46:59 +01:00
Orson
28b9317640
Fix redraw issue in modedit a modview, with GAL
2013-11-01 13:56:20 +01:00
Dick Hollenbeck
53e04ce7a6
cvpcb was not filtering on the current library when USE_FP_LIB_TABLE.
...
<%s> being replaced with '%s' because the former in invisible in html panels.
Cure some compiler warnings.
2013-10-31 16:30:57 -05:00
Maciej Suminski
5249b1a6da
Renamed TOOL_MOUSE_BUTTONS constants to avoid name conflict with Windows MB_RIGHT constant.
2013-10-15 10:41:00 +02:00
Maciej Suminski
bc305859b2
Mainly case changes.
2013-10-14 20:40:36 +02:00
Maciej Suminski
0ac3e1fbf2
Namespace KiGfx->KIGFX.
...
template<> -> template <>
Some more reformatting according to uncrustify results.
2013-10-14 16:13:35 +02:00
Maciej Suminski
22045b61ea
Converted tabs to spaces. Removed trailing whitespaces.
2013-10-14 13:43:57 +02:00
Maciej Suminski
2e2bea3b0c
Fixed IDs for the push and shove router menu
2013-10-11 14:26:09 +02:00
Maciej Sumiński
53fef8d4c4
Fixed menu entry ids for the p&s router context menu.
2013-09-29 13:56:32 +02:00
Maciej Suminski
936e0be090
Uncrustified the push&shove source, fixed some warnings.
2013-09-27 10:00:26 +02:00
Maciej Sumiński
5598acb617
Uncrustifying push&shove router
2013-09-26 23:53:54 +02:00
Maciej Suminski
2c03bf4109
Removed TA_ActivateTool (now tools are invoked by sending TA_Action event, with the tool name as string parameter).
...
Developed TOOL_Action class & added ActionManager. Hot keys registered by tools are processed.
Selection & move tool can be invoked by a hot key.
2013-09-19 17:02:57 +02:00
tomasz.wlostowski@cern.ch
db62d672d2
Initial version of the P&S router. Buggy and crappy.
2013-09-18 19:55:16 +02:00
tomasz.wlostowski@cern.ch
ac871702ce
added note why there's no P&S sources yet...
2013-09-12 11:49:24 +02:00