Commit Graph

3396 Commits

Author SHA1 Message Date
jean-pierre charras 99427a86cd Fix a double minor bug about layers occupied by SMD pads and CONN pad:
The default layer stack between these 2 types was swaped in pad definition, and also in the dialog pad properties.
This double swap creates no bug, but creates bugs in the footprint wizards (SMD or CONN pads do not have the right layer stack)
FYI, the CONN pad type should be removed soon.
2014-06-30 20:14:06 +02:00
jean-pierre charras cba2109b44 Enable technical layers when starting Pcbnew with no board.
Use format 4.6 (full resolution of Pcbnew) in Gerber files to avoid the creation of self-intersecting polygons.
2014-06-30 17:46:47 +02:00
Dick Hollenbeck e5f6238490 fix export_gencad.cpp 2014-06-30 10:03:20 -05:00
jean-pierre charras b8d82d94fc Gerber output: Some changes after evaluation of Gerber files by Ucamco (the manager of GERBER format):
* default file ext is now .gbr (the "official extension")
* some outdated commands remoded.
* mainly use mm and 4.5 format instead of inches and 3.4 format. this is mandatory,
  because the 3.4 format (comming from old pcbned internal units) creates truncations in coordinates.
  (with serious issues in polygons which can appear self-intersecting afer truncation)
2014-06-30 12:00:21 +02:00
Dick Hollenbeck b51d85d218 merge 2014-06-30 01:44:46 -05:00
Dick Hollenbeck 633f546ea1 merge 2014-06-30 00:46:18 -05:00
Dick Hollenbeck 1601db07bd fix VIA::IsOnLayer() 2014-06-29 23:40:16 -05:00
Dick Hollenbeck 6bb6128b24 fix pcb_parser for new board, coding standards 2014-06-29 16:50:06 -05:00
Dick Hollenbeck b725b18bfa fix LSET() constructors, formatting 2014-06-29 15:33:29 -05:00
Dick Hollenbeck fbe455c1c1 re-work the LSET(int,...) constructor 2014-06-29 13:09:32 -05:00
Dick Hollenbeck 576783dbbb class_marker IsOnLayer() 2014-06-29 08:12:30 -05:00
Dick Hollenbeck a7db812c21 LAYER_ID work 2014-06-29 08:05:51 -05:00
jean-pierre charras 4a825e8dcc Make gerbview compilable and working (does not use now layers and layer masks from Pcbnew).
Export to Pcbnew is broken, but it is a very rarely used feature. It will be fixed later.
2014-06-27 19:07:42 +02:00
Dick Hollenbeck ddffb23fb3 use LSET::any() whereever possible and avoid conversion to integral type 2014-06-25 12:01:50 -05:00
Dick Hollenbeck b32b9dee8a copyright 2014-06-25 09:24:02 -05:00
Dick Hollenbeck ff81fc7c60 1) Fix compiles using wx 3.x and 2.8.
2) Fix passing wxString to common/config_params so lookup keys 
   can be dynamically generated.  This gives ~/.kicad files all the colors.
