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