Commit Graph

362 Commits

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