Commit Graph

2071 Commits

Author SHA1 Message Date
jean-pierre charras 020a0ae477 All: Fix crash on close Kicad, when a quasi modal dialog is open, and Kicad is closed from the Kicad project manager. 2014-08-29 19:49:49 +02:00
jean-pierre charras 3d83434275 Very minor fixes. 2014-08-29 08:47:05 +02:00
jean-pierre charras d8c3ccb424 Pcbnew, Eeschema: release lock file when these editors are closed (Until now, the lock file was released when the full Kicad application was closed, not when the editor was closed).
Should fix Bug #1360470  and Bug #1359502 .
2014-08-26 12:54:22 +02:00
jean-pierre charras 858e222ea7 all: fix Bug #1361233 (a template.pro copy file overwrite silently the current project file when a group info is not found, which is a bug, because this group could be just a new group, not yet used) 2014-08-26 09:40:31 +02:00
Wayne Stambaugh 0b69ed3a5c Fix Eeschema sheet issues. Should close out bug lp:593782
* Refresh canvas when user cancels edits so that the discarded sheet is
  cleared from the schematic.
* Add file name validation to the sheet properties dialog to prevent
  illegal file name characters from being entered into the text control.
* Rename FOOTPRINT_NAME_VALIDATOR to FILE_NAME_CHAR_VALIDATOR for clarity.
2014-08-24 18:49:31 -04: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
jean-pierre charras a26449b3ef 3d-viewer: code cleaning; bitmap2component: minor fix and code cleanup 2014-08-22 12:24:14 +02:00
Dick Hollenbeck 49538cafb9 https://lists.launchpad.net/kicad-developers/msg14286.html 2014-08-17 18:00:49 -05:00
Dick Hollenbeck 7e483f69bd Modular KiCad Blueprint Milestone B), major portions:
*) When kicad.exe closes a project, close any open KIFACEs so that they cannot
     get disassociated from their true PROJECT.
  *) Allow loading eeschema library editor from kicad.exe
  *) Allow loading pcbnew library editor from kicad.exe
  *) Rename LIB_COMPONENT to LIB_PART.
  *) Add class PART_LIBS, and PART_LIB.
  *) Make PART_LIBS non-global, i.e. PROJECT specific.
  *) Implement "data on demand" for PART_LIBS
  *) Implement "data on demand" for schematic SEARCH_STACK.
  *) Use RSTRINGs to retain eeschema editor's notion of last library and part being edited.
  *) Get rid of library search on every SCH_COMPONENT::Draw() call, instead use
     a weak pointer.
  *) Remove all chdir() calls so projects don't need to be CWD.
  *) Romove APPEND support from OpenProjectFiles().
  *) Make OpenProjectFiles() robust, even for creating new projects.
  *) Load EESCHEMA colors in the KIWAY::OnKiwayStart() rather in window open,
     and save them in the .eeschema config file, not in the project file.
  *) Fix bug with wxDir() while accessing protected dirs in kicad.exe
  *) Consolidate template copying into PROJECT class, not in kicad.exe source.
  *) Generally untangle eeschema, making its libraries not global but rather
     held in the PROJECT.
2014-08-13 15:28:54 -05:00
unknown c8d69f19c8 Pcbnew: add drc test for texts on copper layer (only in full drc test, not in on line drc), from a patch sent by Simon Schumann
Add EDA_TEXT::TransformTextShapeToSegmentList function to export a list of segments used to draw/plot the text.
2014-08-13 17:47:02 +02:00
Andrew Zonenberg afd89c358e 1) EDA_DRAW_FRAME::m_showOriginAxis is never initialized in the constructor
2) LIB_RECTANGLE and related classes sscanf data read from a file using "%s"
without field limits, which can cause problems with malformed/really long
inputs.

