John Beard
728349ea12
Add similar zone tool in GAL
...
This action launches the normal interactive zone tool, but re-uses the
settings from an existing zone, based on a flag passed to the main zone
function.
2017-02-10 23:23:55 +01:00
John Beard
abe83b54ae
Add zone cutout tool to GAL
...
When activated, the zone interactive editor is launched with a flag. The
drawn zone is then used to modify the existing zone at the end of the
action.
2017-02-10 23:23:55 +01:00
John Beard
d37586aeaf
Refactor GAL dialog prompt for new zone settings
...
Break a chunk of the new zone tool out into a separate function to keep
the code clear. When zone cutouts and similar zone tools are added,
they'll get the settings from existing zones.
This commit now used std::unique_ptr for the temporary zone item, which
simplifies handling of the ownership of that item.
2017-02-10 23:23:55 +01:00
John Beard
1f9c483535
Allow delete whole track in GAL
...
This commit wires up the as-yet-unused "remove alternate" tool action
and uses it to select copper connections (normally 'U') before deleting
segments.
THis also reverses the sense of Delete and Backspace (Delete used to be
'remove' and Backpace was 'remove alt', now it is reversed). This means
that backspace is the key that removes a segment and Delete removes the
track. This is the same as legacy behaviour. Other delete actions are,
for now, the same between Delete and Backspace.
Fixes: lp:1517213
* https://bugs.launchpad.net/kicad/+bug/1517213
2017-02-10 22:42:55 +01:00
John Beard
0cd121049f
Allow selectConnection/Copper/Net on multiple items
...
The previous behaviour was to act on only the first item in the
selection. The new behaviour is to act on every eligible item (in this
case, tracks and vias).
2017-02-10 22:42:55 +01:00
Aurabindo J
112c10fbd9
Pcbnew: Update Ratsnest immediately after rotation/flip/mirror
...
Provide a visual feedback to the user how each rotation
will affect the routing by immediately reflecting the
change in ratsnest orientation.
Signed-off-by: Aurabindo J <mail@aurabindo.in>
Fixes: lp:1663488
* https://bugs.launchpad.net/kicad/+bug/1663488
2017-02-10 22:25:47 +01:00
jean-pierre charras
dd5b024903
Pad export/import settings functions: remove duplicate code.
2017-02-10 20:44:35 +01:00
jean-pierre charras
9d43817db8
Make a debug message not translatable.
2017-02-10 20:44:35 +01:00
Maciej Suminski
5f90c0e8b8
Capitalized menu labels to follow the UI policy
2017-02-10 00:08:48 +01:00
John Beard
bed0ad142d
Add zone duplicate onto layer to GAL
...
This adds it into the PCB_EDITOR_CONTROL tool, alongside the zone merge
tool.
2017-02-09 12:50:48 +01:00
John Beard
7045ed92fb
Add CCW rotation to GAL canvas
...
This makes "rotate" into two separate TOOL_EVENTs, which each have a
"multiplier" parameter.
Also added is a namespace for 'free functions' that use TOOL_EVENT
public interfaces (perhaps with other inputs too) to centralise some
decision-making and calculations.
Fixes: lp:1660731
* https://bugs.launchpad.net/kicad/+bug/1660731
2017-02-09 12:50:47 +01:00
Maciej Suminski
a3e16988be
Remove shadow of drawn arcs after undoing them (GAL)
2017-02-09 12:19:16 +01:00
Maciej Suminski
7806cb7bca
Drag tracks/vias menu entry (GAL)
2017-02-09 12:03:28 +01:00
Maciej Suminski
a16586756f
Moved EDIT_TOOL::hoverSelection() code to SELECTION_TOOL::CursorSelection()
2017-02-09 12:03:28 +01:00
Maciej Suminski
2a9c6a6283
Minor DRAWING_TOOL refactor
...
Automatically switch to a drawing layer, if a copper layer was
preselected. No annoying message boxes.
Do not deactivate the tool on layer switch.
Replaced setting updatePreview with direct calls to VIEW::update
Line width is kept in m_lineWidth for all shapes.
2017-02-09 12:03:28 +01:00
Maciej Suminski
6c5e5c27e2
Fixed bounding box computation for EDIT_POINTS class
2017-02-09 12:03:28 +01:00
Nick Østergaard
1cb171acf0
Rename bitmaps to match the new pad tool naming
2017-02-07 23:08:09 +01:00
Nick Østergaard
45a8c2e27f
Rename pad copy actions in the pad tool
...
Import becomes apply and export becomes copy.
The term "push" to apply settings globally has not been renamed.
Swap the order of the copy and apply in the context menu.
2017-02-07 23:08:09 +01:00
John Beard
cdc392867a
When 'Find-moving' modules in GAL, pick up at origin
...
Perviously, the generic snapping code would choose the nearest of the
module origin and origin of each module pad when selecting a module
using the "Find module" tool (T hotkey).
This is unlikely to be expected unless the cursor is already near the
correct pad or the module centre.
New behaviour is to pick up by module origin first, then
select the module. This means that the cursor is already nearest the
main module origin anchor, so that is what will be used.
Fixes: lp:1571214
* https://bugs.launchpad.net/kicad/+bug/1571214
2017-02-07 11:19:38 -05:00
jean-pierre charras
9a6e5734bf
Minor fixes: fix UI capitalization issues, and better comment in a menu.
2017-02-04 10:21:41 +01:00
Maciej Suminski
8dadc18429
Check if selection is not empty before modifying it in EDIT_TOOL
...
Fixes: lp:1661311
* https://bugs.launchpad.net/kicad/+bug/1661311
2017-02-02 23:32:11 +01:00
John Beard
fb6de689b9
Factor an EDIT_TOOL selection routine
...
Also add some commentary to other EDIT_TOOL selection functions.
2017-02-01 09:57:58 +01:00
John Beard
45b60b1bb0
Add exchange modules GAL tool (in EDIT_TOOL)
...
Includes tool action and the transistion binding in EDIT_TOOL.
Fixes: lp:1541460
* https://bugs.launchpad.net/kicad/+bug/1541460
2017-02-01 09:57:36 +01:00
Maciej Suminski
9627f063ff
Added missing handler for 'activate' events in EDIT_TOOL
...
Fixes: lp:1660306
* https://bugs.launchpad.net/kicad/+bug/1660306
2017-01-30 14:05:44 +01:00
Maciej Suminski
4b9243e0bf
Allow registering TOOLs in any order.
2017-01-30 13:21:43 +01:00
John Beard
019b949646
Pre-select highlighted net in zone create dialog
...
Applies in GAL mode (legacy mode already did this).
Fixes: lp:1482866
* https://bugs.launchpad.net/kicad/+bug/1482866
2017-01-29 23:46:41 +01:00
Maciej Suminski
24d63fb5d9
Removed redundant calls to wxUpdateUIEvent handlers
...
This is done automatically by wxWidgets
and does not need to be called explicitly.
2017-01-27 15:39:51 +01:00
Maciej Suminski
750eed7ff5
Renamed MODULE_TOOLS to MODULE_EDITOR_TOOLS
2017-01-27 15:39:41 +01:00
John Beard
0f5bfdb156
Add mirror tool action for GAL module editor
...
This is basically a simple clone of the legacy tool with a few minor
tidy-ups for GAL mode.
Fixes: lp:1619301
* https://bugs.launchpad.net/kicad/+bug/1619301
2017-01-25 20:17:28 +01:00
John Beard
beed72ffbb
Add pad import/export/push to GAL canvas
...
This implements the pad import/export to the board's master pad setting
in the GAL canvases.
Implemented as a new GAL tool: PAD_TOOL.
It uses the same dialog, which has been split out into its own files in
pcbnew/dialogs, rather than along with frame methods in
pcbnew/globaleditpad.cpp.
Fixes: lp:1619304
* https://bugs.launchpad.net/kicad/+bug/1619304
2017-01-25 20:17:28 +01:00
Dick Hollenbeck
0c459ced97
EDA_TEXT object refactor.
...
Make all EDA_TEXT data private and rename accessors to avoid function
name collisions in derived classes.
Overload EDA_TEXT's SetTextAngle() and SetEffects() in TEXTE_PCB.
Add support for preserving Reference text position, size, orientation
during a netlist import into a BOARD, as well as the one off footprint
update dialog.
2017-01-25 08:03:32 -05: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
6362e5cf0f
Added create() method for SELECTION_MENU
2017-01-23 14:52:11 +01:00
Maciej Suminski
59346a6ef1
Alternative way for setting icons for align/distribute actions.
2017-01-23 11:41:00 +01:00
Maciej Suminski
f0a7c1715e
Fixed warning 'cast pointer from integer of a different size'
2017-01-23 11:40:59 +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
John Beard
6a1b068dd2
Allow editing locked modules in modedit
...
Since you have to explicitly enter the module editor with the menu or
hotkey, allowing editing of module sub-parts once in should not cause
any unexpected changes.
Fixes: lp:1591625
* https://bugs.launchpad.net/kicad/+bug/1591625
2017-01-22 20:31:59 -05: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
e710b8b370
Fix incorrect parameter type when appending zoom and grid menuitems
2017-01-19 20:26:57 +01:00
Maciej Suminski
e5fbd0c442
Fixed crash upon finished zone drawing in GAL.
...
In principle, this patch reverts 2eefa117
. The difference is removal of
one unused method (SELECTION::clear) and fixing hidden overloaded
virtual methods warnings.
Fixes: lp:1657569
* https://bugs.launchpad.net/kicad/+bug/1657569
2017-01-18 22:06:23 +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
2eefa11732
SELECTION has-a VIEW_GROUP instead of being-a VIEW_GROUP
...
Fixed numerous warnings caused by hidden overloaded methods
provided in both classes (Add(), Remove(), etc.)
2017-01-18 13:22:41 +01:00
Maciej Suminski
c758f434c0
Removed unused fields in VIEW & ANTIALIASING_SMAA classes
2017-01-18 13:22:18 +01:00
Maciej Suminski
ee2b1ac321
Shortened code using VIEW & PAINTER classes in MODULE_TOOLS methods
2017-01-18 13:22:18 +01:00
Maciej Suminski
004ca3c6f9
Fixed a memory leak in VIEW_ITEM (proper way of doing 9bc2bb2
)
...
The problem with simple deleting VIEW_ITEM_DATA upon VIEW_ITEM removal was
caused by the default copy constructors that copied pointers.
Once a copy of an item was destroyed, the VIEW_ITEM_DATA has been
destroyed, effectively invalidating m_viewPrivData for the other item.
2017-01-16 14:57:50 +01:00
John Beard
c50d28d94d
Access tools' TOOL_MENUs rather than CONDITIONAL_MENUs
...
This means that non-top-level tools, for example EDIT_TOOL and
PCB_EDITOR_CONTROL can submit their own menus to the top-level tool's
TOOL_MENU, which will then retain a reference to it and make it
available for the CONTEXT_MENU that is shown.
2017-01-12 14:34:03 +01:00
John Beard
d7db84e282
Break out tools' common menu functions and ownership
...
Add a class TOOL_MENU, which provides a management class for a
CONDITIONAL_MENU and a set of CONTEXT_MENUs. The aim of this is to
provide a central place where all TOOL_INTERACTIVEs can get a "basic"
context menu that either they or other tools can register new items and
sub-menus against.
This means that "top-level" tools no longer need to manage the lifetimes
of any CONTEXT_MENUs that they add, and can also delegate simple menu
display functions.
2017-01-12 14:33:57 +01:00
John Beard
378f5cce33
Don't show separator in Select tool if not needed
...
If the SELECTION_TOOL's Select... menu is not shown, the separator under
it should also not be shown, so use the same SELECTION_CONDITIONS to
enforce this.
2017-01-11 11:15:25 +01:00
John Beard
f1c5b9a9ae
Add context menu to GAL DRAWING_TOOL, including the zone menu
...
Includes a tiny class for scoped set-reset of a variable, which is used
here to store the current drawing mode.
Fixes: lp:1218629
* https://bugs.launchpad.net/kicad/+bug/1518629
2017-01-11 10:41:08 +01:00
John Beard
6baf0edc08
Line segments obey 45 degree preference in GAL
...
The GAL line segment tool now listens to the global line segment 45
degree locking preference, with Ctrl used to invert the behaviour. The
behaviour therefore follows the setting normally, and the user can
override when needed with Ctrl.
Fixes: lp:1635718
* https://bugs.launchpad.net/kicad/+bug/1635718
2017-01-11 09:57:55 +01:00
jean-pierre charras
2972f6fbc7
Fix shadowed local variable
2016-12-20 17:51:55 +01:00
jean-pierre charras
9be5398cd2
Add bitmaps to Align/distribute menu ans menu items
2016-12-20 17:50:29 +01:00
Tomasz Włostowski
b20323dc63
SELECTION: fixed pointer arithmetic-related segfault in operator[]
2016-12-20 12:01:09 +01:00
Maciej Suminski
c8676db84e
Fixed panning & cursor control with arrow keys in flipped view
2016-12-12 16:45:52 +01:00
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
Maciej Suminski
a16dd894d5
Show Place & Drill origin in GAL.
2015-06-18 17:51:54 +02:00
Maciej Suminski
28a270a328
Refactored grid origin point drawing (GAL).
2015-06-18 17:51:53 +02:00
Maciej Suminski
fa3d074ca4
Find command zooms in found items (GAL).
2015-06-18 17:51:52 +02:00
Maciej Suminski
8964ff8922
Hotkey lists displayed after pressing the Help button (GAL).
2015-06-18 17:51:52 +02:00
Maciej Suminski
f63170ca84
Tools available under toolbar buttons: delete items, highlight net, set drill/place origin (GAL).
2015-06-18 17:51:51 +02:00
Maciej Suminski
057bd1b886
PICKER_TOOL - generic tool for picking a point.
2015-06-18 17:51:51 +02:00
Maciej Suminski
ac10ca40f8
Net highlighting is moved to a separate TOOL_ACTION.
2015-06-18 17:51:50 +02:00
Maciej Suminski
12adb25a71
Fixed 'Edit in footprint editor' hotkey (GAL).
2015-06-16 15:27:59 +02:00
Maciej Suminski
dd5275f6c6
Minor SELECTION_TOOL fixes.
2015-06-16 14:51:39 +02:00
Maciej Suminski
f202e5318c
Fixed SELECTION_CONDITIONS::lessThanFunc().
2015-06-05 17:48:59 +02:00
Maciej Suminski
209e630873
Disable net highlighting after loading a new board.
2015-06-04 14:54:08 +02:00
Maciej Suminski
ce4b4f8221
Update ratsnest on zone refill (GAL).
2015-06-04 14:54:08 +02:00
Chris Pavlina
064e8a82e1
Fixed an assertion in arc drawing tool (GAL).
2015-06-02 20:16:55 +02:00
jean-pierre charras
fd907a413c
Minor changes: modify a few messages in dialogs to allow a better or more easy translation of these messages (too short messages cannot be safely translated).
...
Remove no more existing special.lib from template file kicad.pro
2015-05-22 13:00:43 +02:00
Maciej Suminski
01c9f09833
wxWidgets under OS X require wxMenuItem ids to be >0.
2015-05-18 13:48:13 +02:00
Maciej Suminski
6788e31a1e
Fixed context menu crash on OS X (GAL).
2015-05-18 13:48:12 +02:00
Maciej Suminski
7c59d0dcc4
Layer toggling with 'Place Via' hot key when router is
2015-05-18 13:48:11 +02:00
Maciej Suminski
4fe65715a2
Added trivial connection selection (GAL).
2015-05-18 13:48:10 +02:00
Maciej Suminski
4f3337f5ed
Fix hot keys for adjusting grid size (GAL).
2015-05-12 12:03:39 +02:00
jean-pierre charras
37b0868376
Pcbnew: fix minor issues about fast grid switching, and next/previous grid selection from hotkeys. (GAL mode still has an issue)
2015-05-12 11:05:36 +02:00
Maciej Suminski
7eaceffd35
Fixed weird handling of 'Find' action.
2015-05-05 20:39:42 +02:00
Maciej Suminski
da75c52665
Hot keys settings are synchronized between GAL & legacy
2015-05-05 20:39:42 +02:00
Maciej Suminski
99e5228948
Moved the list of TOOL_ACTIONs to ACTION_MANAGER.
2015-05-05 20:39:41 +02:00
unknown
04ffd0a4ac
i18n pcbnew GAL popup menu entries
2015-05-03 17:53:44 +02:00
jean-pierre charras
d41bc31c49
Fix bug #1447905 (very minor bug, in fact). Fix a few minor coding style issues.
...
Fix 2 coverity warnings.
2015-05-03 08:31:14 +02:00
jean-pierre charras
2047d87317
Minor fixes (Bug #1414328 and Bug #1440312 ). Remove translatable attribute in a debug message.
...
tools/edit_tool.cpp: remove limitation (GAL mode) to delete the last pad in a footprint (a footprint can have 0 pad, for instance a logo)
2015-05-01 17:01:09 +02:00
jean-pierre charras
5a02b91e5f
Fix some issues created by rev 5632:
...
* Use only double to store zoom levels in class BASE_SCREEN (int type is not working for eeschema or page layout editor) (this fix Bug #1450551 , Assertion failed on wxRound() when zooming)
* Fix crash in all apps but Pcbnew when a grid or a zoom was selected from the popup menu.
* Modify default hotkeys for Next Grid and Previous Grid: the initial key was a dead key, not suitable as hotkey. the 'N' and Shift N keys are used instead (with a change for unfill zone hotkey)
* Modify code in EDA_DRAW_FRAME::SetNextGrid() and EDA_DRAW_FRAME::SetPreviousGrid() to make them compatible with other editors than the board editor.
2015-05-01 11:31:23 +02:00
Maciej Suminski
81ea3ce408
Missing files.
2015-04-30 11:08:18 +02:00
Maciej Suminski
872259981a
CONDITIONAL_MENU supports separators and ordering.
2015-04-30 10:46:08 +02:00
Maciej Suminski
958046ddb2
Moved SELECTION_TOOL context menu to a separate class.
2015-04-30 10:46:08 +02:00
Maciej Suminski
9ef9b7b8e1
Preliminary selection mode for SELECTION_TOOL.
2015-04-30 10:46:07 +02:00
Maciej Suminski
b8295b6af8
Code formatting.
2015-04-30 10:46:07 +02:00
Maciej Suminski
787415c2aa
Updating the user grid size on change in GAL.
2015-04-30 10:46:06 +02:00
Maciej Suminski
3e46f2233a
Corrected "Zoom Auto" in GAL with empty board.
2015-04-30 10:46:06 +02:00
Maciej Suminski
6379d80636
Zoom & grid menus for GAL canvases.
2015-04-30 10:46:05 +02:00
Maciej Suminski
06b978b829
Refactored CONTEXT_MENU, added handler for updating.
2015-04-30 10:46:05 +02:00
Maciej Suminski
10a4b64005
More icons for context menus.
2015-04-30 10:46:04 +02:00
Maciej Suminski
025d4cf23a
Alternative way of handling grid settings in GAL.
2015-04-30 10:46:04 +02:00
Maciej Suminski
4be876a13a
Expandable CONTEXT_MENUs (GAL). Minor CONTEXT_MENU
2015-04-30 10:46:04 +02:00
Maciej Suminski
946b9d1933
setTransitions() are called automatically for tools.
2015-04-30 10:46:03 +02:00
Maciej Suminski
c4888afbcc
Refactored the way GAL handles zoom settings.
2015-04-30 10:46:02 +02:00
Maciej Suminski
5c984aa069
Parametrized TOOL_ACTIONs.
2015-04-30 10:46:01 +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
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
Maciej Suminski
cec0a956bd
bugfix: pcbnew segfaults after adding footprint directly from editor
2015-04-11 23:41:22 +02:00
Eldar Khayrullin
5d55fa018e
Translate Selection tool "Select..." entry.
2015-04-04 21:57:38 +02:00
jean-pierre charras
cbf487c598
Pcbnew: duplicate and create array: popup menus in legacy mode: remove these options for a few items which cannot be (safely) duplicated (pads in board editor, and a few others )
...
Modedit, GAL mode: fix a crash when a duplicated area includes the ref or value fields.
Add missing bitmap for pad enumerate.
fix bad flag for Portuguese language.
Fix a few typo in messages.
2015-04-03 21:10:09 +02:00
jean-pierre charras
4def0958a5
Fix some coverity warnings. Fix typo and errors in comments. Very minor other fixes.
2015-04-03 11:13:06 +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
9e8719d3ff
Fixed overlapping segment endings in OpenGL view.
2015-03-30 14:09:56 +02:00
John Beard
900ecbae9d
Fix for cancellation of duplicate in GAL mode.
2015-03-16 10:25:40 +01:00
jean-pierre charras
f743b98844
Try to fix Bug #1431391 (Unable to edit pins in Schematic library editor). It happens on XFCE, but also on Unity. This fix works on Unity. (it is due to the fact the dialog is not raised, for an unknown reason, and this bug depend on the way Eeschema and Libedit are run).
...
Add Ctrl+E hotkey in eeschema to edit a component with Libedit (similar to pcbnew Ctrl+E hotkey)
As usual, fix a few minor coverity warnings
2015-03-14 12:50:39 +01:00
Tomasz Wlostowski
e9bc7b58cc
Snap cursor to pad center when moving (GAL footprint editor).
2015-03-11 18:06:44 +01:00
Maciej Suminski
b6c5b291a2
Coverity fixes.
2015-03-11 14:17:43 +01:00
Maciej Suminski
035b231b62
Refinement for fix in 5497.
2015-03-10 18:31:23 +01:00
Maciej Suminski
2ecb72da84
Fixed disappearing selected items when switching between GAL canvases.
2015-03-10 17:05:38 +01:00
Maciej Suminski
26f20fbb00
Moved "Place Target" and "Place Module" tools from DRAWING_TOOL to PCB_EDITOR_CONTROL (to avoid placing modules in the footprint editor).
2015-03-10 16:58:26 +01:00
Maciej Suminski
c160a7de17
Capturing cursor in drawing tools (GAL).
2015-03-10 14:43:14 +01:00
Maciej Suminski
cc72e585f0
Fixed segfault in arc drawing tool (GAL footprint editor).
2015-03-10 14:32:40 +01:00
Maciej Suminski
56b692ae3e
"Select net/connection" (GAL).
2015-03-10 09:36:04 +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
Maciej Suminski
161b360297
Fixed frozen cursor (GAL).
2015-03-03 11:55:23 +01:00
Maciej Suminski
0dd9efd9db
Merged the differential pair router & length tuning tool.
2015-03-03 11:50:50 +01:00
jean-pierre charras
0975e3e5bd
Move exact dialog: make all messages translatable. Fix minor issues (some can be Windows specific). Remove useless declarations. Fix coding style issues
...
Fix minor warnings from cppcheck.
2015-02-22 15:43:44 +01:00
Maciej Suminski
014905e7db
bugfix: pad enumerator skips pads if mouse cursor is moved too fast (GAL module editor).
2015-02-21 21:16:28 +01:00
Maciej Suminski
de03accdb1
Coverity report fixes.
2015-02-21 14:58:39 +01:00
Maciej Suminski
3e9bb6b887
SELECTION::GetCenter() returns VECTOR2I instead of wxPoint.
2015-02-20 11:40:36 +01:00
Maciej Suminski
f7a32e839e
Moved UndoInhibit related functions from TOOL_MANAGER to EDIT_TOOL.
2015-02-19 14:53:31 +01:00
Maciej Suminski
aafdfd015e
Disabled 'Duplicate' & 'Create array' for pads in the layout editor.
2015-02-18 20:30:14 +01:00
Maciej Suminski
9bed4814a3
Ratsnest update in 'Create array' tool (GAL).
2015-02-18 20:29:52 +01:00
Maciej Suminski
f06690c8d3
Merged lp:~john-j-beard/kicad/moveexact.
2015-02-18 20:27:00 +01: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
Tomasz Włostowski
e5deafb4bb
bulk improvements for selection and edit tools (GAL) disambiguatin heuristics and smarter grid alignment
2015-02-18 01:10:20 +01:00
Tomasz Włostowski
9f0b02268b
tools: moved tools registration outside pcbframe.cpp
2015-02-18 01:04:47 +01:00
Maciej Suminski
b0ad779ee4
Calming down the Coverity report.
2015-02-15 23:21:52 +01:00
Maciej Suminski
b19010ff8b
Cross-probing pcbnew<->eeschema (GAL).
2015-02-14 21:52:22 +01:00
Maciej Suminski
bb861b81b2
Missing comments in the PLACEMENT_TOOL class.
2015-02-14 21:49:06 +01:00
Maciej Suminski
902d0e3f1f
Tools are processing const TOOL_EVENT& (Tool Framework).
2015-02-14 21:28:47 +01:00
John Beard
8c6313ac1a
Extend arrays and duplicate to pcbnew (GAL and legacy), covering modules, text, lines, tracks, dimensions and targets.
...
Text arrays can now use "%s" as a placeholder to be substituted with the array index.
Also expand menu options for move exact, arrays and duplicate.
Minor fixes for arrays - use proper unit parsing, add numbering start for circular arrays
Add circle radius indicator to array dialogue
2015-02-12 03:22:24 +00:00
John Beard
3c5f3f7049
Add create array tool
2015-02-12 03:22:24 +00:00
John Beard
4f3672da4d
Add "move exact" and "duplicate" tools to pcbnew
2015-02-12 03:22:24 +00:00
Maciej Suminski
789bb9663c
bugfix: Find does not work in high contrast mode in GAL.
2015-01-29 18:23:54 +01:00
Maciej Suminski
92a8f8f19c
Support for zone cut-outs in the point editor (GAL).
2015-01-16 16:44:42 +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
Nick Østergaard
1df31338a3
Shortcut for fill all and unfill all zones for GAL.
2014-12-08 23:41:47 +01:00
Maciej Suminski
0c1a87ca56
selection_tool: Added SelectItem and UnselectItem actions.
2014-11-21 11:50:13 +01:00
Maciej Suminski
823623acb8
selection_tool: Renamed deselect* to unselect* for naming consistency.
2014-11-21 11:49:54 +01:00
Maciej Suminski
62e2537e73
selection_tool: Renamed selectSingle to selectCursor.
2014-11-21 11:49:28 +01:00
Camille
5729ee7ea5
Compile warning fixes and minor code policy fixes.
2014-11-15 08:43:23 -05:00
Maciej Suminski
4eabe23104
pcbnew: Allows selecting module edges in module editor, when they are covered with other items (GAL).
2014-11-13 16:58:24 +01:00
Maciej Suminski
1855db5493
pcbnew: Fix persistent multiple items selection box that stays after selecting a polygon/line (GAL).
2014-11-13 14:11:26 +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
Maciej Suminski
788a25438a
pcbnew: Minor fixes to 'Find Item' dialog (GAL canvas).
2014-10-13 20:27:36 +02:00
Maciej Suminski
ac7bdfc7f6
pcbnew: Fixed 'Find Item' (GAL canvas).
2014-10-13 15:25:16 +02:00
Maciej Suminski
1c74019f4c
pcbnew: Added "Get and Move" in pcbnew (GAL canvas).
2014-10-13 15:22:14 +02:00
jean-pierre charras
6bae852cb9
Minor fixes: specctra export: skip malformed circles (having a radius = 0) in board outline creation, which can crash 3d-viewer or vrml export.
...
dialog_fp_lib_table: remember during a session the last open table (global or local).
drawing_tool: fix compil warning
Update demos.
2014-09-22 09:51:06 +02:00
Lorenzo Marcantonio
0da38e5b62
More work on module texts, and especially on the collector
...
The members SetIgnoreMTextsOnCopper, SetIgnoreMTextsOnCmp,
SetIgnoreModulesOnCu, SetIgnoreModulesOnCmp in the collector guide are
renamed to the clearer SetIgnoreMTextsOnBack, SetIgnoreMTextsOnFront,
SetIgnoreModulesOnBack, SetIgnoreModulesOnFront
Modified the collector and drawing behaviour for text in modules as
discussed in the mailing list.
* Now module text on layers different than Silk should work! *
Still need UI support for setting the layer in the module editor.
2014-09-11 18:35:19 +02:00
Lorenzo Marcantonio
424aac6cf2
TEXTE_MODULE cleanup in preparation for text on different layers
...
- Removed the friends MODULE and FOOTPRINT_EDIT_FRAME from TEXTE_MODULE
(as in the @todo comment)
- Refactored the Rotate/Flip/Mirror for text in modules into the
TEXTE_MODULE class itself (members RotateWithModule, FlipWithModule,
MirrorWithModule)
- New behaviour in coloring text on screen: reference and value still
take the color from the MOD_TEXT_FR_VISIBLE and MOD_TEXT_BK_VISIBLE
visibles; other text takes the color of the layer containing it
(except when hidden, obviously) but still get its visibility
controlled by those visibles (probably the most intuitive and useful
behaviour)
- Still need to decide: should text on a layer be hidden when the layer
is? Probably yes (still to be implemented);
- Some comment fixed and many cast converted to static_cast
2014-09-10 17:18:42 +02:00
Maciej Suminski
9fca82c23f
pcbnew: bugfix for crashes when canvas is switched while dragging items (GAL).
2014-09-08 14:09:20 +02:00
Maciej Suminski
c13cdb0964
Fixed line width settings in the module editor (GAL).
2014-09-01 13:48:51 +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
Maciej Suminski
bcdd3d7bb9
Items are either dragged by their origin or moved by a vector (depending on the number of selected items) (GAL).
2014-08-06 09:35:03 +02:00
Maciej Suminski
1b058cae1e
Disable highlight mode in the module editor (GAL).
2014-08-06 09:33:10 +02:00
Maciej Suminski
242d42cf1d
Changed 'line width change' & 'change arc posture' to TOOL_ACTIONs.
2014-08-04 14:23:19 +02:00
Maciej Suminski
03a17a284b
bugfix: modules are not selectable in the high contrast mode (GAL).
2014-08-04 10:06:24 +02:00
Maciej Suminski
94a46bf2df
Fixed pcbnew crash when a locked footprint is dragged from an edge of the screen.
2014-08-01 11:28:08 +02:00
Maciej Suminski
893618bf3f
Fixed a hot key conflict.
2014-07-24 13:09:16 +02:00
Maciej Suminski
1d378cfcd1
View is automatically centered when a module editor or viewer are opened (GAL).
2014-07-23 12:06:24 +02:00
jean-pierre charras
38027eb998
3d viewer: Add high quality mode option is realistic mode (Shows holes in copper zones, but with longer calculation time)
...
Gal: fix a very minor issue: the keys to switch between copper layers are now - and + (according to the doc and the normall mode), instead of - and =
2014-07-21 18:26:18 +02:00
Maciej Suminski
0adb6fa943
Module editor does not ask for permission to modify a locked module.
2014-07-15 17:33:19 +02:00
Maciej Suminski
f24075bbf5
Fixed offset of dragged items when the moving tool is invoked by the hotkey (GAL).
2014-07-15 16:33:46 +02:00
Maciej Suminski
568fc74a3c
Clicking on the Selection Tool toolbar button deactivates the current tool (GAL).
2014-07-15 11:50:00 +02:00
Maciej Suminski
a1e08ae568
Drawing tools reset its state on layer change.
2014-07-15 11:41:55 +02:00
Maciej Suminski
78853febbe
Zone fill/unfill actions in context menu (GAL).
2014-07-09 16:57:01 +02:00
Maciej Suminski
898e4e269e
Fixed the only-type condition for empty selection case.
2014-07-09 16:50:31 +02:00
Maciej Suminski
e6c1254dc8
"Create corner" context menu entry for draw segments and zone outlines (GAL).
2014-07-09 16:50:31 +02:00
Maciej Suminski
4068d6c858
Selection tool uses the real drag origin to compute offset when dragging items.
2014-07-09 16:50:31 +02:00
Maciej Suminski
b8fd1de71c
Added module texts to the preferred types list in SELECTION_TOOL.
2014-07-09 16:50:31 +02:00
Maciej Suminski
433e17a582
Support for "locked" property for modules (GAL).
2014-07-09 16:50:31 +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
49dd416c53
Dragged items offset is cleared when dragging is finished.
2014-07-09 16:50:31 +02:00
Maciej Suminski
f32419f7e6
New pads in the module editor does not show up in the center of the edited module.
2014-07-09 16:50:31 +02:00
Maciej Suminski
0953d5730b
Clear selection before opening the module editor.
2014-07-09 16:44:23 +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
db0d708300
Simplified code for switching layers in GAL view. Tools are notified of layer change event.
2014-07-09 16:25:50 +02:00
Maciej Suminski
c0a96141df
Added AF_NOTIFY flag for TOOL_ACTIONs.
2014-07-09 15:10:32 +02:00
Maciej Suminski
b2d0737329
Fixed continous line drawing.
...
Outline mode can be set up on any layer.
2014-07-09 15:10:32 +02:00
Maciej Suminski
d7c3c7828b
wxWidgets 2.8 compatibility fixes.
2014-07-09 15:10:32 +02:00
Maciej Suminski
587f22e10b
Outline display mode for module edges & texts in the module editor.
2014-07-09 15:10:32 +02:00
Maciej Suminski
65c116621d
Added support for changing the cursor size.
2014-07-09 15:10:32 +02:00
Maciej Suminski
15f5c228cc
Fixed autozooming with empty board/module.
2014-07-09 15:10:32 +02:00
Maciej Suminski
2b0e27f132
Introduced SELECTION_CONDITIONS to determine which menu entries should be visible in the SELECTION_TOOL context menu, depending on the selection.
2014-07-09 15:10:32 +02:00
Maciej Suminski
bfa15d8db0
Moved SELECTION out of SELECTION_TOOL class.
2014-07-09 15:10:32 +02:00
Maciej Suminski
d21271b432
Pad Enumeration tool support for SMD pads.
2014-07-09 15:10:32 +02:00
Maciej Suminski
709dfcc16e
Added settings dialog for Pad Enumeration tool.
2014-07-09 15:10:32 +02:00
Maciej Suminski
2bcbb67528
Initial version of the Pad Enumeration tool.
2014-07-09 15:02:56 +02:00
Maciej Suminski
cf79b4c64f
Removed redundant accessor calls in MODULE_TOOLS.
2014-07-09 15:02:56 +02:00
Maciej Suminski
ed88c40be5
Moved module editor-specific tools to a separate class (MODULE_TOOLS).
2014-07-09 15:02:56 +02:00
Maciej Suminski
a6484f1acb
Drawing tools used to crash when the drawing tool was interrupted - fixed.
2014-07-09 15:02:56 +02:00
Maciej Suminski
b42091bc06
Fixed anchor placement tool in module editor (GAL).
2014-07-09 15:02:56 +02:00
Maciej Suminski
6f772c90d9
Renamed "Placement" context menu to "Align/distribute".
2014-07-09 15:02:56 +02:00
Maciej Suminski
84fa537b22
Changes in display options are handled by PCBNEW_CONTROL (GAL).
2014-07-09 15:02:56 +02:00
Maciej Suminski
2b1d6b303a
Added support for module edge splitting with double click.
2014-07-09 15:02:56 +02:00
Maciej Suminski
47f1fec31d
DXF drawing placement tool for GAL.
2014-07-09 15:02:56 +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
f0ff744e97
Initial version of the Placement Tool.
2014-07-09 14:23:13 +02:00
Maciej Suminski
e3c4f425dc
Fixed wrong reference point for copied items in subsequent module editor invocations (GAL).
2014-07-09 14:23:13 +02:00
Maciej Suminski
ac8ee56e51
Pasted module texts are rotated in the right way.
2014-07-09 14:23:13 +02:00
Maciej Suminski
5941f196c3
Reference point is selected for copied items. Enabled autopanning for copy & paste operations (module editor/GAL).
2014-07-09 14:23:13 +02:00
Maciej Suminski
95a4f61eee
wxWidgets 2.8 compatibility fix.
2014-07-09 14:23:13 +02:00
Maciej Suminski
5e48a79639
Copy & paste for module editor (GAL).
2014-07-09 14:22:29 +02:00
Maciej Suminski
ae431bbb05
Added MODULE::Add( BOARD_ITEM* )/Remove( BOARD_ITEM* )/Delete( BOARD_ITEM* ).
...
Removed MODULE::AddPad().
2014-07-09 14:22:29 +02:00
Maciej Suminski
d73ab976df
Added support for placing the footprint anchor.
2014-07-09 14:01:06 +02:00
Maciej Suminski
637919a699
Added support for pads, texts and graphics removal in module editor (GAL).
2014-07-09 14:01:06 +02:00
Maciej Suminski
5dc1f92608
Added pad placement tool for module editor (GAL).
2014-07-09 14:01:06 +02:00
Maciej Suminski
67136d21b1
MInor fixes.
2014-07-09 14:01:06 +02:00
Maciej Suminski
99043b777d
Adapted graphics tools to cooperate with module editor.
2014-07-09 14:01:06 +02:00
Maciej Suminski
ba320ac7c3
Added "edit modules" mode for DRAWING_TOOL.
2014-07-09 14:01:06 +02:00
Maciej Suminski
fc44f34ade
Fixed DRAWING_TOOL::PlaceTextModule() method.
2014-07-09 14:01:06 +02:00
Maciej Suminski
b05885c2f1
Refactored drawing tools: lines, circles and arcs.
2014-07-09 14:01:06 +02:00
Maciej Suminski
69c73b0ebc
Updated POINT_EDITOR to handle module edges.
2014-07-09 13:50:27 +02:00
Maciej Suminski
26323007b5
Added a handler for not implemented toolbar buttons functionality in GAL.
2014-07-09 13:50:27 +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
34fbde42fc
Improved way of translating wxEvent commands to TOOL_ACTIONs.
2014-07-09 13:50:27 +02:00
Maciej Suminski
74522d5b3c
Corrected names of common tool actions.
2014-07-09 13:50:27 +02:00
Maciej Suminski
6d1417bafa
SELECTION_TOOL in edit module mode does not try to select MODULEs.
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
5ce29330b1
Restored support for custom angle rotation.
2014-07-09 13:50:27 +02:00
Maciej Suminski
6e0bd1eedc
Adapted tools to PCB_BASE{_EDIT}_FRAME.
2014-07-09 13:50:27 +02:00
Maciej Suminski
b0f3e79e54
Created a common interface for edit frames.
2014-07-09 13:50:27 +02:00
Maciej Suminski
eee2779f6b
Moved some layout editor specific tool actions to another class (PCB_EDITOR_CONTROL).
2014-07-09 13:50:27 +02:00
Maciej Suminski
7ade7db078
SELECTION_TOOL got a new mode to edit MODULEs.
2014-07-09 12:10:27 +02:00
Maciej Suminski
2ee890d74b
Minor changes.
2014-07-09 11:59:24 +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
0306ec7efe
{Set,Get}ActiveLayer moved from PCB_EDIT_FRAME to PCB_BASE_FRAME.
2014-07-09 11:50:27 +02:00
Maciej Suminski
a24576f3ce
Initial version of the GAL-based Module Editor.
2014-07-09 11:22:43 +02:00
Maciej Suminski
8a5fedb728
Code formatting and cleaning.
2014-07-09 11:22:43 +02:00
Maciej Suminski
553996e7be
bugfix: pads edited with properties dialog were not refreshed.
...
bugfix: changing track width/via size using the dropdown menu when custom size was enabled did not change anything.
2014-07-09 11:22:43 +02:00
Maciej Suminski
60b0a4e0be
Alternative approach to handling events and commands by TOOL_DISPATCHER.
...
Event handlers are (dis)connected depending on the active view.
TOOL_DISPATCHER inherits from wxEvtHandler, so now it receives events directly instead of being fed by external handlers.
2014-07-09 11:22:42 +02:00
Maciej Suminski
3fd26b6dd2
TOOL_ACTIONs are automagically registered by TOOL_MANAGER upon its construction.
2014-07-09 11:22:42 +02:00
Maciej Suminski
f5325f8d79
Removed a redundant pointer to EDA_EDIT_FRAME.
2014-07-09 11:22:42 +02:00
Maciej Suminski
e46c5cb778
Fixed toolbar buttons for zooming in GAL canvas.
2014-07-09 11:22:42 +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
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
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
Maciej Suminski
95a6e8deb2
Dragging items by their origin is optional (activated by dragging elements with Ctrl held).
2014-06-23 16:12:59 +02:00
Maciej Suminski
e7aa963011
Fixed layers switching in GAL.
2014-06-06 14:59:55 +02:00
Maciej Suminski
f5de166a7e
Removed an unused parameter from TOOL_BASE::getModel<T>() method.
2014-06-06 14:59:25 +02:00
Maciej Suminski
afbe21fe70
Single items are dragged by their origin in GAL canvas.
2014-06-05 09:55:53 +02:00