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
Maciej Suminski
17c030aa98
Fixed removal of items in the KiCad-default style.
2014-02-05 11:08:34 +01:00
Maciej Suminski
a9031edc0d
Grip margin is relative to the world's zoom.
2014-02-05 10:17:14 +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
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
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
bc71a2c007
Removed TOOL_STATE.idle field, as it was redundant.
2014-01-07 14:11:53 +01:00
Maciej Suminski
537d82fb98
Upstream merge.
2014-01-06 10:29:31 +01:00
Dick Hollenbeck
517ca83fbc
Hide m_galCanvas and m_galCanvasActive behind accessors. Fix DLIST concatonation API corner case.
2013-12-26 16:36:43 -06:00
Maciej Suminski
fe5c5953fc
Upstream merge.
2013-12-20 10:15:00 +01:00
Maciej Suminski
84c496e138
Upstream merge
2013-12-19 11:15:27 +01:00
Maciej Suminski
d613da8b8d
Module texts are undo/redoable.
2013-12-19 10:10:42 +01:00
Maciej Suminski
7ce91d4e38
Fixed zone area removal (& undoing) using the EDIT_TOOL.
2013-12-18 17:16:15 +01:00
Maciej Suminski
fb78432367
Made pads & module texts unselectable
2013-12-18 16:26:21 +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
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
bec2e9b178
Added some comments & asserts.
2013-12-03 15:17:43 +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
Maciej Suminski
af976b2d36
Automatic unregistration of tool actions during ACTION_MANAGER destruction.
2013-11-28 15:24:19 +01:00
Maciej Suminski
c6efc451e6
Added ratsnest for GAL
2013-11-25 16:50:03 +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
5235d7e5eb
Modified error handling for OpenGL backend, now error messages should be visible.
2013-11-11 10:48:49 +01:00
Wayne Stambaugh
fe54ceacab
Fix debug builds on wxWidgets 2.8.
2013-11-03 13:15:46 -05: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
54946f46f7
Fixed memory leak caused by ViewUpdate() with VIEW_ITEM::GEOMETRY/LAYER parameters.
2013-10-02 13:57:21 +02:00
Maciej Suminski
ff3c2bb66b
Worksheet is not selectable anymore.
2013-10-02 12:02:25 +02:00
Maciej Suminski
460dcfc621
Removed SELECTION layer.
2013-10-02 11:39:08 +02:00
Maciej Suminski
24af7490bb
Added missing ViewUpdate flag
2013-10-02 11:25:04 +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 Suminski
e013f3e8c2
Comments, refactoring
2013-10-01 10:21:32 +02:00
Maciej Sumiński
d895a90bdc
Fixed selection disambiguation menu for wx2.8
2013-09-29 21:23:45 +02:00
Maciej Sumiński
e1290101aa
Fixed strings for wxWidgets 2.8
2013-09-29 12:57:20 +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
c4ad58f2a8
Added rotate & flip to the pcbnew.InteractiveMove tool, hotkeys for them and undoing all the operations on cancelling the tool.
2013-09-24 15:49:43 +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
d4d801204f
Added cursor for the move tool
2013-09-20 15:01:08 +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
9ec4520c45
Added missing files
2013-09-18 19:51: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
82fe1a4972
Merged Tom's branch
2013-09-12 17:42:28 +02:00
Maciej Suminski
bfdad27893
Fixed rollback of traces movement.
2013-09-12 10:54:11 +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
d13355f7fe
Removed some potential memory leaks.
2013-09-11 19:37:52 +02:00
Maciej Suminski
f179183dea
Removed some dead code.
2013-09-11 16:38:40 +02:00
Maciej Suminski
c5d3376c26
Changed some 'magic numbers' into constants. Added const modifier in appropriate spots.
2013-09-11 11:34:10 +02:00
tomasz.wlostowski@cern.ch
9eb3916852
Merged kicad-gal-orson
2013-09-10 19:32:19 +02:00
tomasz.wlostowski@cern.ch
fa817b7475
pcbnew: start integrating P&S router
2013-09-10 19:26:44 +02:00
Maciej Suminski
5e3ab406e2
Enabled snapping for the move tool.
2013-09-09 11:45:20 +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
31f7ecc16a
First version of the move tool.
2013-09-09 09:34:52 +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
424aa28e1f
Added SELECTION_TOOL::GetSelection()
2013-08-30 10:23:18 +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
d73d153665
Added selection boxes for texts.
2013-08-09 15:04:10 +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
12e10fd43a
Reformatting.
2013-08-08 14:59:59 +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.
31389c4063
pcbnew: tool initialization should belong to PCB_EDIT_FRAME to avoid linking errors on cvpcb.
2013-08-02 17:25:53 +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