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