112 Commits

Author SHA1 Message Date
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