3) If some of the optional fields in a lib line are missing, "tmp" can remain
uninitialized.
2014-08-12 09:39:44 -05:00
unknown 84a985f8af Pcbnew: Commit patch (with very minor changes) about SVG file export with the layers ordered from bottom to top. ( bug 1286646 ), from Thiadmer Riemersma. 2014-08-10 16:15:02 +02:00
Maciej Suminski 490a73b62a Fixed filled arcs drawing (GAL). 2014-08-06 13:51:46 +02:00
unknown 2f0ffdc7b5 3d-viewer: fix compil warning, by Mario Luzeiro, with some coding style fixes.
common.cpp: remove useless  warning on wxWidgets < 3.0 about --with-gtkprint build option: on  wxWidgets < 3.0 on Linux the print function does not work even with this build option.
2014-08-05 11:39:42 +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
jean-pierre charras 1540368422 Minor fixes and changes:
Remove a minor warning message in Debug mode for 2 dialogs.
Pcbnew: update Gerber X2 file format (File Attribute) to very last X2 specification
Eeschema: Fix a minor bug in block selection (sometimes the last selected component was select instead of items in selected area)
and better drag behavior when draging an item by the drag hotkey.
2014-07-29 18:38:27 +02:00
jean-pierre charras 37757b5283 * Fix Bug #1348607 and a possible crash in libedit dialog component properties after moving up the first user field (which in not possible now).
* better info message in pcbnew when trying to delete a footprint in legacy library
2014-07-25 19:49:14 +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 4fc4ea6147 Make some system error messages not translatable. Better comments in some dialogs. 2014-07-23 12:48:30 +02:00
jean-pierre charras cab7e67b59 fix Bug #1345193: Drill Map coordinates alway 0 when using Gerber format (due to a missing plotter initialization). 2014-07-21 11:42:36 +02:00
Maciej Suminski a57f7ae8cd Fix OpenGL canvas freeze under Windows. 2014-07-20 21:14:42 +02:00
Maciej Suminski aad359fcf9 Fixed Mac OS build. 2014-07-20 20:58:33 +02:00
jean-pierre charras 2196ed21c9 Apply a workaround to fix a wxWidgets bug in versions 3.0.x relative to mouse wheel event (Windows specific).
Therefore wxWidgets 3.0.1 can be used without need to patch it.
(This bug is fixed in wxWidgets 3.1)
2014-07-20 17:23:48 +02:00
jean-pierre charras 4c77724134 Very minor fixes. *.kicad_pcb files update to current Pcbnew version. 2014-07-20 12:41:14 +02:00
Dick Hollenbeck 6da86c12de KIWAY::player_destroy_handler() skips on the wxWindowDestroyEvent, just in case 2014-07-17 09:10:15 -05:00
Maciej Suminski a525c890fb Alternative way to handle mouse buttons (GAL). 2014-07-15 17:34:53 +02:00
Dick Hollenbeck c5e14ef180 wxJoin version dependency change 2014-07-14 10:03:51 -05:00
Maciej Suminski 91e9df59d4 Fixed layers order after changing the active layer. 2014-07-14 11:36:34 +02:00
jean-pierre charras 7d1c1f3085 Gerber files generation: fix a rounding issue when drawing circles. (explains bug Bug #1339086 ).
Gerbview: allows x.7 format (recently indroduced in Gerber format)
Also minor coding style fixes.
2014-07-14 09:36:37 +02:00
Maciej Suminski 14cfd173e6 Fixed the Module viewer crash when there is no footprint loaded. 2014-07-09 16:57:01 +02:00
Maciej Suminski ff30ced4f4 Cursor position is frozen when a context menu is displayed (GAL). 2014-07-09 16:50:31 +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 c0a96141df Added AF_NOTIFY flag for TOOL_ACTIONs. 2014-07-09 15:10:32 +02:00
Maciej Suminski 7614b93bf8 Tool indicator is resetted on canvas switch. 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 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 b076f3fe4e Fixed grid drawing when the grid origin has negative coordinates. 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 95a4f61eee wxWidgets 2.8 compatibility fix. 2014-07-09 14:23:13 +02:00
Maciej Suminski 456eeaba10 Routines for handling clipboard with TOOL_MANAGER. 2014-07-09 14:01:07 +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 f8f6fd41ad Introduced a new type of action: TA_ACTIVATE to distinguish events activating tools from common tool actions. 2014-07-09 13:50:27 +02:00
Maciej Suminski 5703b7e8bf Implemented stacking for TOOL_STATEs. 2014-07-09 13:50:27 +02:00
Maciej Suminski 5f806cfa18 Minor fixes to the Tool Framework. 2014-07-09 13:50:27 +02:00
Maciej Suminski f7ecc749f6 Restored std::map in TOOL_MANAGER. 2014-07-09 13:50:27 +02:00
Maciej Suminski dfc052d537 Added an alternative way to reach tools in the Tool Framework. 2014-07-09 11:59:24 +02:00
Maciej Suminski 8a5fedb728 Code formatting and cleaning. 2014-07-09 11:22:43 +02:00
Maciej Suminski 7645ed8601 Grid offset is recomputed only when settings are changed. 2014-07-09 11:22:43 +02:00
Maciej Suminski 5134781a38 GAL view in pad properties dialog - initial version. 2014-07-09 11:22:43 +02:00
Maciej Suminski 2f7706e8cd Reduced number of switched events, allowing to use VIEW_CONTROLS, even if there is no extra event dispatcher. 2014-07-09 11:22:43 +02:00
Maciej Suminski 0fc93666c6 Rework to support multiple views with OpenGL GAL canvas. 2014-07-09 11:22:42 +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 13e67e1f3c Fixed VIEW::SetViewport(). 2014-07-09 11:22:42 +02:00
Maciej Suminski a68165d2a0 Minor changes (removed an unnecessary event handler and two function calls that had no real influence). 2014-07-09 10:57:32 +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
Maciej Suminski 2f6c5f3156 Removed EDA_DRAW_FRAME::SetGalCanvasActive() [it may be misleading], added EDA_DRAW_PANEL_GAL::GetBackend(). 2014-07-09 10:34:00 +02:00
Dick Hollenbeck acbe6290c5 switch back to original sexpr usage of PTREE, add new DSNLEXER constructor, enforce accessors in kicad.exe 2014-07-07 14:49:14 -05:00
Maciej Suminski 0304598a71 Fixed vertical alignment for strings that contain a newline character at the end (GAL). 2014-07-07 13:09:44 +02:00
Dick Hollenbeck 84a14c3a51 back annotation when CVPCB and EESCHEMA are running under KICAD 2014-07-06 23:12:04 -05:00
Dick Hollenbeck d6a8696a99 typo on B_CrtYd, F_CrtYd, B_Fab, F_Fab 2014-07-06 11:59:26 -05:00
Dick Hollenbeck 611592029f fix Inner1.Cu in pcb_parser.cpp, start cvpcb work. 2014-07-05 15:42:59 -05:00
jean-pierre charras 9a7116d4ab Update old demo board files. Minor code cleaning. 2014-07-04 21:36:43 +02:00
jean-pierre charras ab58dbfced Pcbnew: Rework on Gerber ouput: allows choice between format 4.5 and 4.6. Fix a minor issue in Gerber layers attributes.
fix print issue when printing each layer on a separate page.
2014-07-04 16:22:38 +02:00
Lorenzo Marcantonio 89f14906a4 - Added the courtyard/fabrication layer to the layer combo and layer
panel
- Corrected handling of scrollability in layer panel (fixes 1336996)
2014-07-04 10:55:51 +02:00
jean-pierre charras 8a1fd49377 Minor fixes in Gerber files, in file attribute for copper layers. 2014-07-01 21:20:38 +02:00
jean-pierre charras a543f99eb3 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
jean-pierre charras b50872edca 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 1e7495e634 merge 2014-06-30 00:46:18 -05:00
Dick Hollenbeck 06bf0821b9 fix LSET() constructors, formatting 2014-06-29 15:33:29 -05:00
Dick Hollenbeck add4d5eb6f re-work the LSET(int,...) constructor 2014-06-29 13:09:32 -05:00
Dick Hollenbeck ad750defb6 LAYER_ID work 2014-06-29 08:05:51 -05:00
jean-pierre charras 013296cb1a 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 8b6c569aef copyright 2014-06-25 09:24:02 -05:00
Dick Hollenbeck b920fa00a5 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 b76d0c533b add lset.cpp 2014-06-24 13:31:41 -05:00
jean-pierre charras 96b6e1a5cb Make dialog pns properties resizable. DXF import: add very basic polyline import. 2014-06-24 20:04:16 +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
jean-pierre charras 4cd4990bc2 Fix compil issue with KICAD_SCRIPTING_WXPYTHON option ON.
Minor enhancements.
2014-06-20 19:29:35 +02:00
jean-pierre charras 7c99a242cf 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
Lorenzo Marcantonio 94d78047e3 Fixes 1332429 2014-06-20 10:55:30 +02:00
jean-pierre charras 9ee8dac056 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
Bernhard Stegmaier b22aba2010 Fixes 2014-06-16 11:42:27 -05:00
Lorenzo Marcantonio bb79ec84bc In KIFACE_I::end_common save the 'common' configuration variables loaded in KIFACE_I::begin_common (the background color and the page border flag) 2014-06-12 20:34:16 +02:00
Lorenzo Marcantonio bee6b9f9b7 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
Jean-Samuel Reynaud 00e18d2144 pcbnew crashed on start compiled with KICAD_SCRIPTING_WXPYTHON=ON 2014-06-12 08:57:00 -05:00
Dick Hollenbeck 3d311f831e *) 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 737ef50cc0 Plot SVG: fix issue with arcs (bug #1328155 ) both in Pcbnew and Eeschema. 2014-06-10 18:21:38 +02:00
Dick Hollenbeck 8cb3423262 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
Bernhard Stegmaier 60a86853ec Removed a few warnings. 2014-06-05 12:40:26 +02:00
Maciej Suminski 35e343597b Grid in GAL takes into account grid offset. 2014-06-04 17:56:44 +02:00
jean-pierre charras e140f79aba Fix some compil warnings and Debug assertions. 2014-06-04 20:48:49 +02:00
jean-pierre charras f76041e956 Fix some compil warnings and Debug assertions 2014-06-04 19:34:23 +02:00
Dick Hollenbeck 431675933a 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 b1a19b1225 Setting proper tool for submenus of CONTEXT_MENU class. 2014-05-31 16:04:10 +02:00
Maciej Suminski 0e69277074 Fix for vertical/horizontal (using Ctrl/Shift + mousewheel) panning in GAL canvas. 2014-05-31 11:48:27 +02:00
jean-pierre charras 771ac33c80 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