3) Fix LEGACY_PLUGIN so it loads all layer types and masks properly.
4) Extend the table in router/pns_index.h to 128 from 64.
2014-06-24 23:36:02 -05:00
Dick Hollenbeck afac2c5f8a fix zones 2014-06-24 13:30:39 -05:00
jean-pierre charras 4787918fac Make dialog pns properties resizable. DXF import: add very basic polyline import. 2014-06-24 20:04:16 +02:00
Dick Hollenbeck 8fad0a9ea6 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 f20a875ee9 Dragging items by their origin is optional (activated by dragging elements with Ctrl held). 2014-06-23 16:12:59 +02:00
Kirill Mavreshko fb30c47123 Fixes bug #1332438: PNS router crashes when you another track while routing in "shove" mode 2014-06-23 08:50:53 +02:00
jean-pierre charras fad894e31a Fix compil issue with KICAD_SCRIPTING_WXPYTHON option ON.
Minor enhancements.
2014-06-20 19:29:35 +02:00
jean-pierre charras a0e04a7a20 Remove 2 global variables: g_DrawBgColor and g_ShowPageLimits.
They are now member of EDA_DRAW_FRAME.
This change could fix Bug #1330781 (Background color change in Eeschema affects background color in Pcbnew)
Show page limits has meaning only for the schematic editor,  the board editor and the page layout editor.
Draw background color selection exists only in eeschema and  page layout editor.
In pcbnew, only a black background is allowed.
A side effect is now the user should set the background color in schematic editor, and the library editor (2 different options).
The default is still the white color.
2014-06-20 13:13:04 +02:00
unknown cd7143c5b7 Gerber X2 patch (Support for the "file function" attribute) from Thiadmer Riemersma, committed in rev 4948: minor fix for better compatibility with older versions of Pcbnew 2014-06-19 09:12:48 +02:00
jean-pierre charras 552a413c01 Pcbnew, python console: make it not dockable (workaround to avoid the fact accelerator keys which are used in the main menu are not sent to the console, in docked mode).
Minor cosmetic enhancement.
2014-06-19 08:26:53 +02:00
jean-pierre charras 655b1de0f4 Pcbnew, python console: make it not dockable (workaround to avoid the fact hot keys which are used in the main menu are not sent to the console, in docked mode)
Minor cosmetic enhancement.
2014-06-18 18:33:16 +02:00
jean-pierre charras d2390f13d7 better management of Python console. 2014-06-18 13:44:17 +02:00
jean-pierre charras cbd98327dc Minor cosmetic enhancement, and try to fix an issue with accelerator keys and the Python scripting console 2014-06-17 20:31:27 +02:00
Dick Hollenbeck 88e12fabaa fix some bugs in FOOTPRINT_VIEWER_FRAME, get rid of statics 2014-06-16 14:00:26 -05:00
jean-pierre charras 7e2fbc9e10 Fix specctra export crash, when a non copper zone was found on the board to export. 2014-06-16 14:04:55 +02:00
unknown 1459f8bfb1 Apply vrml_layer_pth, from Cirilo Bernardo 2014-06-16 14:02:15 +02:00
jean-pierre charras 0d454578f2 Fix a bug in ClassOf which crashes Pcbnew when its argument is NULL. It fixes bug #1329364. 2014-06-12 22:03:57 +02:00
Lorenzo Marcantonio 09ab4d57d0 Fixes #1186269
- Refactored the common part of cursor key movement and crosshair update
  in the various GeneralControl
- Add x10 movement with the keyboard (CTRL modifier)
- Avoid fixup of the cursor position by dummy mouse movements generated
  by cursor warping (original analysis and idea Chris Gibson)
- Do key handling in a way to permit sub-pixel cursor movement
2014-06-12 18:12:14 +02:00
Dick Hollenbeck 6675ae64cf refinements 2014-06-11 00:57:26 -05:00
Dick Hollenbeck a015fa53e6 Save the footprint editor's last footprint in the PROJECT RString facility. 2014-06-11 00:18:41 -05:00
Dick Hollenbeck e2360155a6 *) Remove more wxString static constructors which were crashing in PAGE_INFO assignment
to a new BOARD in the footprint editor.  This is PAGE_INFO::A4 and company.
   
