Maciej Suminski
ac10ca40f8
Net highlighting is moved to a separate TOOL_ACTION.
2015-06-18 17:51:50 +02:00
Maciej Suminski
dd5275f6c6
Minor SELECTION_TOOL fixes.
2015-06-16 14:51:39 +02:00
Maciej Suminski
209e630873
Disable net highlighting after loading a new board.
2015-06-04 14:54:08 +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
4fe65715a2
Added trivial connection selection (GAL).
2015-05-18 13:48:10 +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
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
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
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
5c984aa069
Parametrized TOOL_ACTIONs.
2015-04-30 10:46:01 +02:00
Eldar Khayrullin
5d55fa018e
Translate Selection tool "Select..." entry.
2015-04-04 21:57:38 +02:00
Maciej Suminski
b1cd83c197
Icons in GAL context menus.
2015-04-02 16:09:48 +02: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
56b692ae3e
"Select net/connection" (GAL).
2015-03-10 09:36:04 +01:00
Maciej Suminski
0dd9efd9db
Merged the differential pair router & length tuning tool.
2015-03-03 11:50:50 +01:00
Maciej Suminski
3e9bb6b887
SELECTION::GetCenter() returns VECTOR2I instead of wxPoint.
2015-02-20 11:40:36 +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
b19010ff8b
Cross-probing pcbnew<->eeschema (GAL).
2015-02-14 21:52:22 +01:00
Maciej Suminski
902d0e3f1f
Tools are processing const TOOL_EVENT& (Tool Framework).
2015-02-14 21:28:47 +01: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
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
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
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
Maciej Suminski
1b058cae1e
Disable highlight mode in the module editor (GAL).
2014-08-06 09:33:10 +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
0adb6fa943
Module editor does not ask for permission to modify a locked module.
2014-07-15 17:33:19 +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
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
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
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
6e0bd1eedc
Adapted tools to PCB_BASE{_EDIT}_FRAME.
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
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
f5de166a7e
Removed an unused parameter from TOOL_BASE::getModel<T>() method.
2014-06-06 14:59:25 +02:00
Maciej Suminski
517bfa3570
Minor code cleaning.
2014-06-04 18:01:01 +02:00
Maciej Suminski
dd1fcd0588
Fix for context menu hanging up in GAL.
2014-05-22 17:59:36 +02:00
Maciej Suminski
2cba91f974
Holding shift always activates extend current selection mode (in GAL canvas).
2014-05-14 09:56:35 +02:00
Maciej Suminski
50193f1751
Resolved HOME hot key conflict between menu entry (Zoom Page) and event assigned to the hot key in the ACTION_MANAGER.
...
Conflicts:
pcbnew/menubar_pcbframe.cpp
2014-05-13 11:22:51 +02:00
Maciej Suminski
6b222d19d5
Added preference for selecting tracks/vias/graphics if there is a module present in the selection point.
2014-05-13 11:22:51 +02:00
Maciej Suminski
c3b448b633
Upstream merge.
2014-05-01 15:55:50 +02:00
Lorenzo Marcantonio
3f2c0e1a8d
TRACK/SEGVIA cleanup
...
- SEGVIA becomes VIA
- Drill size moved from TRACK to VIA
- Removed shape from TRACK, becomes ViaType in VIA
- GetTrace becomes GetTrack, for uniformity
- Some minor constification and typo fixes
2014-04-25 08:00:04 +02:00
Maciej Suminski
a6917280fe
Added net highlighting.
2014-04-04 17:40:00 +02:00
Maciej Suminski
ba275918e3
Renamed [class_]drawpanel_gal.[cpp|h] to [class_]draw_panel_gal.[cpp|h] to follow current naming scheme.
2014-04-04 11:56:04 +02:00
Maciej Suminski
b6aa832f83
Converted std::bind1st to boost::bind.
2014-04-02 16:30:48 +02:00
Maciej Suminski
23392ce8c9
Upstream merge.
2014-04-02 15:38:59 +02:00
Dick Hollenbeck
6bfff89fe5
merge tip in, resolve.
2014-03-20 01:24:33 -05:00
Dick Hollenbeck
2c67c3ff80
* KIWAY Milestone A): Make major modules into DLL/DSOs.
...
! The initial testing of this commit should be done using a Debug build so that
all the wxASSERT()s are enabled. Also, be sure and keep enabled the
USE_KIWAY_DLLs option. The tree won't likely build without it. Turning it
off is senseless anyways. If you want stable code, go back to a prior version,
the one tagged with "stable".
* Relocate all functionality out of the wxApp derivative into more finely
targeted purposes:
a) DLL/DSO specific
b) PROJECT specific
c) EXE or process specific
d) configuration file specific data
e) configuration file manipulations functions.
All of this functionality was blended into an extremely large wxApp derivative
and that was incompatible with the desire to support multiple concurrently
loaded DLL/DSO's ("KIFACE")s and multiple concurrently open projects.
An amazing amount of organization come from simply sorting each bit of
functionality into the proper box.
* Switch to wxConfigBase from wxConfig everywhere except instantiation.
* Add classes KIWAY, KIFACE, KIFACE_I, SEARCH_STACK, PGM_BASE, PGM_KICAD,
PGM_SINGLE_TOP,
* Remove "Return" prefix on many function names.
* Remove obvious comments from CMakeLists.txt files, and from else() and endif()s.
* Fix building boost for use in a DSO on linux.
* Remove some of the assumptions in the CMakeLists.txt files that windows had
to be the host platform when building windows binaries.
* Reduce the number of wxStrings being constructed at program load time via
static construction.
* Pass wxConfigBase* to all SaveSettings() and LoadSettings() functions so that
these functions are useful even when the wxConfigBase comes from another
source, as is the case in the KICAD_MANAGER_FRAME.
* Move the setting of the KIPRJMOD environment variable into class PROJECT,
so that it can be moved into a project variable soon, and out of FP_LIB_TABLE.
* Add the KIWAY_PLAYER which is associated with a particular PROJECT, and all
its child wxFrames and wxDialogs now have a Kiway() member function which
returns a KIWAY& that that window tree branch is in support of. This is like
wxWindows DNA in that child windows get this member with proper value at time
of construction.
* Anticipate some of the needs for milestones B) and C) and make code
adjustments now in an effort to reduce work in those milestones.
* No testing has been done for python scripting, since milestone C) has that
being largely reworked and re-thought-out.
2014-03-19 19:42:08 -05:00
Maciej Suminski
6a1d344541
Instant dragging (without prior selection).
2014-03-18 16:25:46 +01:00
Maciej Suminski
b6e3b3a3f9
Merged selection_tool branch.
2014-03-06 10:43:40 +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
235da6084b
SELECTION_TOOL emits event notifying about selecting/deselecting/clearing selection.
2014-02-27 17:27:58 +01:00
Maciej Suminski
e6598e9d41
Added VIEW::ToWorld( double ).
...
TOOL_EVENT message is supposed to contain string as parameter.
Added missing header for class_drawsegment.h (KiROUND).
Renamed SELECTION_TOOL::containsSelected() to SELECTION_TOOL::selectionContains().
2014-02-27 16:13:27 +01:00
Maciej Suminski
9ef713dfa8
Right click on an item when there is nothing selected - enables the context menu.
2014-02-07 20:44:34 +01:00
Maciej Suminski
3a15f5ad28
Initialized value to suppress Valgrind warnings.
2014-02-05 11:33:45 +01:00
Maciej Suminski
a9031edc0d
Grip margin is relative to the world's zoom.
2014-02-05 10:17:14 +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
82ca611ed3
SELECTION_TOOL::SELECTION::Clear made private, as there was no chance to call it outside the SELECTION_TOOL class.
2014-02-04 11:37:54 +01:00
Maciej Suminski
24ba75ba92
Minor change to clearing selection handling.
2014-01-31 14:52:01 +01:00
Maciej Suminski
a73e386505
Added a new tool event: TA_UNDO_REDO, sent after undo/redo operation is issued.
2014-01-30 11:18:58 +01:00
Maciej Suminski
d613da8b8d
Module texts are undo/redoable.
2013-12-19 10:10:42 +01:00
Maciej Suminski
fb78432367
Made pads & module texts unselectable
2013-12-18 16:26:21 +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
d8acd1c718
Moved Init() & Reset() from TOOL_INTERACTIVE to TOOL_BASE.
...
Added REASON enum for Reset() function, so tools will know why a reset occured.
Fixed SELECTION_TOOL (it was bailing out, when a new board was loaded and some items were still selected).
Added removal of VIEW_ITEM groups after changing layers and removing items.
2013-12-09 10:42:38 +01:00
Maciej Suminski
fc2d8e91c9
Changed selection rules (pads&modules can be selected depending on the 'modules front/back' visibility instead of corresponding copper layers).
...
Fixed comments.
2013-12-05 14:52:08 +01:00
Maciej Suminski
27c7eb5dce
The Selection Tool displays information about selected items. ClearSelection() made public.
2013-12-04 10:58:51 +01:00
Maciej Suminski
24a317ce28
The Selection Tool is always active. Removed entries for toolbar menu and hotkeys for the tool.
2013-12-03 17:11:22 +01:00
Maciej Suminski
7d788109fe
Merged upstream
2013-12-03 16:43:53 +01:00
Maciej Suminski
07a5774a1e
Renamed MOVE_TOOL to EDIT_TOOL.
2013-12-03 16:09:03 +01:00
Maciej Suminski
b582162cb5
Split rotate and flip operations into separate functions.
...
Added Properties action (display properties windows)
2013-12-03 15:57:09 +01:00
Maciej Suminski
2b0f3350e3
Fixed disappearance of selected items after GAL switching.
2013-12-02 11:34:07 +01:00
Maciej Suminski
3ce3d22b97
Moved the SELECTION_TOOL out of the KIGFX namespace.
2013-11-29 09:37:23 +01:00
Dick Hollenbeck
300a047ffe
more EDA_LIST_DIALOG usability enhancements, compiler warning, coding standards
2013-11-18 13:27:27 -06:00
Maciej Suminski
5249b1a6da
Renamed TOOL_MOUSE_BUTTONS constants to avoid name conflict with Windows MB_RIGHT constant.
2013-10-15 10:41:00 +02:00
Maciej Suminski
bc305859b2
Mainly case changes.
2013-10-14 20:40:36 +02:00
Maciej Suminski
0ac3e1fbf2
Namespace KiGfx->KIGFX.
...
template<> -> template <>
Some more reformatting according to uncrustify results.
2013-10-14 16:13:35 +02:00
Maciej Suminski
ff3c2bb66b
Worksheet is not selectable anymore.
2013-10-02 12:02:25 +02:00
Maciej Suminski
0b7305a823
Fixed reset for the selection tool.
2013-10-02 11:21:17 +02:00
Maciej Suminski
2ee858072f
Moved VIEW_GROUP creation to the selection tool. In this way selected items are always drawn on overlay, not only when dragged.
2013-10-02 10:21:05 +02:00
Maciej Sumiński
d895a90bdc
Fixed selection disambiguation menu for wx2.8
2013-09-29 21:23:45 +02:00
Maciej Suminski
35721397bd
Moved common actions to a separate file.
2013-09-27 20:52:34 +02:00
Maciej Suminski
6b74b5771a
Even more code comments and reformatting.
2013-09-27 18:51:21 +02:00
Maciej Suminski
3f320e4d68
Some more comments and code formatting.
2013-09-27 16:23:43 +02:00
Maciej Suminski
87b3f2e499
Added Init() to TOOL_INTERACTIVE, allowing to set up things that are needed to be initialized only once.
...
TOOL_ACTIONs can be run from CONTEXT_MENU after adding them.
Move tool actions are available to be run from CONTEXT_MENU displayed after right mouse button click on selected items.
Added some asserts to check the code.
2013-09-26 18:38:58 +02:00
Maciej Suminski
12b8714aff
Different way of handling CONTEXT_MENU in the selection tool. Removed some unnecessary lines.
2013-09-26 14:09:56 +02:00
Maciej Suminski
b39d562aea
Restored previous function names.
2013-09-20 16:32:11 +02:00
Maciej Suminski
c00533a150
Merged kicad-gal
2013-09-20 15:48:27 +02:00
Maciej Suminski
2c03bf4109
Removed TA_ActivateTool (now tools are invoked by sending TA_Action event, with the tool name as string parameter).
...
Developed TOOL_Action class & added ActionManager. Hot keys registered by tools are processed.
Selection & move tool can be invoked by a hot key.
2013-09-19 17:02:57 +02:00
Maciej Suminski
300c066b68
The last fix to selection rules.
2013-09-17 13:47:33 +02:00
Maciej Suminski
867067aa9c
Selection in high contrast mode selects only items that are shown as active.
2013-09-17 11:32:47 +02:00
Maciej Suminski
573f9841df
Better way of marking 'brightened' mode for items.
2013-09-16 11:00:59 +02:00
Maciej Suminski
86f520f76e
Sorted out headers.
2013-09-16 09:52:47 +02:00
Maciej Suminski
4c2e3b9a59
Removed unnecessary debug message
2013-09-13 15:05:57 +02:00
Maciej Suminski
8f5e6badc4
Removed selection disambiguation in case when there is a choice between a footprint and a smaller component (smaller components have priority).
2013-09-12 10:46:22 +02:00
Maciej Suminski
382c6bd201
Move tool is activated when drag event starts nearby selected items.
2013-09-12 10:24:23 +02:00
Maciej Suminski
d2c47a74f2
Parts of MODULEs are not selectable in multiple selection mode.
2013-09-09 10:10:02 +02:00
Maciej Suminski
d213a26057
Smarter selection algorithm (does not allow to select both whole MODULE and its parts at the same time).
...
Cancel event works better (selection box does not appear after cancelling the selection tool).
Removed blinking selection box effect.
Model is accessed in more appropriate way (getModel() method).
2013-09-06 16:04:12 +02:00
Maciej Suminski
44bafd1c8f
Improved selection rules. Added some comments to the selection tool.
2013-09-04 10:56:06 +02:00
Maciej Suminski
ee3f47ae51
Added autopanning to the selection tool.
2013-09-02 16:29:10 +02:00
Maciej Suminski
1057d5a5be
Changed reaction of SELECTION_TOOL to ToolCancel event (first event clears selection, second one deactivates the tool).
2013-08-22 15:05:37 +02:00
Maciej Suminski
89a138c09e
Added handling keyboard events for the Tool framework.
2013-08-21 17:37:27 +02:00
Maciej Suminski
9bd7ba36ac
Added resetting of tools after loading a new board.
2013-08-15 10:20:49 +02:00
Maciej Suminski
6af09fedda
Added the additive mode for the selection area.
2013-08-09 10:18:48 +02:00
Maciej Suminski
2cb6e59dfd
Multiple items selection tool.
2013-08-08 19:42:19 +02:00
Maciej Suminski
80901c69cf
Reformatting.
2013-08-08 19:41:20 +02:00
Maciej Suminski
282995eaee
Fixed disambiguation menu issue.
2013-08-08 14:50:32 +02:00
Maciej Suminski
402f3c6f2c
Added brightened mode for selecting items using disambiguation menu.
2013-08-08 12:30:00 +02:00
Maciej Suminski
16437e5d45
Added general purpose overlay layer and moved selection box to it.
2013-08-08 11:43:56 +02:00
Maciej Suminski
7d5a456344
Code reformatting.
2013-08-06 10:30:09 +02:00
Maciej Suminski
f193e389ec
Moved highlighted flag from VIEW_ITEM to EDA_ITEM. Added brightened and selected flag to EDA_ITEM.
2013-08-06 09:31:08 +02:00
tomasz.
69a44d5f13
pcbnew: hooked Tool Framework into the edit panel. Added a sample selection tool (not fully functional).
2013-08-02 16:53:50 +02:00