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
Maciej Suminski
517bfa3570
Minor code cleaning.
2014-06-04 18:01:01 +02:00
Maciej Suminski
0d734e8841
Placing the grid origin is possible with GAL.
2014-06-04 17:46:43 +02:00
Maciej Suminski
dd1fcd0588
Fix for context menu hanging up in GAL.
2014-05-22 17:59:36 +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
Dick Hollenbeck
f49e9a285f
fix compiler warnings
2014-05-19 17:27:09 -05:00
Maciej Suminski
def53707d5
TOOL_MANAGER is no longer static. Reworked autoregistration of TOOL_ACTIONs.
2014-05-14 16:29:53 +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
562beafcde
Fixed modification point for EDIT_TOOL when the tool is not active.
2014-05-13 11:22:51 +02:00
Maciej Suminski
cd8aaee160
Moved most of the board design rules related fields & methods to BOARD_DESIGN_SETTINGS class.
2014-05-13 11:22:51 +02:00
Maciej Suminski
917e47397d
Custom track/via size settings nicely cooperate with other options.
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
2f5103bc67
Fixed jumpy zoom when hotkeys and scroll wheel were used alternatively.
2014-05-13 11:22:51 +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
d6fd8b2e23
Upstream merge.
2014-05-12 17:17: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
3f8d9da31f
Key events are handled by wxEVT_CHAR instead of wxEVT_KEY_[UP|DOWN]. Fixed issue of chars that require modifiers (e.g. ? is Shift+/ on US keyboard layout).
2014-04-09 17:33:22 +02:00
Maciej Suminski
50b202fe99
Hot keys specific to a tool have priority over global hot keys (TOOL_ACTION scope: AS_GLOBAL/AS_CONTEXT is finally handled properly).
2014-04-09 17:05:05 +02:00
Maciej Suminski
e6fd3934d1
Fixed ratsnest update after removing items.
2014-04-09 16:57:22 +02:00
Maciej Suminski
c5b65e1ec4
Fixed outline breaking for zones (points were not always created in the double click point).
2014-04-07 14:30:38 +02:00
Maciej Suminski
cc445391e9
Items that may be modified using EDIT_POINTs used to stay selected after pressing ESC (only EDIT_POINTs got away) - fixed.
2014-04-07 13:59:27 +02:00
Maciej Suminski
a6917280fe
Added net highlighting.
2014-04-04 17:40:00 +02:00
Maciej Suminski
14687a45a7
Fixed occasional crashes on undo/redo while dragging.
2014-04-04 12:56:50 +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
4c5afc46af
Added possibility of switching tools by the right toolbar buttons, without deactivating the current tool first (previously tools did not switch if there was one active).
2014-04-04 11:50:15 +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
5de41eabd1
Added EC_SNAPLINE to make possible snapping EDIT_LINES by their ends rather than by its center.
2014-04-02 15:57:21 +02:00
Maciej Suminski
23392ce8c9
Upstream merge.
2014-04-02 15:38:59 +02:00
Maciej Suminski
1828edbabe
Refactoring EDIT_POINTS, part 3: constraints split to EDIT_POINTs and EDIT_LINEs.
2014-04-02 09:31:35 +02:00
Maciej Suminski
0379247fd4
Refactoring EDIT_POINTS, part 2: replaced index numbers with constants.
2014-04-01 17:41:24 +02:00
Maciej Suminski
6b90eb3a64
Refactoring EDIT_POINTS, part 1: separated functions that operate on EDIT_POINTS and EDIT_LINES.
2014-04-01 17:18:43 +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
79d353671b
Fixed autopanning for POINT_EDITOR.
2014-04-01 14:13:00 +02:00
Maciej Suminski
a55d25803e
Activation of any drawing/placement tool clears current selection.
2014-04-01 14:06:19 +02:00
Maciej Suminski
1fa49ce7f0
Fixed drifting for items dragged using EDIT_TOOL.
2014-04-01 13:30:31 +02:00
Maciej Suminski
39bca76df7
>Added handled hotkeys:
...
- resetting relative coordinates
- switching units
- not official: changing transparency for layers (works only for main layers, does not work on vias/pads/etc.)
2014-03-24 18:28:21 +01:00
Maciej Suminski
60e9546b62
PCB_EDIT_FRAME::SetHighContrastLayer() went public.
...
Refactored code that handled zooming events.
Added PCB_RENDER_SETTINGS::Get/SetSketchMode().
PCBNEW_CONTROL reacts to hot keys changing display modes (sketch via/tracks, high contrast).
2014-03-24 17:20:23 +01:00
Maciej Suminski
dc9298730d
Added PCBNEW_CONTROLS for handling miscellaneous hot keys (trying to be compatible with the default hot key settings). Currently there are a lot of stubs to be filled out (in pcbnew_controls.cpp).
...
Handled actions:
- switching layers
- switching grids
- changing track width & via size
2014-03-24 08:45:05 +01:00
Maciej Suminski
c7116e9d03
FIxed too late deletion of TOOLs.
2014-03-21 17:55:46 +01:00
Maciej Suminski
0694f2fa1c
TOOL_EVENTs autoregister themselves in ACTION_MANAGER.
...
ROUTER_TOOL events have temporarily changed their hotkeys assignment.
2014-03-21 10:40:50 +01: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
093e311a8d
Fixed a few ratsnest glitches in GAL.
2014-03-19 15:33:13 +01:00
Maciej Suminski
c11b0bc8a6
Break points for zones are not added in the same place as existing points.
2014-03-18 17:02:10 +01:00
Maciej Suminski
e6a7ff3c34
Isolated EDIT_CONSTRAINTs to different .cpp/.h files.
2014-03-18 16:55:06 +01:00
Maciej Suminski
6a1d344541
Instant dragging (without prior selection).
2014-03-18 16:25:46 +01:00
Maciej Suminski
9783aaf3e6
Splitting DRAWSEGMENTs with POINT_EDITOR.
2014-03-18 15:46:38 +01:00
Maciej Suminski
17ec7ace4c
Breaking outlines for zones using POINT_EDITOR.
2014-03-18 14:52:22 +01:00
Maciej Suminski
dbcc18ab31
Enabled autopanning while drawing zones.
2014-03-18 14:01:09 +01:00
Maciej Suminski
342fd6e19e
EC_CONVERGING handles colinear lines properly.
2014-03-18 13:57:10 +01:00
Maciej Suminski
4d6f628a1f
Minor fixes to zone drawing tool.
2014-03-18 11:33:49 +01:00
Maciej Suminski
1ff99b47c8
Fixed triple click bug while drawing zones with DRAWING_TOOL.
2014-03-18 11:09:43 +01:00
Maciej Suminski
48161dcc4a
Yet another approach to EC_LINE and EC_CONVERGING edit constraints.
2014-03-18 11:05:24 +01:00
Maciej Suminski
f6959c039c
Comments.
2014-03-18 11:04:52 +01:00
unknown
b436924380
Warning removal, patches from Camille 019
2014-03-16 18:40:23 +01:00
Maciej Suminski
40ee66f8c5
ZONE_CONTAINERs are drawn as outlines while being edited using the POINT_EDITOR.
2014-03-14 16:05:30 +01:00
Maciej Suminski
19a87ac780
Added EC_CONVERGING for zone areas modification.
2014-03-14 15:37:55 +01:00
Maciej Suminski
d6c1670cd7
Templated EDIT_POINT_CONSTRAINT.
...
Removed EDIT_CONSTRAINT::Update() - replaced with resetting constraints.
EDIT_CONSTRAINT is stored in EDIT_POIN using boost::shared_ptr instead of pointer.
Added EDIT_LINE::GetEnd() & GetOrigin(). Overridden ApplyConstraint() for EDIT_LINE.
Side EDIT_POINTS for zones are drawn as circles.
2014-03-14 15:15:38 +01:00
Maciej Suminski
85e8b8bd87
Yet another approach to 45 degree constraints.
2014-03-13 11:48:19 +01:00
Maciej Suminski
f9d5f584cb
Fixed 45 degree mode toggle.
2014-03-12 17:50:24 +01:00
Maciej Suminski
e5b0c720ed
Switched order of EDIT_POINTs for DIMENSION, so in case when feature lines are of 0 length, then still can be stretched.
2014-03-12 10:53:42 +01:00
Maciej Suminski
e6571f6862
Added new constraint for EDIT_POINTs (EPC_LINE).
...
Dimensions have EDIT_POINTs.
Different handling of 45 degree mode in POINT_EDITOR.
2014-03-12 10:46:11 +01:00
Maciej Suminski
54bf21768c
Added a few settings to make the layer settings more similar to KiCad defaults (moved vias to VIA_THROUGH_VISIBLE, added a few rules for required layers).
2014-03-11 10:58:58 +01:00
Maciej Suminski
5ac6579a87
Cursor snaps to EDIT_POINTs.
...
Added POINT_EDITOR::isModified().
2014-03-10 16:25:40 +01:00
Maciej Suminski
3927c667cc
Added documentation. Moved some functions from .h to .cpp files.
2014-03-07 10:26:33 +01:00
Maciej Suminski
88a0311afe
Added EDIT_LINEs for dragging zone outlines.
2014-03-06 17:34:04 +01:00
Maciej Suminski
8c43c216bb
45 degrees mode for POINT_EDITOR.
2014-03-06 14:41:25 +01:00
Maciej Suminski
2889a7a13a
Undo/redo support for POINT_EDITOR.
2014-03-06 12:36:20 +01:00
Maciej Suminski
f72aec25c0
Auto zone refilling after using the POINT_EDITOR.
...
Minor code cleaning.
2014-03-06 11:49:08 +01:00
Maciej Suminski
b6e3b3a3f9
Merged selection_tool branch.
2014-03-06 10:43:40 +01:00
Maciej Suminski
24c9b705a3
Zones are supported by POINT_EDITOR.
2014-02-28 18:24:29 +01:00
Maciej Suminski
d1ffaf0deb
Circles are supported by POINT_EDITOR.
2014-02-28 18:24:13 +01:00
Maciej Suminski
3c656691cf
Fixed POINT_EDITOR crash on GAL change / board reload.
2014-02-28 17:20:10 +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
94cfed4b9e
Initial version of POINT_EDITOR.
2014-02-27 17:29:08 +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
a42a83a394
Minor changes to BRIGHT_BOX class.
2014-02-25 18:08:33 +01:00
Maciej Suminski
1c253bfba0
Some variables initialized to NULL.
2014-02-24 11:17:49 +01:00
Maciej Suminski
87785441bc
Removed some excessive variables.
2014-02-19 15:20:42 +01:00
Maciej Suminski
57c69b41db
Continous mode for drawing tools (i.e. they do not finish after adding a single object).
2014-02-19 13:51:32 +01:00
Maciej Suminski
a802ca87e0
Added TOOL_ACTION for PNS router activation.
...
Most of the GAL tools are activated by corresponding buttons on the right toolbar.
Removed menu entry for PNS router (as it is activated as the usual "Add track" tool).
2014-02-17 18:21:00 +01:00
Maciej Suminski
e14d9aaf8f
Fixed wrongly formulated assert.
2014-02-17 17:20:44 +01:00
Maciej Suminski
05de84d542
Undo/redo support.
2014-02-17 14:53:01 +01:00
Maciej Suminski
f82e07849b
Improved way of drawing 45-degree lines.
2014-02-17 11:33:03 +01:00
Maciej Suminski
c1c8f54e8b
Added a few asserts. Made some steps idiotproof.
2014-02-14 15:52:13 +01:00
Maciej Suminski
9d3f7230ee
New items are created using pointers (instead of copying automatic variables when drawing is finished).
2014-02-14 15:13:42 +01:00
Maciej Suminski
b1fb59ad13
Refactorization: moved drawing 45 degree multiple line to a function.
2014-02-14 14:24:12 +01:00
Maciej Suminski
a7cb90deb8
Some more minor refactorization.
2014-02-14 11:35:48 +01:00
Maciej Suminski
b7d4377621
Refactoring: zones and keepout areas are drawn using the same function.
2014-02-14 10:47:43 +01:00
Maciej Suminski
2b62a85263
Refactoring: made VIEW, VIEW_CONTROLS, BOARD and PCB_EDIT_FRAME fields in DRAWING_TOOL.
2014-02-14 09:49:49 +01:00
Maciej Suminski
597e98dbf4
Cursor is in world coordinates.
2014-02-13 20:23:28 +01:00
Maciej Suminski
3106d25361
Added keepout areas drawing tool.
2014-02-13 16:24:33 +01:00
Maciej Suminski
fce753ba24
Added zone drawing tool.
2014-02-13 16:10:32 +01:00
Maciej Suminski
45c5a3de7f
Placing modules with a minor bug.
2014-02-13 12:46:39 +01:00
Maciej Suminski
87d3458ea9
Added PCB_TARGET placing tool.
2014-02-11 17:15:33 +01:00
Maciej Suminski
ae5fa23285
Added DIMENSION drawing tool.
2014-02-11 14:38:44 +01:00
Maciej Suminski
2aef11a5fc
Made rotate & flip tool actions generic.
...
Drawing tool reacts to rotate & flip events while placing a text.
2014-02-10 17:08:55 +01:00
Maciej Suminski
4b27778451
Basic text placing tool.
2014-02-10 15:40:25 +01:00
Maciej Suminski
02316e02c3
Drawing arcs - version 1
2014-02-10 10:58:58 +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
45f55fb8c5
Actually added files for drawing tools. Added possibility of drawing circles.
2014-02-06 17:12:37 +01:00
Maciej Suminski
b21ce73c37
Initial version of the drawing tool.
2014-02-06 15:09:38 +01:00
Maciej Suminski
3a15f5ad28
Initialized value to suppress Valgrind warnings.
2014-02-05 11:33:45 +01:00