Maciej Suminski
f94c10b453
Fixed a warning in release builds
2016-12-12 16:45:52 +01:00
Maciej Suminski
89055c4425
Code formatting
2016-12-12 16:45:52 +01:00
Tomasz Włostowski
3f7c5a0845
fixed post-rebase issues
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
Tomasz Włostowski
27a10e8597
Multiple simplifications to GAL tools in PCBNew:
...
- Finalize transition to BOARD_COMMIT (removed all remaining uses of PICKED_ITEMS_LIST) and implicit view/ratsnest updates
- Simplified SELECTION class, it now can be directly added to a VIEW
- Removed unnecesary casts and templates
- Introduced C++11 features (range based for, lambdas) where they improve code readability
- Added non-undoable COMMITs, which can be used to propagate change notifications to interested listeners (e.g. ratsnest/view)
2016-12-12 16:45:52 +01:00
jean-pierre charras
bcfc1e7a3f
fix shadowed local variables
2016-11-25 16:00:42 +01:00
jean-pierre charras
d167407d1a
Pcbnew: add "edit all tracks and vias" command in edit menu.
...
Previously, this command was accessible only by right clicking on a track and only in the legacy mode.
2016-10-14 21:07:39 +02:00
Simon Richter
b0f9864bc4
Clean up warnings from exception handlers
...
The exception objects caught are either not referenced at all, or only in
debug builds. This avoids the warnings for the unused variables.
2016-10-10 11:08:49 -04:00
jean-pierre charras
502d0a38be
Fix a missing parameter initialization (arc angle) in footprint DXF import
2016-09-30 11:11:52 +02:00
Chris Pavlina
2b7e6e73ec
Fix uninitialized variable in drawing_tool.cpp
2016-09-30 09:04:18 +02:00
Maciej Suminski
18695751e8
Fixed a footprint editor crash on DXF import
...
Fixes: lp:1627422
* https://bugs.launchpad.net/kicad/+bug/1627422
2016-09-27 13:36:52 +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
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
Gustav Bergquist
061a7b8450
Cast TOOL_EVENT parameter type to intptr_t
2016-09-21 21:22:19 +02:00
decimad
ee3d75f273
Add coroutine call invocation context to identify the main stack frame.
...
Run the text draw-tool on the main stack frame.
Fixes: lp:1547282
* https://bugs.launchpad.net/kicad/+bug/1547282
2016-09-21 11:56:40 +02:00
Dick Hollenbeck
9ad49dc2d1
Split IO_ERROR out of richio.* and store Problem() and Where() separately
2016-09-20 11:56:18 -04:00
Maciej Suminski
4bb16afc9e
Fixed text placement tool in FP editor
...
Fixes: lp:1625304
* https://bugs.launchpad.net/kicad/+bug/1625304
2016-09-20 10:19:33 +02:00
Maciej Suminski
8590809c7a
Selection tool fix to enable selecting overlapping items
...
Fixes: lp:1499022
* https://bugs.launchpad.net/kicad/+bug/1499022
2016-09-15 13:25:08 +02:00
Maciej Suminski
edf64afa3e
Fixed freezes after appending a board.
2016-09-12 13:45:57 +02:00
Maciej Suminski
6701b80f77
Converted global deletion, global text size setting & module exchange to BOARD_COMMIT.
2016-09-12 13:45:57 +02:00
Maciej Suminski
91ea4242ca
Fixed freeze after adding a module
2016-09-12 13:45:57 +02:00
Maciej Suminski
303a6928ab
Changed pointEditorUpdate to editModifiedSelection.
2016-09-12 13:45:57 +02:00
Maciej Suminski
ad1111748e
Removed 'undo inhibit' in EDIT_TOOL
2016-09-12 13:45:57 +02:00
Maciej Suminski
5a1f52bf30
Modified tools to use BOARD_COMMIT.
2016-09-12 13:45:57 +02:00
Maciej Suminski
b815ea7865
Removed remaining m_editModules flags.
2016-09-12 11:50:06 +02:00
Maciej Suminski
9861b35707
EDIT_TOOL::hoverSelection() works with current selection.
2016-09-12 11:50:06 +02:00
Maciej Suminski
b661993427
Removed SELECTION_TOOL::EditModules()
...
as there is already PCB_TOOL::SetEditModules() and
SELECTION_TOOL::m_editModules shadows PCB_TOOL::m_editModules.
2016-09-12 11:50:06 +02:00
Tomasz Wlostowski
a5b7a7ca0a
Changed DuplicateAndAddItem() to parametrized Duplicate().
2016-09-12 11:50:06 +02:00
Tomasz Wlostowski
1924507001
Added a PCB_TOOL subclass.
2016-09-12 11:50:06 +02:00
Maciej Suminski
ff6bdeee4b
Removed a number 'if(m_editModules)' sections from pcbnew tools.
2016-09-12 11:50:06 +02:00
Maciej Suminski
1dd43d1d98
Unified undo buffer handling code for PCB & module editor.
...
Replaced UR_MODEDIT with UR_CHANGED.
2016-09-12 11:50:06 +02:00
Tomasz Wlostowski
0700178d07
P&S: enable delete & backspace shortcuts while router is active
2016-08-15 17:16:47 +02:00
Wayne Stambaugh
4ed346ea64
Eeschema: initial schematic I/O plugin.
...
* Factor out PROPERTIES object from the PCB plugin code and move it into
common so it can be used by both the Pcbnew and Eeschema plugins.
* Add schematic I/O plugin manager for loading and saving schematic and
component library files.
* Add initial attempt at a parser for current schematic file format. This
parser will be infinitely more strict than the current parser which is very
forgiving in what it parses.
* Make minor changes to the base bitmap class to support the new parser.
* Add find root sheet support to sheet object to allow fetching the root
sheet from any sheet in the stack.
2016-07-06 05:22:56 -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
Chris Pavlina
5285962775
Remove option to not show footprint ratsnest when moving
...
This option only exists in legacy, with no real plan to port it to GAL. Nobody
seems to use this; there isn't really much of a point to it. Bye!
2016-06-11 22:34:07 -04:00
Chris Pavlina
8c01318141
Add zoom-to-selection tool
2016-06-08 07:19:53 -04:00
jean-pierre charras
a4658ab6be
Fix a few compil warnings (not used vars, shadowed local vars)
2016-06-01 14:22:05 +02:00
jean-pierre charras
e2cc78b2b5
Code cleanup: remove dead code (some removed methods were broken), and update or add comments.
2016-06-01 11:28:07 +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
Chris Pavlina
445db7da58
Fix uninitialized fields
...
Coverity: CIDs 102698, 147347, 147349, 147350
2016-05-10 22:36:23 -04:00
Maciej Suminski
ad66af66af
Highlight an item when context menu is displayed (GAL).
2016-05-09 10:41:11 +02:00
Maciej Suminski
ce8f400645
Added menu for locking tracks & vias (GAL).
2016-05-09 10:29:06 +02:00
Maciej Suminski
dd10c577ec
Added SELECTION_CONDITIONS::OnlyTypes() variant that takes KICAD_T[]4
2016-05-04 18:35:20 +02:00
Maciej Suminski
06637a17d6
Added 'Reset Grid Origin' hot key (GAL).
2016-05-04 14:59:14 +02:00
Maciej Suminski
b735f57fa4
Refresh pads after enumeration in Footprint Editor.
2016-05-04 14:06:10 +02:00
unknown
b8a91c7a98
Enhancements in Create array tool (bad parameters detection and disable parms when not applicable)
2016-04-02 14:52:29 +02:00
Chris Pavlina
60d93d024c
pcbnew: don't pick up selection after unsuccessful Duplicate
...
Following rev 6627 (git 2777182
), if a non-duplicatable item was the object of
a Duplicate action, the original item would be picked up, potentially
misleading the user into thinking something was actually duplicated.
2016-03-18 07:15:50 -04:00
jean-pierre charras
b237d81b75
Create Array dialog: some fixes:
...
* No initial copied object changed (this was a serious bug to modify these objects. Previous version modified references and other texts using a very stupid algorithm).
It also fixes bug 1549231
* only new pads are numbered (therefore renumbering is used only in footprint editor)
* remove not working and useless feature in circular array: now only use number for pads (others options using alphabetical letters are removed: did not work corectly, and were useless)
* a more clear option is used to choose if the pads are numbered from a choosen value, or from the first avaible value
* Adding a warning messsage if a parameter is incorrect.
2016-03-07 08:13:06 +01:00
Tomasz Wlostowski
5349eb4179
fixed segfault in selection tool
2016-02-08 15:12:59 +01:00
Tomasz Wlostowski
ee3418e90b
One-click PCB update improvements
...
- Fix repetitive undo/redo segfaults & assertions.
- Add Update menu entry on PCB side.
- Fix Python build error
- Add spread footprints after updating
2016-01-29 15:43:40 +01:00
Maciej Suminski
1d39a2a44b
Highlight net tool is not deactivated after a single use.
2016-01-29 10:56:29 +01:00
Maciej Suminski
e51adaeefd
Highlight a net when crossprobing with eeschema and highlight net tool is enabled.
2016-01-25 16:16:05 +01:00
Maciej Suminski
75c8094b5a
Make DRC markers not editable with the standard tools (GAL).
2016-01-20 15:22:09 +01:00
Simon Richter
da9ca2def2
Avoid cast from const_iterator to iterator
...
The standard library requires iterators passed to functions that modify the
container to be mutable iterators, but GCC's implementation accepts
const_iterator in some places where these are only used to mark a place,
but the actual modification happens through a different parameter.
As this breaks implementations that use the passed iterator to modify the
container (e.g. because they use a different data organization), this is
not portable; because we already have a non-const reference to the
container anyway, this is trivially fixed as well.
2016-01-17 12:31:00 -05:00
Simon Richter
ef582c07f3
Drop some debug output
...
This was apparently left in from debugging earlier, and should no longer be
needed. Since it uses a GCC extension, it makes compilation on others fail.
2016-01-17 10:59:17 -05:00
Simon Wells
a88e61a6e0
Fix uninitialized variable in PCBNEW_CONTROL::CursorControl
2016-01-11 17:12:49 -05:00
Simon Wells
712ff51d3f
Clarify assignment as conditional in EDIT_TOOL::Main
2016-01-11 17:12:11 -05:00
Simon Wells
dbb7b38bae
Delete unused variables in GRID_HELPER::AlignToSegment
2016-01-11 17:06:11 -05:00
Chris Pavlina
c44c076bdb
Fix coding style error in 6429
2016-01-07 17:33:31 -05:00
Johannes Agricola
07b73b9677
Properly set keepout flag for new zones in GAL
2016-01-07 14:39:21 -05:00
Maciej Suminski
203e8156a1
pcbnew asks before rotating/flipping a locked item (GAL).
2016-01-05 17:01:59 +01:00
jean-pierre charras
e175a96be4
Pcbnew: Enhancement: in Get footprint (hotkey 'T') : better footprint selector dialog.
2015-12-20 19:47:52 +01:00
Maciej Suminski
0caa47e73c
Fixed crash on undo pad placement in the footprint editor (GAL).
2015-12-15 13:39:53 +01:00
Cirilo Bernardo
2128594a85
Coding policy fixes: remove trailing white space.
2015-12-14 16:20:54 -05: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
21d700facc
Replace "module" by "footprint" in a few messages.
2015-11-17 17:18:00 +01:00
Thomasz Wlostowski
6e470ece1d
Pcbnew: fix push and shove router segfault bug.
2015-11-03 11:19:42 -05:00
Simon Wells
5bc6a55015
Changed behaviour so if the menu is closed without selection by pressing esc or clicking outside of the menu that the last highlighted option wont be selected
2015-10-08 02:32:36 +13:00
Maciej Suminski
db8560f055
Fixed crash when placing 45-degree lines in the footprint editor (GAL).
2015-10-01 15:52:45 +02:00
Maciej Suminski
25d5a2fbfb
Disable capture cursor & autopanning for tools in idle state (GAL).
2015-09-21 10:16:23 +02:00
jean-pierre charras
00cffb080e
Make call to DXF importer not possible if a footprint does not exist, also in GAL mode.
2015-09-13 18:44:07 +02:00
Maciej Suminski
6e23979253
Removal tool asks for confirmation only for modules (GAL).
2015-09-08 11:17:30 +02:00
Brian Sidebotham
34aab6f687
Add axis origin to the Footprint Editor to align with the Legacy canvas
2015-09-05 20:47:35 +01:00
Maciej Suminski
b1d241c271
Net highlighting mode is toggled when used on the same net (GAL).
2015-09-03 17:56:30 +02:00
Maciej Suminski
9f41fe0bda
Added a hot key for (un)locking modules (GAL).
2015-09-03 17:35:41 +02:00
Maciej Suminski
24e7f961b9
Fix a Coverity report (catches an unhandled exception).
2015-09-01 11:32:23 +02:00
Tomasz Wlostowski
0723ac5bef
enumeratePads: fix segfault when no module is loaded in the editor
2015-08-25 10:22:52 +02:00
Maciej Suminski
0cad702fc7
Fixed footprint editor crash on ref/val text layer change (GAL).
2015-08-15 16:00:34 +02:00
Henrik Nyberg
5486104e8d
Fixed the missing remove zone corner menu entry.
2015-08-15 15:28:48 +02:00
Henrik Nyberg
a6c94e26f6
Improved code for handling zone corner dragging (GAL).
2015-08-12 10:15:45 +02:00
Maciej Suminski
f43510739c
Append board in GAL.
2015-08-07 18:24:42 +02:00
Maciej Suminski
0bd85fd8d1
Fixed a minor memleak.
2015-08-07 18:20:49 +02:00
Maciej Suminski
5caa1523bd
Handling Coverity reports.
2015-08-07 17:07:06 +02:00
Maciej Suminski
2a93d083ee
More DXF import fixes.
2015-08-03 21:11:59 +02:00
Tomasz Wlostowski
9c2bcb2f3c
Fixed crash on right click on zone with GAL mode.
2015-08-03 11:53:58 +02:00
Maciej Suminski
e3cbfb0609
Better way of handling changes in EDIT_TOOL (GAL).
2015-07-31 17:40:19 +02:00
Maciej Suminski
cb629e0ad4
Fixed DXF placing problem (GAL).
2015-07-30 13:49:36 +02:00
Maciej Suminski
3049bc1d5f
Fixing SELECTION_TOOL heuristics, take #2 .
2015-07-30 13:49:35 +02:00
Maciej Suminski
4718b6d7c8
Code formatting.
2015-07-30 13:49:35 +02:00
Maciej Suminski
29cbaa206e
Fixed updating of Zoom & Grid context menus.
2015-07-30 13:49:35 +02:00
Maciej Suminski
094c286024
Fixed issues reported by Coverity.
2015-07-30 13:49:35 +02:00
Maciej Suminski
63b0e63152
Prevent 'select copper' & 'select trivial connection' from picking modules.
2015-07-28 17:33:18 +02:00
Maciej Suminski
c632f3db18
Update ratsnest on footprint change (GAL).
2015-07-28 17:33:18 +02:00
Maciej Suminski
5402bf0960
Allow zone drawing tool to start a new zone in the previous zone last point.
2015-07-28 17:33:18 +02:00
Maciej Suminski
55b09483df
Picker tool captures cursor by default.
2015-07-28 11:11:18 +02:00
Maciej Suminski
6983f90b9f
Align cursor to the grid when dragging multiple items (GAL).
2015-07-28 10:28:59 +02:00
Maciej Suminski
d010703eaf
Fixed cursor freeze in pcbnew (GAL).
2015-07-24 10:58:47 +02:00
Maciej Suminski
656790a672
Make module texts selectable if overlapping with module pads.
2015-07-24 09:42:46 +02:00
Maciej Suminski
74584e2081
Fixed crash on undo layer change in TEXTE_MODULE.
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
Maciej Suminski
982eee7905
Do not invoke PNS inline dragging when 'Duplicate' is run.
2015-07-24 09:42:45 +02:00
Maciej Suminski
f7fa0852b5
Fixed screen scrolling on zooming in/out.
2015-07-24 09:42:45 +02:00
Tomasz Wlostowski
591f54f540
DRAWING_TOOL: show cursor when placing text
2015-07-22 13:51:59 +02:00
Maciej Suminski
83171482b3
Fixed a memleak (CONDITIONAL_MENU).
2015-07-22 10:46:57 +02:00
unknown
40ccc0bedf
replace round() with KiROUND(), our function that is used almost everywhere for rounding, and detects int overflows in debug mode.
2015-07-17 10:26:48 +02:00
Maciej Suminski
27eafcb5c1
Fix erroneous cursor control with keys when grid size is less than one pixel with certain zoom levels.
2015-07-16 17:52:08 +02:00
Maciej Suminski
36d3d9f78e
Cursor warps to the drag origin (GAL).
2015-07-15 17:32:30 +02:00
Maciej Suminski
4b45146c46
Improvements to the SELECTION_TOOL heuristics & sanitization rules.
2015-07-15 14:08:52 +02:00
Maciej Suminski
6a6ea35335
Fixed assert on double 'Move' command invocation (GAL).
2015-07-15 14:08:52 +02:00
Maciej Suminski
59af7a96f8
Minor code cleaning.
2015-07-15 14:08:52 +02:00
Maciej Suminski
36d1818b54
Fixed snapping problem when commands are issued from the context menu (GAL).
2015-07-15 14:08:51 +02:00
Maciej Suminski
2752953f34
Merging for non-copper zones (GAL).
2015-07-15 14:08:50 +02:00
Andrew Zonenberg
561a962977
Fixed bug where "add text" tool in module editor did not update the toolbar radio buttons correctly
2015-07-11 17:03:50 -07:00
Andrew Zonenberg
6775cf392a
Removed leading space
2015-07-11 16:50:31 -07:00
Andrew Zonenberg
1ea566b59d
Fixed bug where GAL text tool was overzealously capturing the cursor when not necessary
2015-07-11 16:03:07 -07:00
Andrew Zonenberg
a3a0db9be9
Fixed bug where GAL module editor does not release mouse capture after exiting text tool
2015-07-11 15:31:01 -07:00
Maciej Suminski
ca27eeb5c7
Fixed "select copper connection".
2015-07-09 20:04:54 +02:00
Maciej Suminski
f0a1f6dd78
Hotkeys for selecting trivial or copper connection (GAL).
2015-07-09 17:11:34 +02:00
Maciej Suminski
825fe8e5de
F4 panning (GAL).
2015-07-09 17:09:34 +02:00
Maciej Suminski
33e1797116
Tracks & vias properties dialog.
2015-07-09 13:35:51 +02:00
Maciej Suminski
13739217b8
New SELECTION_CONDITION subclass (OnlyTypes).
2015-07-09 13:35:49 +02:00
Jon Neal
fdf5b821f0
Add centering cursor on zoom to GAL.
2015-07-09 10:18:27 +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
15e9e69ae0
Clicking with keyboard handles keyboard modifiers (GAL).
2015-07-07 18:36:52 +02:00
Maciej Suminski
e7099036d7
Fixed one key delay when moving items with arrow keys (GAL).
2015-07-07 18:36:50 +02:00
Maciej Suminski
1b4daade82
GRID_HELPER anchors for vias (GAL).
2015-07-07 18:36:32 +02:00
Maciej Suminski
453b05db09
One more zoom fit-to-screen fix (GAL).
2015-07-03 20:58:13 +02:00
Maciej Suminski
0cc6992d88
Double click finishes drawing (GAL).
2015-07-03 20:58:13 +02:00
Maciej Suminski
1b208e0a5e
Display info in the message panel if only one item was selected using area selection tool.
2015-07-03 20:58:12 +02:00
Maciej Suminski
3cb095b7c2
GAL canvases update status bar, message panel & zoom widget.
2015-07-03 20:58:12 +02:00
Maciej Suminski
891bd3d629
Do not show 'Properties' menu entry if there is more than one item selected (GAL).
2015-07-03 20:58:11 +02:00
Maciej Suminski
766da1e494
Code formatting.
2015-07-02 16:11:15 +02:00
Tomasz Wlostowski
0ade919a98
router: fix shortcut crash & inline dragging for inline dragging P&S
2015-07-02 16:10:07 +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
Maciej Suminski
51c0ae3480
Fixed cursor offset in GAL.
2015-07-01 03:46:42 +02:00
Maciej Suminski
b352ef9deb
Panning with keyboard (GAL).
2015-06-30 14:08:29 +02:00
Maciej Suminski
30b679ae5e
Cursor control with keyboard (GAL).
2015-06-30 14:08:24 +02:00
Maciej Suminski
b5ef511063
Fixed alignment to grid when there is a grid offset (GAL).
2015-06-30 14:08:03 +02:00
Maciej Suminski
5ca8e0b9d6
Fixed incorrect polygon finishing in 45-degree mode (GAL).
2015-06-30 13:55:30 +02:00
Maciej Suminski
15857f22ca
Fixed dragging offset in eeschema after crossprobing a multipart component in pcbnew GAL canvas.
2015-06-26 17:32:48 +02:00
Maciej Suminski
37db33cbca
Update cross hairshape (GAL).
2015-06-26 17:30:41 +02:00
Maciej Suminski
ac6a90afa3
Update ratsnest after properties are changed.
2015-06-25 17:36:57 +02:00
Maciej Suminski
09febe745d
Remove a corner from zone outline function (GAL).
2015-06-19 17:32:33 +02:00
Maciej Suminski
a988ebaabd
Zone merging (GAL).
2015-06-19 17:32:33 +02:00
Maciej Suminski
39ddb3e9ae
Two new selection conditions: same net & same layer.
2015-06-19 17:32:33 +02:00
Maciej Suminski
e91fdd0079
Removed redundant transition in SELECTION_TOOL.
2015-06-19 17:32:32 +02:00