Jose I Romero
3d2b5e3922
Allow items to be moved from all anchor points
...
A change in commit 5731000135
caused kicad to stop allowing users
to move items like footprints, arcs and lines using anchors other
than the center point.
This was caused by the new code that stores reference points for
clipboard pasting, a call to updateModificationPoint() prevented
some old code paths from executing, which caused the selection to
snap into the cursor, always using the center anchor.
This fix moves the call within the if-cases that need it, and adds
a ClearReferencePoint call when the selection is "dropped" to allow
the user to grab the same selection again from a different anchor.
Fixes: lp:1722512
* https://bugs.launchpad.net/kicad/+bug/1722512
2017-11-23 09:35:39 +01:00
Tomasz Włostowski
b76a6210c5
pcbnew: fixed stuck cursor when ForceCursorPosition() is active and cursor is moved by keyboard arrows
...
Fixes: lp:1729301
* https://bugs.launchpad.net/kicad/+bug/1729301
2017-11-16 00:43:23 +01:00
Tomasz Włostowski
00ad8f24a0
pcbnew: Minor changes in CONNECTIVITY_DATA interface:
...
- renamed connectivity.[h|cpp] to connectivity_data [.h|.cpp] so that the file name matches the main class name.
- GetNetItems() now returns a vector instead of a list
2017-11-15 18:34:08 +01:00
jean-pierre charras
661bab7220
Fix crash when appending a board in pcbnew.
...
Fixes: lp:1731539
https://bugs.launchpad.net/kicad/+bug/1731539
2017-11-11 09:09:24 +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
b945d2a708
cleanup: replace CLASS_MIRE with CLASS_PCB_TARGET for naming clarity
2017-11-03 20:02:06 +01:00
Tomasz Włostowski
3170eba801
refactoring: implemented SELECTION_TOOL's own GetCollectorsGuide() to avoid dependency on PCB_BASE_FRAME
2017-11-03 20:02:06 +01:00
Tomasz Włostowski
781008bfa5
refactoring: allow to run TOOL_MANAGER and SELECTION_TOOL without a host wxFrame
2017-11-03 20:02:06 +01:00
Tomasz Włostowski
8a09a1d329
refactoring: derive PCB-specific PCB_VIEW from VIEW with the intention of moving PCB_EDIT_FRAME entries used by the tools (e.g. GetActiveLayer) there
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
jean-pierre charras
78ec983632
DRAWSEGMENT fix crash when trying to copy a empty polygon.
...
SHAPE_POLY_SET: fix crash in VertexCount when it is a empty poly set, or when params are incorrect.
minor other fixes:
warning in degug mode in dialog_dxf_import_base.cpp
pcb_painter.cpp: remove a useless debug line.
2017-10-25 09:39:26 +02:00
jean-pierre charras
9bd5522419
Add a gerber test file
...
remove a few minor coverity warnings
2017-10-23 09:20:10 +02:00
jean-pierre charras
0b1eb5695f
Fix crash when converting selected EDGE_MODULE items to a custom pad.
2017-10-21 12:46:59 +02:00
jean-pierre charras
8ba11dbd68
Minor fixes and enhancements
2017-10-21 11:00:59 +02:00
jean-pierre charras
87821c1490
Explode pad to shapes command: Fix incorrect conversion of primitive to EDGE_MODULE (missing initialization)
2017-10-21 08:48:26 +02:00
jean-pierre charras
55bb35a582
Cosmetic enhancement: add icon to 2 context menus (explode pad to graphic shapes and create pad from graphic shapes)
2017-10-20 18:25:44 +02:00
Tomasz Włostowski
22063dc5a5
pcbnew: clear selection reference point when moving footprint by name
...
Fixes: lp:1722870
* https://bugs.launchpad.net/kicad/+bug/1722870
2017-10-19 23:57:42 +02:00
Tomasz Włostowski
ac095b6724
pcbnew: tools for converting between custom-shaped pads and graphical shapes
2017-10-19 23:35:18 +02:00
Tomasz Włostowski
d9bfbb4fec
pcbnew: added graphical polygon drawing & editing tools
2017-10-19 23:14:01 +02:00
Maciej Suminski
e2ba6da886
Fixed an empty msgid warning (gettext)
2017-10-02 08:49:33 +02:00
Tomasz Włostowski
c6a0ad895b
pcbnew: code formatting, removed previous module editor copy/paste functions
2017-09-30 14:28:54 +02:00
Tomasz Włostowski
adcda4a3e8
pcbnew: prompt for reference point in the message panel, add cut/copy/paste entries in the Edit menu
2017-09-30 14:28:54 +02:00
Tomasz Włostowski
5731000135
pcbnew/copy&paste: multiple improvements:
...
- fixed netcode propagation bug
- factored out EDIT_TOOL::m_offset, now selection offset is stored in SELECTION class
- added VECTOR2I-based Move/Flip/Rotate methods in BOARD_ITEM
2017-09-30 14:28:54 +02:00
Tomasz Włostowski
f573a2e685
wip
2017-09-30 14:28:54 +02:00
Tomasz Włostowski
3fb926a8f2
Fix snapping to anchors in PICKER_TOOL & highlighting of pasted items
2017-09-30 14:28:54 +02:00
Tomasz Włostowski
931a1ccaff
Improved copy/paste functionality by Kristoffer:
...
- added selection of reference point
- added snapping when pasting
- some minor code refactoring
- disabled pasting between footprint and pcb editors due to model incompatibility
2017-09-30 14:28:54 +02:00
Kristoffer Ödmark
79d81ae9ff
forward the event
2017-09-30 14:28:53 +02:00
Kristoffer Ödmark
4ce38abce2
renamed copypasta functions, fixed a paste_module error
2017-09-30 14:28:53 +02:00
Kristoffer Ödmark
b4879d061c
Fixed menu items, moved the copy and cut to the EDIT_TOOL, Fixed rendering when copying a module
2017-09-30 14:28:53 +02:00
Kristoffer Ödmark
7ff096fbac
updating patch to master
2017-09-30 14:28:53 +02:00
Kristoffer Ödmark
bd8980596f
Some code cleanup to follow kicad style better
2017-09-30 14:28:53 +02:00
Kristoffer Ödmark
6a02ee6c4b
fixed crash on copying texte modules
2017-09-30 14:28:53 +02:00
Kristoffer Ödmark
84b803042c
Improvements to copy-paste
...
-Can paste items from board to module-editor (only module parts)
-Can paste entire modules just as copy
-Can copy items inside module-editor
Known limitations:
-Will crash if trying to paste a module containing module_text inside
the module editor ( dont know why, problem existed before )
-If copying things with strange layer names, the layer names will be
changed.
2017-09-30 14:28:53 +02:00
Kristoffer Ödmark
c0981b8444
Added a new plugin that can save and load to clipboard, using ctrl+shift+c/v for copy pasting
...
Added the needed kicad_clipboard files and made copy pasted modules have no path
2017-09-30 14:28:53 +02:00
Oliver Walters
c977c88a10
Zone keepout exclusion now works on multiple layers!
...
Bug fixes for keepout layers
- Changed LSET::size() -> LSET::count()
- Save/load functions no longer depend on zone being a keepout
2017-09-27 10:35:00 +02:00
Oliver Walters
2895030cfa
Add multi-layer zone rendering for GAL
...
Enable multi-layer selection for keepout zones in GAL
2017-09-27 10:34:59 +02:00
Baranovskiy Konstantin
28997e7f37
Footprint viewer: fix zooming from toolbar or menu in GAL.
2017-09-26 16:24:54 +02:00
Jon Evans
256f52f27e
Use VIEW_GROUP for candidate highlighting; enable in PcbNew also
2017-09-25 13:39:37 +02:00
Maciej Suminski
df472e6426
Added mouse position refresh event WX_VIEW_CONTROLS::WarpCursor()
2017-09-22 11:13:45 +02:00
Michael Geselbracht
da037027fb
Do not warp viewport when dragging FPs
...
Fixes: lp:1714611
* https://bugs.launchpad.net/kicad/+bug/1714611
2017-09-22 11:13:40 +02:00
Maciej Suminski
cca63801bf
Renamed D_PAD::{Set,Get}PadName() to D_PAD::{Set,Get}Name()
2017-09-19 18:23:50 +02:00
Maciej Suminski
25abe30c72
Code formatting
2017-09-18 11:25:32 +02:00
Kristoffer Ödmark
aaa1e35b6a
Heirarchical sheet selection includes more.
...
Now the heirarchical sheet selection feature includes tracks that belong
to a net spanning multiple sheets, but only by doing a logical connection
from the pads of the modules. This is to be able to select connections
between components on the same sheet. For example if the sheet contains a
star power connection or something similar, then most of the sheet local
connections will now also be included.
2017-09-18 11:16:13 +02:00
Jon Evans
eec1366ead
Move ZOOM_TOOL to common; add RMB-drag to zoom out
2017-08-31 10:04:00 +02:00
Tomasz Włostowski
2e4c22f718
router: fix corruption of board data when the inline drag is activated while the router tool is running
...
Fixes: lp:1712838
* https://bugs.launchpad.net/kicad/+bug/1712838
2017-08-30 01:16:06 +02:00
Maciej Suminski
7ce86e0da5
Fix crash when duplicating an item in FP editor
...
Fixes: lp:1712828
* https://bugs.launchpad.net/kicad/+bug/1712828
2017-08-24 16:31:31 +02:00
Tomasz Włostowski
60fdc6229d
router: fixed inline dragging & settings dialogs inconsistency
2017-08-22 16:44:58 +02:00
Maciej Suminski
31ef52a365
Fix fine-grid cursor movement using arrow keys
...
Fixes: lp:1497976
* https://bugs.launchpad.net/kicad/+bug/1497976
2017-08-22 15:14:33 +02:00
jean-pierre charras
068f96f2ce
Fix untranslatable empty string
2017-08-09 08:29:30 +02:00
Maciej Suminski
53204e097a
Reenable pad enumeration by clicking
...
Fixes: lp:1708231
* https://bugs.launchpad.net/kicad/+bug/1708231
2017-08-08 16:47: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
9aaea050b9
Do not stop dragging after a rotation command
...
Fixes: lp:1708876
* https://bugs.launchpad.net/kicad/+bug/1708876
2017-08-07 10:02:10 +02:00
Maciej Suminski
e8345dce51
Display GRID_HELPER auxiliary axes and snap points
2017-08-07 08:59:32 +02:00
jean-pierre charras
b8c621a991
fix a few Coverity warnings.
2017-08-06 14:23:03 +02:00
Tomasz Włostowski
32185ddcd3
Multiple improvements concerning colors, configuration handling and legacy features in pcbnew:
...
- support for background color setting
- removed several global config settings (such as g_Drc_On)
- wrapped most of global config settings in PCB_GENERAL_SETTINGS class
- reorganized PCB general options dialog to clearly mark which options concern only the legacy canvas
- new GAL feature for legacy users: double-click (or E) to change track width available as an option.
Fixes: lp:1530543
* https://bugs.launchpad.net/kicad/+bug/1530543
Fixes: lp:1707145
* https://bugs.launchpad.net/kicad/+bug/1707145
2017-08-04 16:06:57 +02:00
Maciej Suminski
3570154ef0
Fixes to speed select/deselect commit ( 161045f1
)
...
Deselecting items require full refresh, as otherwise e.g.
umbilical lines for modules stays.
2017-08-03 16:14:46 +02:00
Maciej Suminski
71c33d3dcd
Fixes for canceling selection after invoking menu on an unselected item ( 9cbcb322
)
2017-08-03 14:28:07 +02:00
Maciej Suminski
3629fcbf4a
Code formatting
2017-08-03 14:28:07 +02:00
Maciej Suminski
30ad7e4f99
Improved the algorithm for guessing the selection candidates
...
Now it filters out items that are bigger than the current viewport
2017-08-01 18:00:30 +02:00
Maciej Suminski
efdf0c6b84
Parameter tuning for hiding dynamic ratsnest
2017-08-01 17:57:18 +02:00
Maciej Suminski
9cbcb3224c
Cancel selection if an item has been selected by right click
2017-08-01 15:23:08 +02:00
Maciej Suminski
f303bf2999
Hide temporarily ratsnest when it is too complex for real-time calculation
2017-08-01 15:22:24 +02:00
Maciej Suminski
1ac34b44bf
Removed explicit calls to update ratsnest from EDIT_TOOL
2017-08-01 15:22:23 +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
9e385872a0
Remove an excessive VIEW::Update() call
2017-07-31 15:09:19 +02:00
Maciej Suminski
acbfea48f2
Fixed a bug allowing to drag locked footprints without approval
...
Fixes: lp:1576655
* https://bugs.launchpad.net/kicad/+bug/1576655
2017-07-27 17:13:22 +02:00
Tomasz Włostowski
b682882807
pcbnew: add keyboard shortcuts [1..9] to the selection disambiguation menu
2017-07-27 16:21:54 +02:00
Maciej Suminski
3ee2f80188
Drag footprints by pads only if one is under the cursor
2017-07-27 11:13:25 +02:00
Maciej Suminski
545a80839b
Removed an excessive selection request from EDIT_TOOL
2017-07-27 10:56:26 +02:00
Oliver Walters
161045f17d
Speed improvement for select / deselect in GAL
...
- No longer invalidates the item layers
- For multiple items, this results in a drastic speed improvement
2017-07-25 16:34:03 +02:00
Fabrizio Tappero
f453cec938
Changed all Rotate 90 deg CW with Rotate Clockwise. Changed all Rotate 90 deg CCW with Rotate Counterclockwise
2017-07-21 10:28:44 -04: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
jean-pierre charras
242c47ffd4
Pcbnew: Fix incorrect initialization of a variable in MODULE_EDITOR_TOOLS::EnumeratePads().
...
This issue is due to an unexpected behavior of evt->IsClick( BUT_LEFT ) used in this method,
which detect a mouse release button and not a mouse click down.
Fixes: lp:1700197
https://bugs.launchpad.net/kicad/+bug/1700197
2017-07-19 16:00:25 +02:00
Maciej Suminski
f942e3e31f
Fixed a crash when items are unselected when dragging
...
Fixes: lp:1702355
* https://bugs.launchpad.net/kicad/+bug/1702355
2017-07-19 13:00:51 +02: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
Robbert Lagerweij
bf832dd941
pcbnew - refactor move exactly tool (1/2)
...
This patch does the following:
* move the determination of the origin coordinates to the dialog (reduces code duplication)
2017-07-19 11:36:35 +02:00
Maciej Suminski
10c5297f2e
Code clean-up and formatting
2017-07-17 10:21:39 +02:00
Kristoffer Ödmark
4c94d02c42
Fixed sheet-selection code
...
Fixes: lp:1704644
* https://bugs.launchpad.net/kicad/+bug/1704644
2017-07-17 10:21:39 +02:00
Maciej Suminski
08c4a0bc7b
Fixed SELECTION_TOOL::selectCursor()
...
In the previous version the method did not work correctly
when an action was invoked from context menu. In such case,
the cursor position was obtained in the moment of selecting
the action, instead of using the right click location.
2017-07-12 09:34:20 +02:00
jean-pierre charras
f4ecc417ac
Fix a few doxygen warnings
2017-07-08 21:13:32 +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
4e908da057
pcbnew: Add hotkeys for Select Trivial Connection and Select Copper Connection
2017-06-30 14:30:10 +02:00
Maciej Suminski
79b2d60666
Reenabled pad number increment on placement (module editor)
2017-06-23 18:51:00 +02:00
Maciej Suminski
3dd4429ef6
Dead code removal
2017-06-23 18:50:31 +02:00
Maciej Suminski
f3fbce9560
Code formatting and clean-up
2017-06-23 15:43:13 +02:00
Tomasz Włostowski
113163257d
Fixed compilation warnings
2017-06-23 11:36:05 +02:00
Tomasz Włostowski
a7759efc59
Multiple fixes:
...
- ratsnest is updated now when undoing in legacy view
- select whole net regression
- local ratsnest in the GAL regression
- pick correct zone net for stitching vias
- mark nets as dirty on net propagation to force ratsnest update
Todo:
- cleanup board algorithm is still broken
2017-06-23 11:12:37 +02:00
Tomasz Włostowski
81dbd930ae
Display zone filling progress window in GAL
2017-06-23 11:12:37 +02:00
Tomasz Włostowski
3b16d3cffe
further DLIST/Iterators cleanup, some code formatting
2017-06-23 11:12:37 +02:00
Tomasz Włostowski
63f4ab697b
post-rebase fixes
2017-06-23 11:12:37 +02:00
Tomasz Włostowski
3b7b0603b6
pcbnew: via placement tool, initial version
2017-06-23 11:12:37 +02:00
Tomasz Włostowski
bfdd1191ab
pcbnew: rename PLACEMENT_TOOL to ALIGN_DISTRIBUTE_TOOL, some fixes in the connectivity algo
2017-06-23 11:12:37 +02:00
Tomasz Włostowski
c4c329e393
Connectivity: local ratsnest for both legacy & GAL. Further removal of legacy code
2017-06-23 11:12:37 +02:00
Tomasz Włostowski
edf1aac357
Fixed some compilation warnings. Missing features so far: single-module ratsnest & DRC unconnected report
2017-06-23 11:12:37 +02:00
Tomasz Włostowski
9ad886344b
New connectivity algorithm.
2017-06-23 11:12:36 +02:00
Tomasz Włostowski
08314082db
Hide DLISTs behind iterators, first step towards refactoring the storage model
2017-06-23 11:12:36 +02:00
jean-pierre charras
2c21c70f46
Fix a few doxygen warnings
2017-06-22 09:09:52 +02:00
jean-pierre charras
fa66a5a8f3
Pcbnew: make hotkeys { and } used to control the layer transparency (alpha channel) in GAL visible (and editable) in hotkey list.
2017-06-17 18:11:40 +02:00