*) Remove static storage of the BOARD in the module editor.
2014-06-11 00:00:30 -05:00
jean-pierre charras 869792f88d Plot SVG: fix issue with arcs (bug #1328155 ) both in Pcbnew and Eeschema. 2014-06-10 18:21:38 +02:00
Dick Hollenbeck c22ccaffc4 Remove class RETAINED_PATH, put is main member function into SEARCH_STACK.
Change class PROJECT to use a generalized wxString in place of the
RETAINED_PATH items, so that new session and project specific strings
of any purpose can be saved there, for the life of a session.
2014-06-10 10:56:43 -05:00
unknown 583fe1d524 VRML export rewritten 2014-06-08 12:35:42 +02:00
jean-pierre charras c4a0bf2b2d Page layout editor: fix bad initialization on startup, which can crash pl_editor when trying to edit an item.
Minor other fixes.
2014-06-07 18:20:23 +02:00
Maciej Suminski d3206d6883 Fixed layers switching in GAL. 2014-06-06 14:59:55 +02:00
Maciej Suminski a7c13a61c3 Removed an unused parameter from TOOL_BASE::getModel<T>() method. 2014-06-06 14:59:25 +02:00
jean-pierre charras 7d65b1e5e1 Pcbnew: fix an issue with very old .brd files. 2014-06-06 12:30:07 +02:00
Tomasz Wlostowski 5e4f412fd0 Clang-alike lightweight RTTI for pcbnew + type casting cleanup. 2014-06-06 11:44:21 +02:00
unknown 8f949caeb9 IDF tools: code cleanup and debugging 2014-06-05 20:37:04 +02:00
Bernhard Stegmaier 2bd17a5c8b Removed a few warnings. 2014-06-05 12:40:26 +02:00
Maciej Suminski c6a2eb6c9d Single items are dragged by their origin in GAL canvas. 2014-06-05 09:55:53 +02:00
Maciej Suminski eb449879b8 bugfix #1326155: pcbnew shows strange ratsnest lines in OpenGL mode. 2014-06-05 09:55:35 +02:00
Maciej Suminski 49b45b8ac5 Fixed: Modules become invisible after reloading a netlist, until GAL view is refreshed. 2014-06-05 09:54:47 +02:00
Maciej Suminski 35bc2efb61 Minor code cleaning. 2014-06-04 18:01:01 +02:00
Maciej Suminski 554c474cf0 Placing the grid origin is possible with GAL. 2014-06-04 17:46:43 +02:00
jean-pierre charras 13345822bc Fix some compil warnings and Debug assertions 2014-06-04 19:34:23 +02:00
Dick Hollenbeck 9e6eba96fd remove global g_UserLibDirBuffer which was a project specific global, and no longer used with FP_LIB_TABLE support. 2014-06-03 10:59:52 -05:00
Maciej Suminski c48435407e PNS router handles net class settings (dependent on the selected start item). 2014-06-03 16:09:27 +02:00
Maciej Suminski 3f577bd16c Improved ratsnest updating in GAL. 2014-06-03 16:08:23 +02:00
Maciej Suminski dc9e175ac0 bugfix #1325743: cvpcb crashes when opening any netlist. 2014-06-03 09:32:57 +02:00
jean-pierre charras 23398f9651 Minor fixes. 2014-06-02 18:16:06 +02:00
jean-pierre charras 5bb7f5c8d2 .kicad_mod files: always save the "last edited date" because only the footprint editor changes this parameter. Usefull to know if/when a footprint was actually modified.
Also fix a minor issue in footprint editor which always set the "modified" flag even when no change was made.
2014-06-02 12:46:29 +02:00
Maciej Suminski d2cca45511 bugfix 1325375: pcbnew crash while append a board 2014-06-02 11:41:54 +02:00
Tomasz Wlostowski e12654ac3d router: fix segfault on route-undo-route 2014-06-01 18:44:38 +02:00
jean-pierre charras 274b7ee845 Pcbnew: fix Bug #1325311 ("New Board" warning refusal broken) 2014-06-01 16:58:17 +02:00
jean-pierre charras 558a5a4948 Cosmetic enhancements: fix incorrect icons. 2014-05-31 17:49:15 +02:00
Maciej Suminski 27ebcf3325 PNS formatting code. 2014-05-31 16:04:25 +02:00
Maciej Suminski 3b54bb1614 Brighter colors for pad net labels. 2014-05-31 11:50:01 +02:00
Maciej Suminski f9d964b790 Fixed invisible buttons in PNS settings dialog (at least for some GTK themes). 2014-05-30 15:31:30 +02:00
jean-pierre charras 2c7da91b39 Pcbnew: fix a minor bug: in zones with no net, only the zone clerance was used to created clearence, regardless the pad or footprint local clerance.
Very minor other fixes.
2014-05-29 13:48:14 +02:00
Maciej Suminski bc8fe1cea1 bugfix 1324144: broken PNS dragging 2014-05-28 19:21:12 +02:00
Maciej Suminski 021474ab2a bugfix #1323135: PNS creates vias with giant holes. 2014-05-28 13:16:15 +02:00
jean-pierre charras 13431345cf Apply a workaround in 3D_draw.cpp to avoid crash in boost::polygon (try to fix Bug #1322804)
This workaround was already used (bzr 4301, in file plot_board_layers.cpp) also to avoid similar crashes (uses 18 segments instead of 16 to approximate a circle by segments).
Minor code cleanup in dialog_plot.
2014-05-26 08:54:04 +02:00
unknown 78801bfcb5 Fix kicad_plugin.cpp coding style fully broken by commit 4887 (patch from Orson, AKA maciej suminski). 2014-05-26 08:21:25 +02:00
Maciej Suminski 7f90e34e38 Bugfix #1322914: pcbnew crashes when opening a file 2014-05-25 17:36:24 +02:00
Tomasz Wlostowski 38ab6a8dc0 router: fix segfault when trying to shove a line that forms a closed loop. 2014-05-23 11:57:43 +02:00
Maciej Suminski 35fd6c9458 Ratsnest is computed for legacy boards in GAL view. 2014-05-22 19:34:28 +02:00
Maciej Suminski 68ada9e169 Fix for context menu hanging up in GAL. 2014-05-22 17:59:36 +02:00
Maciej Suminski 55b20ea70d Added missing changes required for updating footprints with the module editor. 2014-05-22 15:01:58 +02:00
Maciej Suminski 4d80e42219 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
Maciej Suminski 4474896713 The GAL view uses colors settings from the legacy canvas.
Minor refactoring of PAINTER & RENDER_SETTINGS classes.
2014-05-21 23:13:30 +02:00
Lorenzo Marcantonio 3604fae918 Replaced the display line clipper with the way simpler (and faster) Cohen-Sutherland one.
A couple of trivial accessors made inline
2014-05-21 19:02:32 +02:00
Dick Hollenbeck 943d1b7db8 fix bug lp:1319839 2014-05-21 01:06:52 -05:00
Maciej Suminski 3a41f8ed03 Fixes the bug that causes pcbnew crash, when there are multiple net classes and the plot dialog was opened.
Changed NETCLASS* to boost::shared_ptr<NETCLASS>.
2014-05-20 11:29:37 +02:00
Dick Hollenbeck d8ad00673b fix compiler warnings 2014-05-19 17:27:09 -05:00
jean-pierre charras 08843f5845 Pcbnew: plot dialog: remove obscure and useless option about texts which are not value or reference.
cosmetic enhancement in dialog.
page layout: fix bug Bug #1320839 (canvas refresh countinously called when moving an item)
2014-05-19 20:24:07 +02:00
Maciej Sumiński 522f18d847 Upstream merge. 2014-05-18 17:32:35 +02:00
Maciej Sumiński 467e9cb170 Merged the new Interactive Push and Shove router.
Do not pay attention to add/remove files - it seems there may be a bug in git-bzr-ng plugin. I have checked them, they stayed exactly the same as before.
2014-05-18 17:16:59 +02:00
jean-pierre charras 9b505817b7 Rework on DXF export. 2014-05-17 21:29:15 +02:00
Lorenzo Marcantonio 0c119ebab9 TRACK::GetTrack can now be told to confine search to the netlist and/or force the sequential (restartable) algorithm
Reworked the collinear track routines. Cleanup should be faster given the above modification.
2014-05-17 19:36:02 +02:00
jean-pierre charras ea9931bd05 Plot DXF: better generation of filled zone polygons. 2014-05-16 21:03:45 +02:00
Maciej Suminski c8311132da Removed header files from CMakeLists.txt. 2014-05-16 16:01:03 +02:00
Maciej Suminski c60698c24b Reformatted PNS code to conform the coding policy. 2014-05-16 13:37:31 +02:00
Maciej Suminski 319cb3e15c Minor BOARD_DESIGN_SETTINGS refactoring.
Removed SetCurrentClassName() (it was not used anywhere and less safe than SetCurrentClass()).
Added BOARD_DESIGN_SETTIGNS::GetDefault() to make some pieces of shorter and clearer.
2014-05-15 10:51:08 +02:00
Maciej Suminski b4df1618ed Scripting fix. 2014-05-15 10:11:17 +02:00
jean-pierre charras e23f2b7b7b DXF export: fix incorrect export of polygons having thick outline (like zones): Thick segments of outline were drawn like lines with no thickness.
Fix ( workaround only) crash (Windows only) when a quasi modal frame (like footprint viewer) was called from a dialog (like the component properties dialog in schematic editor).
Very minor other fixes.
2014-05-15 08:32:24 +02:00
Maciej Suminski 1a0054ea48 PNS router deselects all items when started. 2014-05-14 19:15:25 +02:00
Maciej Suminski fa5ddc068d Fixed freezing of GAL canvas if user chooses Cancel in the on close dialog.. 2014-05-14 19:04:21 +02:00
Maciej Suminski 6279f8b33d Undo/report support for track dragging (PNS). 2014-05-14 18:45:59 +02:00
Maciej Suminski 6f9ef9c20e PNS routing settings are stored between router invocations. 2014-05-14 16:53:49 +02:00
Maciej Suminski 84e4b8f04f PNS debug output is enabled with PNS_DEBUG define. 2014-05-14 16:40:56 +02:00
Maciej Suminski b59770e8ca TOOL_MANAGER is no longer static. Reworked autoregistration of TOOL_ACTIONs. 2014-05-14 16:29:53 +02:00
Maciej Suminski 01cde02ea2 Added missing dialog files for pcbnew. 2014-05-14 16:28:39 +02:00
Tomasz Włostowski 541222752a Long-awaited new version of the P&S router 2014-05-14 15:53:54 +02:00