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
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
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
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
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
3629fcbf4a
Code formatting
2017-08-03 14:28:07 +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
545a80839b
Removed an excessive selection request from EDIT_TOOL
2017-07-27 10:56:26 +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
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
f3fbce9560
Code formatting and clean-up
2017-06-23 15:43:13 +02:00
Tomasz Włostowski
9ad886344b
New connectivity algorithm.
2017-06-23 11:12:36 +02:00
Russell Oliver
aeb23188f1
Add Position Relative tool
2017-06-12 16:24:52 +02:00
jean-pierre charras
6ed4f9b208
Make EDA_DRAW_FRAME::SetToolID and mouse cursor shape setting working in GAL canvases, and uses same mouse cursor shapes in legacy and gal canvases.
...
Starting fixing incorrect UI behavior of Zoom to selection in Pcbnew.
2017-06-12 15:16:09 +02:00
Oliver Walters
18488342a5
Improved speed of Duplicate action
...
- Removed repetitive tool calls
2017-06-12 11:16:30 +02:00
Fabrizio Tappero
ac9a64a173
general UI fix. Fixed a lot of icons and a lot of menu.
...
Also a few no longer used .cpp icon files are removed.
2017-06-02 11:51:11 +02:00
Robbert Lagerweij
e57c962336
Pcbnew: add option to select origin & anchor in move exactly tool
...
This patch adds a radiobox to allow the user to select a reference point for
the move. The additional options are: User Origin (set with <space>),
Grid Origin and Sheet Origin (effectively making it an absolute coordinate).
A checkbox is added (where it makes sense) to allow overriding which point
within the component is put on top of the designated coordinate.
Fixes: lp:1460460
* https://bugs.launchpad.net/kicad/+bug/1460460
2017-04-25 11:32:49 -04:00
Maciej Suminski
217593f6bc
Fixed selected items drift on rotation/flip
2017-04-20 16:38:19 +02:00
Maciej Suminski
d452a5a30c
Moved ratsnest update from EDIT_TOOL to PCB_EDITOR_CONTROL
2017-04-20 14:43:42 +02:00
Maciej Suminski
bc8668b039
Renamed PCB_ACTIONS::editModifiedSelection to selectionModified
2017-04-20 14:11:59 +02:00
Maciej Suminski
bb999f1bbf
Fixed items disappearing after a rotation/flip
...
Fixes: lp:1683831
* https://bugs.launchpad.net/kicad/+bug/1683831
2017-04-20 14:11:59 +02:00
Maciej Suminski
e2b95cf97a
Removed a redundant update/refresh calls
...
BOARD_COMMIT handles all necessary updates
2017-04-20 14:11:35 +02:00
Maciej Suminski
74847bf8ff
Code formatting and clean-up
2017-04-20 14:01:38 +02:00
jean-pierre charras
a35a46804e
Pcbnew fix: "create array" extremely slow in GAL mode, due to a useless call of a time consuming method for each new item created.
2017-04-19 14:15:11 +02:00
John Beard
c94269e173
Pcbnew GAL: Switch CW/CCW hotkeys to match legacy mode
2017-03-30 16:05:56 +02:00
John Beard
0b593faa93
Pcbnew: correct CW/CCW rotation.
...
These were backwards since internal angles are CCW due to the inverted Y
axis.
The hotkeys have NOT changed. This means 'R' is now clockwise and
'Shift+R' is anti-clockwise. This is the same as EEschema, but not the
same as Legacy mode.
2017-03-30 16:05:56 +02:00
John Beard
d99fbddc22
Enable angle snap for pcbnew GAL ruler tool
...
This uses the two-point geometry manager to split the logic of the ruler
geometry and the preview item display. This allows the ruler to use that
manager's angle snap feature.
2017-03-22 10:59:47 +01:00
Tomasz Włostowski
2f730cad81
EDIT_TOOL: restore cursor position on exit
...
Fixes: lp:1671564
* https://bugs.launchpad.net/kicad/+bug/1671564
2017-03-14 10:54:58 +01:00
John Beard
8c3b8ee693
Add a ruler tool to pcbnew GAL
...
This allows to measure between features on a PCB. It uses a preview
EDA_ITEM in common, but due to the use of the IDs, it's currently
Pcbnew/Modedit only.
This also adds several "utils" for graphical functons useful when
drawing preview items on GAL canvases.
Fixes: lp:1467313
* https://bugs.launchpad.net/kicad/+bug/1467313
2017-03-10 16:21:44 +01:00
Maciej Suminski
3174573361
Removed code resetting VIEW_CONTROLS settings
...
As the VIEW_CONTROLS settings are managed for each tool,
there is no need to restore the settings to initial state
when a tool is finished.
2017-03-06 15:04:27 +01:00
Tomasz Włostowski
cc3d79f932
Reworked selection passing mechanism in SELECTION_TOOL.
...
- The tools can now specify if the items in the selection must be editable/
deletable. This is groundwork to be able to select/delete DRC markers, which can't
otherwise be edited.
- Fixed disappearing of selected objects
2017-03-03 20:26:34 +01:00
Maciej Suminski
35c7974a96
Enable grid snapping when dragging items (GAL)
...
Fixes: lp:1668077
* https://bugs.launchpad.net/kicad/+bug/1668077
2017-03-02 15:21:49 +01:00
Jon Evans
fd4e2b042c
Refactor SELECTION, SELECTION_CONDITIONS, and context menus to common
...
SELECTION now holds EDA_ITEMs not BOARD_ITEMs so various places had to
change to casting the selected items to BOARD_ITEMs.
Fixed compilation warnings on clang (Tom)
2017-02-28 14:47:20 +01:00
Jon Evans
4c83b0a94d
Move TOOL_ACTIONs to their corresponding tools; create COMMON_TOOLS
...
Some grid/zoom tools are left in PCBNEW_CONTROL because they currently
depend on Pcbnew-specific class members. Once refactoring is done to
make it possible to use all zoom and grid controls outside of pcbnew,
these last tools can be moved to common to match their ACTIONs.
2017-02-22 10:32:48 +01:00
Jon Evans
167f45ca2b
Refactor COMMON_ACTIONS into a base and derived class
...
New virtual class ACTIONS is added as a member to EDA_DRAW_FRAME so
that the TOOL_DISPATCHER can have access to the appropriate derived
version of TranslateLegacyId()
2017-02-22 10:32:48 +01:00
John Beard
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
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
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
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
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
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
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
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
jean-pierre charras
2972f6fbc7
Fix shadowed local variable
2016-12-20 17:51:55 +01:00
Maciej Suminski
89055c4425
Code formatting
2016-12-12 16:45:52 +01:00
Tomasz Włostowski
1c1f4e9a50
Refactoring of VIEW/VIEW_ITEM classes:
...
- Remove dependency of EDA_ITEM on VIEW
- VIEW_ITEM is now a pure virtual interface
2016-12-12 16:45:52 +01:00
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
Simon Richter
ad088db6d2
Add more "override" markers.
2016-09-25 13:59:41 -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
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
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
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
Simon Richter
1b2fd6a382
Replace BOOST_FOREACH with C++11 range based for.
2016-06-29 16:07:55 -04:00
Michael Steinberg
fde12ebd25
Replace boost::function and boost::bind with their std:: counterparts
2016-06-29 12:23:11 +02:00
jean-pierre charras
e2cc78b2b5
Code cleanup: remove dead code (some removed methods were broken), and update or add comments.
2016-06-01 11:28:07 +02:00
Maciej Suminski
a30c8d7848
Coverity fixes.
2016-05-11 11:18:27 +02:00
Maciej Suminski
dd10c577ec
Added SELECTION_CONDITIONS::OnlyTypes() variant that takes KICAD_T[]4
2016-05-04 18:35:20 +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
Simon Wells
712ff51d3f
Clarify assignment as conditional in EDIT_TOOL::Main
2016-01-11 17:12:11 -05:00
Maciej Suminski
203e8156a1
pcbnew asks before rotating/flipping a locked item (GAL).
2016-01-05 17:01:59 +01:00
Maciej Suminski
0cad702fc7
Fixed footprint editor crash on ref/val text layer change (GAL).
2015-08-15 16:00:34 +02:00
Maciej Suminski
e3cbfb0609
Better way of handling changes in EDIT_TOOL (GAL).
2015-07-31 17:40:19 +02:00
Maciej Suminski
c632f3db18
Update ratsnest on footprint change (GAL).
2015-07-28 17:33: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
74584e2081
Fixed crash on undo layer change in TEXTE_MODULE.
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
36d3d9f78e
Cursor warps to the drag origin (GAL).
2015-07-15 17:32:30 +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
33e1797116
Tracks & vias properties dialog.
2015-07-09 13:35:51 +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
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
b5ef511063
Fixed alignment to grid when there is a grid offset (GAL).
2015-06-30 14:08:03 +02:00
Maciej Suminski
ac6a90afa3
Update ratsnest after properties are changed.
2015-06-25 17:36:57 +02:00
Maciej Suminski
12adb25a71
Fixed 'Edit in footprint editor' hotkey (GAL).
2015-06-16 15:27:59 +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
Maciej Suminski
958046ddb2
Moved SELECTION_TOOL context menu to a separate class.
2015-04-30 10:46:08 +02:00
Maciej Suminski
b8295b6af8
Code formatting.
2015-04-30 10:46:07 +02:00
Maciej Suminski
946b9d1933
setTransitions() are called automatically for tools.
2015-04-30 10:46:03 +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
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
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
John Beard
900ecbae9d
Fix for cancellation of duplicate in GAL mode.
2015-03-16 10:25:40 +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
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
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
e5deafb4bb
bulk improvements for selection and edit tools (GAL) disambiguatin heuristics and smarter grid alignment
2015-02-18 01:10:20 +01:00
Maciej Suminski
b0ad779ee4
Calming down the Coverity report.
2015-02-15 23:21:52 +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
4f3672da4d
Add "move exact" and "duplicate" tools to pcbnew
2015-02-12 03:22:24 +00:00
Maciej Suminski
62e2537e73
selection_tool: Renamed selectSingle to selectCursor.
2014-11-21 11:49:28 +01: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
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
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
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
4068d6c858
Selection tool uses the real drag origin to compute offset when dragging items.
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
0953d5730b
Clear selection before opening the module editor.
2014-07-09 16:44:23 +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
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
ed88c40be5
Moved module editor-specific tools to a separate class (MODULE_TOOLS).
2014-07-09 15:02:56 +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
637919a699
Added support for pads, texts and graphics removal in module editor (GAL).
2014-07-09 14:01:06 +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
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
a24576f3ce
Initial version of the GAL-based Module Editor.
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
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
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
Maciej Suminski
517bfa3570
Minor code cleaning.
2014-06-04 18:01:01 +02:00
Maciej Suminski
655721d9ae
Added missing changes required for updating footprints with the module editor.
2014-05-22 15:01:58 +02:00
Maciej Suminski
957f959e90
Fixed bug 1321936: changing a footprint for a set of modules relocates them in GAL canvas.
...
Changes introduced by the module editor are updated in GAL canvas.
2014-05-22 12:06:45 +02:00
Maciej Suminski
562beafcde
Fixed modification point for EDIT_TOOL when the tool is not active.
2014-05-13 11:22:51 +02:00
Maciej Suminski
9325a9e74d
Fixed rotation/flip point.
2014-05-13 11:22:51 +02:00
Maciej Suminski
a0801e2d8e
Pad properties are back.
2014-05-13 11:22:51 +02:00
Maciej Suminski
929008c6c3
SELECTION_TOOL updates dragging offset after rotating/flipping.
...
Cursor position is saved as a field in order to avoid drifting of items while they are being dragged and rotated/flipped.
2014-05-13 11:22:51 +02:00
Maciej Suminski
e6fd3934d1
Fixed ratsnest update after removing items.
2014-04-09 16:57:22 +02:00
Maciej Suminski
14687a45a7
Fixed occasional crashes on undo/redo while dragging.
2014-04-04 12:56:50 +02:00
Maciej Suminski
1ef68d73e5
Fixed missing transitions for EDIT_TOOLs.
2014-04-03 10:24:27 +02:00
Maciej Suminski
b6aa832f83
Converted std::bind1st to boost::bind.
2014-04-02 16:30:48 +02:00
Maciej Suminski
e79934b03d
If tool was previously active and it is called again, it is brought to the top of the active tool stack.
...
It fixes issue of dragging of items that have EDIT_POINTs, when dragging was activated by hovering over an item and using hot key.
2014-04-01 14:35:09 +02:00
Maciej Suminski
1fa49ce7f0
Fixed drifting for items dragged using EDIT_TOOL.
2014-04-01 13:30:31 +02:00
Maciej Suminski
093e311a8d
Fixed a few ratsnest glitches in GAL.
2014-03-19 15:33:13 +01:00
Maciej Suminski
f87f12e222
Added TOOL_ACTION for updating EDIT_POINTS.
...
EDIT_POINTs show up when there is only one item selected (now after deselection as well).
2014-02-28 16:53:28 +01:00
Maciej Suminski
c5c83bd271
Added TOOL_MANAGER & ACTION_MANAGER::RunAction( const TOOL_ACTION aAction ).
...
Selection clearing is invoked using TOOL_ACTION object rather than its name.
2014-02-28 15:46:05 +01:00
Maciej Suminski
597e98dbf4
Cursor is in world coordinates.
2014-02-13 20:23:28 +01:00
Maciej Suminski
17c030aa98
Fixed removal of items in the KiCad-default style.
2014-02-05 11:08:34 +01:00
Maciej Suminski
f922533978
Added possibility for editing pads properties.
2014-02-05 09:05:27 +01:00
Maciej Suminski
8df0f769f7
Added KiCad-style modification methods (hover over an item and press a hot key, without selecting first).
...
Modification point is selected basing on the number of selected items.
Rotation angle setting (Preferences->General) is taken into account while rotating.
2014-02-04 17:27:00 +01:00
Maciej Suminski
625dcddb27
Added 2 tool actions:
...
- pcbnew.InteractiveSelection.Single for selecting a single item
- pcbnew.InteractiveSelection.Clear for clearing the selection
Made SELECTION_TOOL::clearSelection private.
2014-02-04 16:03:56 +01:00
Maciej Suminski
106fa9bbd8
Edit tool may still be activated if it was invoked with no selected items.
2014-02-04 14:21:29 +01:00
Maciej Suminski
bec24b6c7f
Ratsnest is updated after rotation, flip, undo/redo operations.
...
Fixed crashes of ratsnest when a pointer for an item has changed after undo/redo operations.
Vias are properly removed from ratsnest (pcbnew/class_board.cpp).
2014-01-29 10:17:14 +01:00
Maciej Suminski
83f7c7e35e
Added RN_DATA::Add()/Remove() methods.
...
RN_DATA::Update()/AddSimple() take BOARD_ITEM* as the parameter (instead of being split to versions with BOARD_CONNECTED_ITEM* and MODULE*), to make the code look clearer.
2014-01-28 16:30:58 +01:00
Maciej Suminski
8f054a606f
Fixed snapping and ratsnest update for EDIT_TOOL.
2014-01-07 17:23:17 +01:00
Maciej Suminski
84c496e138
Upstream merge
2013-12-19 11:15:27 +01:00
Maciej Suminski
7ce91d4e38
Fixed zone area removal (& undoing) using the EDIT_TOOL.
2013-12-18 17:16:15 +01:00
Maciej Suminski
f4de2877f3
Added possibility of removing selected items while dragging.
2013-12-18 15:38:38 +01:00
Maciej Suminski
fd0a3348ea
More elegant way of handling interruption of current modifications.
2013-12-18 15:11:12 +01:00
Maciej Suminski
c1d6e44413
Speed optimization during selection of multiple items.
...
Removed debug output.
2013-12-18 15:09:09 +01:00
Maciej Suminski
873235304e
SELECTION_TOOL uses ITEMS_PICKED_LIST to store selected items.
...
Modifications done using the EDIT_TOOL are saved using the default KiCad's undo buffer.
If there is only one item selected, info about the item is displayed in the bottom status bar.
2013-12-18 14:33:34 +01:00
Maciej Suminski
7e60cc530a
Comments.
2013-12-09 11:07:30 +01:00
Maciej Suminski
a3909d4f71
Added removal of BOARD_ITEMs for the TOOL_FRAMEWORK.
2013-12-09 11:01:05 +01:00