Commit Graph

2411 Commits

Author SHA1 Message Date
jean-pierre charras 38069048fd Still fix very minor issues in dialog_edit_module_for_BoardEditor.cpp 2013-03-04 17:57:24 +01:00
jean-pierre charras 9fda651595 Still fix minor issues in dialog_edit_module_for_BoardEditor.cpp (noticeable only for non English users) 2013-03-04 17:39:08 +01:00
Wayne Stambaugh cb13ae57bc Minor Pcbnew dialog spacing and consistency fixes. (fixes lp:1143465)
* Fix spacing and consistency issues and debug warning due to improper flex
  grid sizer in module editor module properties dialog.
* Fix spacing and consistency issues in Pcbnew module properties dialog.
* Fix spelling error in DRC dialog message box text.
2013-03-04 11:04:53 -05:00
jean-pierre charras 6a45d30715 Pcbnew: fix strange things in module edit dialogs. 2013-03-04 13:08:35 +01:00
Andrey Fedorushkov a43f24617d pcbnew: fix build in linux gcc-4.5.2 2013-03-02 20:32:05 +04:00
jean-pierre charras f11a148d2d Eeschema: fix broken mirroring for texts and labels in block mirror X and Y (this fixes Bug #1135505)
Pcbnew: add in module popup menu an option to edit the footprint in Modedit (like in Eeschema for components)
minor icons enhancements.
2013-03-01 20:59:29 +01:00
Dick Hollenbeck 8ea3cd1cb5 Debug build fix 2013-02-28 22:20:29 -06:00
Dick Hollenbeck 62979ae06d parse *.kicad_pcb files with numeric net_names 2013-02-28 10:17:24 -06:00
Dick Hollenbeck 5e998288d6 specctra_export to handle Edge Cuts graphics in modules 2013-02-27 09:54:29 -06:00
jean-pierre charras 02c1ec5efc Minor fixes and cleanup 2013-02-26 12:25:30 +01:00
jean-pierre charras 78a6ba31d8 Fix Bug #1132416. Minor update in templates. 2013-02-24 18:31:18 +01:00
Wayne Stambaugh 36ba9a7309 Add build option to use footprint library table. 2013-02-23 14:30:43 -05:00
Anton Blanchard 7ee129b21a Fixes segfault in Pcbnew module editor when clicking delete tool where there is no object. 2013-02-22 18:29:44 -05:00
Wayne Stambaugh 5bfd330692 Minor dialog and footprint ID class fixes.
* Make Pcbnew net list dialog honor escape key on Linux.
* Make Pcbnew swap layers dialog honor escape key on Linux.
* Layout and UI policy fixes for Pcbnew swap layer and net list dialogs.
* Layout and UI policy fixes for Eeschema plot dialog.
* Rename fpip.h to fpid.h.
* Fix FPID class compiler errors.
* Restore fpid.cpp to Pcbnew static library source list.
2013-02-22 15:03:00 -05:00
Dick Hollenbeck 49125d1a7d wxID_CANCEL, 5 pixel border around sizers, resizable search combobox, dialog_shim usage on a few dialogs 2013-02-22 07:47:35 -06:00
jean-pierre charras 6050ef41a9 Pcbnew: Very minor fix in plot dialog. 2013-02-22 09:04:15 +01:00
jean-pierre charras da20e80de6 Pcbnew: plot Dialog: add a popup menu (try mouse right click in plot dialog) to selected/unselect groups of layers to plot.
All: For new zoom centering option: use Shift+Ctrl key instead of Alt key to select the new zoom centering, because Alt key has a special function under Windows.
2 very minor other changes.
2013-02-21 21:53:50 +01:00
Wayne Stambaugh 490c8d856e Minor dialog spacing, grammar, and sizer fixes. 2013-02-19 14:43:48 -05:00
jean-pierre charras 897a5b8de6 Pcbnew: Export vrml: fix an issue for 3D shapes having a local offset defined: the local offset was not correctly scaled. 2013-02-19 10:21:55 +01:00
Wayne Stambaugh 155cb4f158 Minor dialog spacing, grammar, and UI policy fixes. 2013-02-18 15:14:53 -05:00
Emmeran 445cf5860a Adds zooming method for zooming relative to the crosshair instead of centering
the crosshair after zooming.

This method is only used when the ALT key is held while using the mousewheel or
if it's permanently enabled in the options dialog next to the middle mouse
button panning option.
2013-02-18 09:57:39 -06:00
Dick Hollenbeck 6cb1bae032 fp lib table work 2013-02-15 19:09:53 -06:00
Dick Hollenbeck c0c9d667cd typos and tooltip 2013-02-15 18:13:35 -06:00
Antia Puentes df8826240f Commit patch from Antia Puentes relative to bug Bug #1125047 : PcbNew: Insert a footprint in the board, from the Library Browser, by double clicking on it, with a change to avoid the button release event (from the double click) to be seen by the main window. 2013-02-14 22:20:56 +01:00
unknown 5dda4f95a6 MacOSX: now autoplace is drawn correctly 2013-02-14 20:57:19 +01:00
jean-pierre charras 69bdc16751 Pcbnew: Pcad2kicad: remove dead code. 2013-02-13 18:19:46 +01:00
Wayne Stambaugh 403a1a7e1f Fix bug caused by setting default drill size in D_PAD (fixes lp:1123392).
* Add check for pad type and force drill size to zero if pad is surface
  mount in PCB_PARSER.
* Modify the D_PAD SetAttribute method to clear drill size if pad type is
  set to surface mount.
2013-02-12 20:01:22 -05:00
Dick Hollenbeck cf481d2fc4 fix compiler warnings on gcc 4.6.3, Debug build 2013-02-12 11:41:13 -06:00
Emmeran c3e3fc4dba converted linux to dos file endings for wxfb files 2013-02-12 05:30:28 +01:00
Emmeran 254ad1b26b moved changes to dialogs into fbp files 2013-02-12 05:18:22 +01:00
Wayne Stambaugh e43fab7c01 Pcbnew pad properties dialog assertion and layout fixes.
* Fixed spacing issue in pad properties dialog.
* Remove wxSHAPED flag from pad drawing panel to prevent assertion in
  wxSizer.
* Used sane default pad size and drill size settings to prevent wxRound
  assertions.
* Add license to class_board_design_settings.cpp.
2013-02-11 20:07:04 -05:00
Wayne Stambaugh 96d7ac7c6a Configuration and compile documentation improvements.
* Improve the stable and testing build version option logic.
* Use CMake FindPythonInterp to configure the Python interpreter.
* Use Python interpreter to determine the system Python module install
  path if not already defined on the command line.
* Add header symbol checks for asinh(), acosh(), and atanh().
* Add test source to check for isinf() which can be defined as a C++template.
* Replace conditional compile on windows systems for aXXXh() with CMake
  configuration tests.
* A few minor MSVC compile fixes.
* Fix incorrect python environment string in fixswigimports.py
* Create a separate document for KiCad CMake build options.
* Create a separate how to compile KiCad on Windows document.
2013-02-10 19:41:49 -05:00
jean-pierre charras dad83c9004 Pcbnew: Try to find a better workaround for zone fiill bug (crash or bad fil areasl in very rare cases).
pcbnew+Eeschema: Fix a very minor bug: filename not displayed in frame reference.
2013-02-09 21:03:20 +01:00
Wayne Stambaugh c6444b7d05 Improve zone context menu descriptions, fixes lp:1116483 2013-02-07 12:56:41 -05:00
jean-pierre charras 6b81b6931f Pcbnew: rework on connection calculation: fix an issue for "composite" pads (complex pad build by association of some basic pads):
sometimes connections where not seen.
2013-02-07 18:40:50 +01:00
Jacobo Aragunde Perez b391fb3faf Commit patch for bug 1116059 (Inconsistency between confirmation dialogs) 2013-02-07 18:35:37 +01:00
Dick Hollenbeck 2649c38bf7 plotter output file being left open fix. 2013-02-06 09:21:37 -06:00
jean-pierre charras 05189f9ff5 Eeschema, Libedit: fixes color artifacts when moving/placing a pin.
Very minor other fixes.
2013-02-06 12:54:51 +01:00
Emmeran d2ed926077 added option to allow zooming around the crosshair instead of the center; can be enabled via options or by holding alt while using the mousewheel 2013-02-02 20:10:48 +01:00
jean-pierre charras c0b3ad8253 Changes for CvPcb to eeschema stuff file: the stuff file generation from CvPcb is removed. Eeschema now imports footprints names from the .cmp usual file created by CvPcb or by Pcbnew (Why to use 2 file formats for the same thing?) .
Pcbnew: in netlist dialog: The user now can choose between the netlist and the .cmp file to import footprints names.
Therfore no need to delete the .cmp file when exists to use only the netlist.
This is useful for users who use CvPcb only once to fill footprints fields in schematic, and after edit/modify the footprints fields in schematic outside CvPcb.
2013-02-02 18:39:59 +01:00
jean-pierre charras 0f06a927ff Pcbnew: Workaround to fix a crash when filling zone in Pcbnew nanometers (see Bug #1106451 ). Also happens with one of my boards.
Could be a bug inside boost::polygon. This is a workaround, because one never knows if this kind of bug is fixed.
However it fixes this issue for the 2 boards.
2013-01-27 14:54:43 +01:00
jean-pierre charras 1f4ca54938 Pcbnew: fix a very old bug in DRC, pad to pad drc tests: sometimes a test between a rectangular pad and an oval pad was skipped.
Segment Hit Test: enhanced detection near segment ends (noticeable for instance when clicking on short tracks in Pcbnew.
Remove duplicate code about segment hit test.
remove unused file.
2013-01-26 18:49:48 +01:00
jean-pierre charras 720e3e9272 Eeschema: fix a bug which crashes Eeschema (when a label is being created, and its type is changed by popup menu, for instance to a text, before it was put on schematic)
remove unused file and minor coding style fix
2013-01-25 18:29:54 +01:00
Dick Hollenbeck 744d875838 fix intermittent build problem involving out of sequence python invocation 2013-01-23 10:35:40 -06:00
Dick Hollenbeck 59d2523c49 fix compiler warnings with gcc 4.6.3 on x86_64 linux 2013-01-23 10:13:42 -06:00
Dick Hollenbeck 8f45c7d27e merge in branch fp-lib-table 2013-01-20 21:27:01 -06:00
Dick Hollenbeck 3518b18351 more fp lib table work 2013-01-20 21:12:16 -06:00
jean-pierre charras 6dea106650 Pcbnew: fix a minor bug I created in rev 3912.
Still try to find a better fix for Bug #1100876, however I am thinking the bug is not in Kicad:
looks like a buggy version of wxWidgets is used, which sends sometimes an unwanted wxCommandEvent event,
when an event::Check() is called inside a function called by a  wxUpdateUIEvent event.
2013-01-19 16:01:17 +01:00
jean-pierre charras 123a29d126 Pcbnew: Fix Bug #1097345 <module editor "change body item width (current)" does nothing.> 2013-01-19 13:58:54 +01:00
jean-pierre charras 9a8383de24 Pcbnew: fix bug Bug #1101399 (Custom page size gets reset after restarting pcbnew) (bug also in eeschema)
Try to find a better fix for Bug #1100876
2013-01-19 10:58:25 +01:00
jean-pierre charras 2453201d7b Try to fix Bug #1100876< Modes (track/footprint) not available.>
It could be a race condition when setting the tools state on and off in PCB_EDIT_FRAME::OnSelectAutoPlaceMode( wxCommandEvent& aEvent ) on some Linux/wxWidgets versions
(does not happen on my computer)
2013-01-18 15:12:57 +01:00
jean-pierre charras 8b8f5d45c9 Pcbnew: fix a minor bug: shape 3D filename not displayed in msg panel when clicking on a footprint. 2013-01-17 18:34:03 +01:00
jean-pierre charras 9891e2d986 Scripting: fix erroneous extension for Sexp board files
Make scripting version compilable on platforms where the python executable is not python2 (define it by -DPYTHON_EXECUTABLE=<python executable filename>)
2013-01-16 13:38:30 +01:00
jean-pierre charras 24b23e2383 Pcbnew: store in configuration the default line width (now in mm), under a new keyword, to avoid a strange behavior of pcbnew in decimils version (old pcbnew versions), after running pcbnew in nanometers. 2013-01-15 10:31:11 +01:00
jean-pierre charras 1454880fb7 Kicad manager: fix a recent bug: project tree not updated when kicad is launched by a command line with a project name to open.
pcbnew: export vrml:
* move dialog functions in a new file: dialog_export_vrml.cpp.
* fix coding style issues
* patch add from cirilo Bernardo.
2013-01-13 17:55:07 +01:00
Dick Hollenbeck c6a712dec3 pcbnew/CMakeLists.txt formatting and librt fix 2013-01-12 18:34:16 -06:00
Heikki Pulkkinen 2c888b86f5 protect data in class_track.h, switch to using member accessors 2013-01-12 18:04:00 -06:00
Wayne Stambaugh 7481dcf520 Base object decoupling improvements.
* Improve MSG_PANEL_ITEM to handle message panel information.
* Create containers for passing message panel items between objects and
  the message panel.
* Rename EDA_ITEM::DisplayInfo to EDA_ITEM::GetMsgPanelInfo.
* Remove all direct manipulation of EDA_DRAW_FRAME from all objects derived
  from EDA_ITEM.
2013-01-12 12:32:24 -05:00
jean-pierre charras 435a34cd60 3D viewer: allows import of models created with openscad and convertedvia meshconv to wrl (thanks to Georg Gast <georg@schorsch-tech.de>)
Export VRML: fix scaling issue for pcbnew - nanometers.
2013-01-12 11:35:08 +01:00
Miguel Angel Ajo 23ffcf8f89 MacOSX compilation fixes 2013-01-10 23:10:05 +01:00
jean-pierre charras b8fce6a8e1 EDA_LIST_DIALOG: add a filter option to select names to display is list, from a kamil zorychta's patch <kamil.zorychta@gmail.com>
Use wxFormBuilder to create EDA_LIST_DIALOG_BASE, like other dialogs.
Minor code cleanup (remove unused functions and coding style fixes) and minor bug fixes.
2013-01-10 13:18:43 +01:00
Wayne Stambaugh 523e7eb397 Pcbnew BOARD object encapsulation improvements. 2013-01-09 13:52:44 -05:00
jean-pierre charras 30a3668779 Pcbnew: Enhancement in connections calculations:
Until now, 2 tracks were seen as connected only if one end of the first track is *exactly* on one end of the other track.
Now the 2 ends are seen as connected when they are "near" i.e. the distance between the 2 ends is < track width/2
2013-01-08 18:58:06 +01:00
jean-pierre charras d95ea479c4 Pcbnew: Fix unwanted selection clarification popmenu in board editor after double clicking on a DRC Unconnected error
(For DRC clearance error, it was fixed  in bzr 3838, but forgotten for DRC Unconnected error)
2013-01-07 21:52:15 +01:00
jean-pierre charras baf18a6379 Pcbnew: Fix Bug #1096766 ( Can't create filled zones after keepout zones) 2013-01-07 08:46:01 +01:00
Dick Hollenbeck de823996b5 when linking a DSO, require all symbols to be resolved 2013-01-04 17:02:10 -06:00
jean-pierre charras 936974f12c Pcbnew: fix link issue (undefined Read_GPCB_Descr symbol) in scripting mode. 2013-01-04 23:00:05 +01:00
Jacobo Aragunde Perez 0c88507dcf Prevent Pcbnew from opening the same file twice. 2013-01-04 18:47:59 +01:00
Wayne Stambaugh f1eea58b6b Remove unused Geda footprint import source code file. 2013-01-03 16:51:26 -05:00
Wayne Stambaugh 49f2206ef0 Doxygen warning fixes. 2013-01-03 15:21:40 -05:00
Dick Hollenbeck 9843e0c436 add eagle *.lbr lib path extension for future use 2013-01-03 10:33:22 -06:00
jean-pierre charras 7c5d2ab029 Kicad: Fix compil issue under Linux, and minor code cleaning, about wxFileWatcher 2013-01-02 22:49:56 +01:00
Dick Hollenbeck 8092d98ea3 1) Implement EAGLE_PLUGIN::FootprintLoad(), FootprintEnumerate(), and IsFootprintWritable().
2) Add PCAD_PLUGIN to _pcbnew.so for scripting, fixing a linking bug.
2013-01-01 22:05:48 -06:00
Wayne Stambaugh 1ebe2c8728 Fix Pcbnew s-expr file parser bug. 2012-12-30 10:40:05 -05:00
Alexander Lunef 6b6d9706bd Pcbnew: Add pcad2kicad pcb plugin, to import PCAD boards ( .pcb ASCII data file PCad 2000 format ) from Alexander Lunef 2012-12-29 10:54:25 +01:00
Wayne Stambaugh 1b57a79636 Add Pcbnew GEDA PCB module plugin support.
* Create new GEDA PCB plug in.
* Add support for opening GEDA PCB footprints with module editor.
* Make import footprint file dialog remember last selected footprint
  type during current session.
* Update module editor file import to use new GEDA PCB plug in.
* Let IO_MGR know about GEDA PCB plug in.
* Create a WHITESPACE_FILTER_READER to simplify parsing GEDA PCB footprint
  files.
2012-12-28 15:52:12 -05:00
jean-pierre charras 1118ef8f19 Pcbnew: board editor: allows pad edition by hotkey 'E' (was accessible only by mouse button right click)
All: minor code cleaning and very minor bug fixes.
2012-12-27 17:42:41 +01:00
unknown ef3f42dfab MacOSX: fixing possible crash 2012-12-23 11:55:24 +01:00
unknown 6f018668c2 MacOSX: refresh overlay with new-deleted objects 2012-12-23 11:53:54 +01:00
jean-pierre charras 7ea9f8ddcc Pcbnew: Rework on recovery files menu 2012-12-21 08:58:51 +01:00
Dick Hollenbeck e4d9cb77fc extend fp_lib_table on multiple row paste 2012-12-20 23:29:40 -06:00
jean-pierre charras 7eee33a6a0 Pcbnew: fix issue when loading a recovery backup board file.
Because now there are 2 formats, board backup files extensions are .brd-bak or .kicad_pcb-bak instead of the old .000 extension, depending on the initial file format.
2012-12-20 21:20:56 +01:00
jean-pierre charras 3bbafe14f5 Pcbnew: fix bug: missing call to SetFileFormatVersionAtLoad after loading a board, in legacy format. 2012-12-20 19:05:18 +01:00
Dick Hollenbeck 1dc048662b fix a fairly serious bug which would leave SOLDERMASK_LAYER_FRONT layer turned off in PADs, when loading *.kicad_pcb files 2012-12-20 00:56:17 -06:00
jean-pierre charras 7546651a30 Pcbnew: class DIMENSION: code cleaning 2012-12-19 20:31:36 +01:00
jean-pierre charras 6d16131b03 Pcbnew: fix minor bugs. Fix bug 1091593 and 1091693 . Minor code cleaning 2012-12-18 18:50:00 +01:00
Wayne Stambaugh 7eb196b4d1 Doxygen warning fixes. 2012-12-18 08:54:44 -05:00
jean-pierre charras 1e8f7f7ba8 Pcbnew: allows pcbnew to open a .kicad_pcb or a .brd file, from the command line. 2012-12-16 14:48:54 +01:00
jean-pierre charras 0f8af51da6 Pcbnew: add a dialog to load a legacy file in "old" projects, when the .kicad_pcb file is not existing, and the correspoinding .brd file exists.
Fix also an issue in pcb_parser when a netclass name is just a number (like a track width as name)
2012-12-15 14:39:36 +01:00
Wayne Stambaugh 2538262531 Fix angle scaling error in Pcbnew s-expr file format parser. (fixes the arc bug part of lp:1090524) 2012-12-14 16:37:59 -05:00
Dick Hollenbeck 453a135a3e fix bug 2012-12-14 13:58:50 -06:00
Dick Hollenbeck 0cfa6d8097 fix pcbnew file save as problem, if previous file by same basename did not exist. Show default file ext. 2012-12-14 13:42:38 -06:00
jean-pierre charras 7e77f3b902 Kicad manager: shows *.kicad_pcb files the project tree. 2012-12-14 20:37:51 +01:00
Dick Hollenbeck 71d2467963 minor file save as fixes, move legacy header into its plugin 2012-12-14 12:14:28 -06:00
Dick Hollenbeck a6140c799d Switch over to *.kicad_pcb format as the default BOARD format.
Add KiCadPcbFileExt global.
2012-12-14 10:54:54 -06:00
jean-pierre charras cc45f4f212 Pcbnew: fix Bug #1089120. Also change "Length Die" expression to "Length Pad To Die" in code 2012-12-12 12:57:17 +01:00
Dick Hollenbeck d95710f8e0 allow . in layer names 2012-12-10 23:39:36 -06:00
Wayne Stambaugh b3703f1f91 Fix FreeRoute launcher Java executable path error on Windows (fixes lp:1087589) 2012-12-10 21:44:20 -05:00
jean-pierre charras 104d63fd7c Eeschema: Erc dialog: enhancement. Now not modal.
Pcbnew: Drc dialog: fix a old very minor bug.
Added: single click on an item in marker list moves the board  graphic cursor on the corresponding marker location on the board
Double clicking is not modified.
2012-12-10 20:08:09 +01:00
jean-pierre charras df994764a5 Pcbnew: Add a minimal test for illegal chars in footprints libname (like space and dir separtor)
Also a minor cosmetic enhancement
2012-12-10 12:18:42 +01:00
Dick Hollenbeck 764ef2dcc9 note that the clipboard format is spreadsheet compatible 2012-12-09 14:53:46 -06:00
Dick Hollenbeck 1dddc22a9b embellish fp_lib_table editor with beginnings of cut, copy, paste 2012-12-09 14:51:42 -06:00
Dick Hollenbeck ebac5c4a70 change spelling to jive with my email on developers list 2012-12-08 23:34:12 -06:00
Dick Hollenbeck 59a3715e40 more fp_lib_table work, enhance parser 2012-12-08 17:58:03 -06:00
jean-pierre charras eb370afe4a Eeschema: Add hotkey 'U' to edit reference. Better filtering for hotheys V, F, U: now the corresponding field is selected without selection list between component and the field. 2012-12-08 18:24:49 +01:00
jean-pierre charras fc06b1762f All: Fix an usually unwanted behavior in kicad: When closing a dialog (mainly ERC, DRC and recently a component selection by the library viewer on a double click) the mouse release left button event (which is seen by the parent after closing the dialog, becuse it is actually made in the parent) generate an unwanted command (item selection, component place ...)
This event can be now skipped if needed by calling  EDA_DRAW_FRAME::SkipNextLeftButtonReleaseEvent() from the dialog.
Very minor other fixes
2012-12-07 11:05:19 +01:00
jean-pierre charras a1fed86b28 Try to fix an unwanted left mouse release button event, when closing a dialog on a click or double click,
and therefore when the mouse butoon is released in the parent window
Minor other fixes.
2012-12-06 22:53:00 +01:00
unknown a96a265a7b MacOSX: fixes refresh of lines and outlines when drawing 2012-12-06 19:10:58 +01:00
Marco Mattila 8042d6f892 Update board modified state when (un)locking a module in pcbnew. 2012-12-06 12:13:19 +02:00
jean-pierre charras c4d874cdb1 Pcbnew: plot solder mask layer with min width value specified: algorithm modified to reduce artifacts. 2012-12-03 15:27:34 +01:00
jean-pierre charras 4e96cc4bbb Pcbnew: minor coding style fixes. Very minor fixes. Minor enhancements. Fix bug #1085523 2012-12-02 12:38:00 +01:00
jean-pierre charras 78f928544f Pcbnew: minor enhancements. 2012-12-01 21:03:33 +01:00
Heikki Pulkkinen f8020f4728 Pcbnew: commit patch from Heikki Pulkkinen (via displayed with its right size and clearance during track creation/edition) 2012-11-29 20:27:08 +01:00
Wayne Stambaugh 23bded5697 Pcbnew print fixes and improvements.
* Fix offset errors when scale factor greater is than one.
* Changed behavior of fit in page when not drawing border and
  title block to fit board outline in page.
* Fix offset errors when mirroring (still not 100% correct on MSW with
  wxWidgets 2.9.4).
* Lots of the usual code cleaning and simplifying.
2012-11-28 20:50:58 -05:00
jean-pierre charras 9df7292af6 Pcbvew: fix a strange bug which swap x and y values for pad offsets when reading a s expr *.kicad_pcb board file. 2012-11-28 19:04:57 +01:00
Dick Hollenbeck bcb05fbc14 merge in evolving fp lib_table work 2012-11-28 09:24:53 -06:00
Dick Hollenbeck 4acb97e02e reverse throw() clauses to quiet SWIG errors 2012-11-27 13:57:38 -06:00
Dick Hollenbeck 9577736788 start using FILE_LINE_READER( const wxString& ) 2012-11-27 08:14:15 -06:00
Dick Hollenbeck f7ec499ee9 Change READ_LINE classes to use less virtual functions, and READ_LINE::ReadLine() to return char*
which can eliminate a subsequent call to READ_LINE::Line() for a small performance gain.
2012-11-27 07:50:01 -06:00
Dick Hollenbeck a64e1b3397 Fix dangling open file introduced as recent workaround 2012-11-27 06:42:28 -06:00
unknown 63362c97f5 MacOSX: a strange bug with setvbuf in FILE_LINE_READER disalign the netlist reader. 2012-11-25 13:17:02 +01:00
unknown b07b214293 MacOSX: Crash in pcbnew during edit footprint and changing layer from dialog (Fixes: #764678) 2012-11-25 09:08:25 +01:00
unknown e368ae3230 MacOSX: now editing Text on PCBNEW works nicelly as expected. 2012-11-25 00:23:36 +01:00
unknown 9cf627a656 MacOSX: Fixes Crash when adding text on pcbnew (bug #891347) 2012-11-24 23:03:30 +01:00
Marco Mattila 5d383f1885 Fix saving of local thermal parameters in pcbnew legacy_plugin. 2012-11-24 18:02:10 +02:00
jean-pierre charras a2a44bb7ef Pcbnew: fix bug1082146 (Keep-out areas get destroyed by "export settings to other zones" )
Eeschema: fix bug 1082107 (error message" component not found" when no component selected from select component dialog box)
2012-11-23 10:10:37 +01:00
Dick Hollenbeck 8867bf262b Eliminate many assumptions in Pcbnew's library manager, pertaining to locality of libraries and
their type, by using the more abstract PLUGIN::Footprint*() functions.

This is an intermediate phase only, other changes will be necessary as library table support comes in.
Encapsulate usage of library path searching, since that will go away as library table support comes in.
Add FOOTPRINT_EDIT_FRAME::{get,set}LibPath() and FOOTPRINT_EDIT_FRAME::{get,set}LibNickName() functions
to provide this encapsulation.
2012-11-19 10:19:38 -06:00
jean-pierre charras 0543670734 Try to fix a compil issue with some wxWidget versions. 2012-11-19 15:32:34 +01:00
jean-pierre charras 9c66afb6fe Pcbnew: enhanced dialog for SVG export 2012-11-16 15:13:31 +01:00
Dick Hollenbeck 0dc8241605 Add *.kicad_mod as default import footprint extension. Turn on all Cu layers for thru hole pads in case loading non-wildcard s-expression footprint files. 2012-11-15 10:46:43 -06:00
Dick Hollenbeck 7ca5c4099e remove -std=c++0x compiler option since nobody is ready for it, and accordingly back into auto_ptr from unique_ptr 2012-11-15 10:04:10 -06:00
jean-pierre charras e40c8fa164 Pcbnew: fix incorrect filenames when plotting layers 2012-11-15 11:47:23 +01:00
Dick Hollenbeck f73e785662 1) Switch to boost hashtable support from wx macros which did not handle std::string.
This required the additional compiler command line option "-std=c++0x".

2) Switch to unique_ptr from auto_ptr which is C++ deprecated.

3) Change to new English layer names per mailing list discussion, see class_board.cpp.

4) When saving to *.kicad_pcb or *.kicad_mod, identify opportunities to use wildcard
   layer sets, for pads so far.

5) Switch to two std::string hashtables in pcb_parser.cpp, away from one wxString based one
   for layer names and layer sets mapping. One hashtable holds the mask, the other the index.
   Layer sets are only in the mask table.

6) Move "LOCALE_IO toggle" into PCB_IO::Format() since it is a public API function and
   caller should find it as convenient as possible to use.  LOCALE_IO should handle
   nesting OK in the case where public Format() is called from one of the Footprint*()
   functions.

7) Drop support for "export module to new library".  Creating new libraries will have to
   be handled in concert with library table entries, and we've talked recently about
   creating a better footprint library manager, one that resides in a DLL/DSO.  So
   this kind of functionality needs to be handled in there in the near future.

8) Change name of exported PCB_IO module/footprint to *.kicad_mod and not *.emp.
2012-11-14 01:15:59 -06:00
jean-pierre charras 1bb685cc57 pcbnew: fix minor issues.
pcb_calculator: fix a compil warning (gcc 4.7)
2012-11-12 17:19:10 +01:00
Dick Hollenbeck 5d4da5ede9 switch to new s-expression format for footprint exports, use english layernames for naked footprints, dodge conflict with pythons HAVE_GETC_UNLOCKED 2012-11-10 00:39:18 -06:00
Dick Hollenbeck fe295788e7 footprint save to use untranslated (English) layer names 2012-11-09 13:00:00 -06:00
Dick Hollenbeck f8b3eaedb5 populate PCB_PARSER::m_layerMap with English layernames so footprints
can be parsed, since they do not have an overriding layer name map
like a BOARD does.

Avoid doubly looking up hashtable entries in m_layerMap.

Minor code reformatting.
2012-11-09 00:58:00 -06:00
jean-pierre charras 28a35c9883 Pcbnew: Add a min width parameter to plot solder mask layers.
* If this param is set to 0, the previous behavior is used.
* Else the solder mask is plotted as polygon, with shapes near than  this min width value are  merged.
Pcbnew in nanometer version: fix a serious rounding issue due to the fact dialogs were using 4 digits for mantissa.
* This is not enough for nanometer coordinates ( 8 are needed to display a value in inches),
*  so sometimes after closing a dialog, some coordinates were modified, although no new value was entered.
Minor other bug fixed.
2012-11-06 18:58:53 +01:00
jean-pierre charras d8a6c7c1bf Add a min width parameter to plot solder mask layers. 2012-11-05 21:20:34 +01:00
Dick Hollenbeck 8bf57814a4 implement move up, move down in lib table editor 2012-10-31 09:41:47 -05:00
Dick Hollenbeck c2d4338024 remove unused #include <wxfstream.h> from several places 2012-10-29 16:56:18 -05:00
Marco Mattila 146adbf831 Do not force vias to be substracted from silkscreen in pcbnew gerber plot 2012-10-28 22:51:47 +02:00
Dick Hollenbeck 4b7c3010e0 switch from STREAM_OUTPUTFORMATTER to FILE_OUTPUTFORMATTER mostly throughout,and minor richio factoring 2012-10-25 10:41:20 -05:00
Dick Hollenbeck 4ce6362f4c streamline the FILE_OUTPUTFORMATTER API for ease of use 2012-10-25 02:10:59 -05:00
Dick Hollenbeck 5765ebef08 add class FILE_OUTPUTFORMATTER and use it in PCB_IO, since it is about 8-10 faster than STREAM_OUTPUTFORMATTER 2012-10-25 00:52:55 -05:00
Dick Hollenbeck a3eb501225 move wxString constructor outside loop for speed 2012-10-24 13:59:37 -05:00
Dick Hollenbeck 82706bf152 fix ownership issue in wxFFile vs. FILE_LINE_READER 2012-10-24 13:42:39 -05:00
Dick Hollenbeck 5e852ba1fd move PCB_PARSER into PCB_IO as a member 2012-10-24 13:20:33 -05:00
Dick Hollenbeck d49cdb2ded DSN_LEXER underneath PCB_PARSER does not own the LINE_READER it receives, fix memory leak 2012-10-24 12:38:10 -05:00
Wayne Stambaugh a8ad1f8097 Fix compile error against wxWidgets 2.8 brach. 2012-10-23 13:20:22 -04:00
Dick Hollenbeck d1e3bad24f pcbnew import footprint fixed for legacy nanometer format 2012-10-22 15:41:26 -05:00
jean-pierre charras 912d308b9d Kicad: bug fix in menubar when changing the selected locale.
fctsys.h: remove useless define.
Fix minor issues and add minor enhancements.
2012-10-18 21:31:40 +02:00
Dick Hollenbeck 0b71e4a98a more fp_lib_table work 2012-10-18 10:28:50 -05:00
Wayne Stambaugh 900bef9ccf Put KiCad on a diet to remove the uncessary slices of pi. (fixes 1066194) 2012-10-17 16:59:05 -04:00
Dick Hollenbeck 7106d1e605 more fp_lib_table work 2012-10-17 10:12:17 -05:00
jean-pierre charras 6840ec0d09 Fix a minor compatibility issue in .pro file for new boards, between decimils and nanometers versions of Pcbnew. 2012-10-17 12:57:21 +02:00
Dick Hollenbeck 0e8e811b14 decouple wxGridTableBase from FP_LIB_TABLE, this was poor information hiding 2012-10-16 20:00:25 -05:00
Dick Hollenbeck 3dc986bbf6 fp_lib_table dialog work 2012-10-16 01:56:57 -05:00
Dick Hollenbeck 395338f46a add dialog for fp_lib_table 2012-10-15 17:30:01 -05:00
Wayne Stambaugh 2c0619f69d Initial commit of footprint library table code. 2012-10-14 21:38:32 -04:00
jean-pierre charras 03128b7530 Eeschema: always stores sheet filename in unix-like notation, and fix a bug when editing sheet file name.
Pcbnew: add PDF format  for drill map generation.
Plotter classes: tweaking code.
2012-10-13 20:54:33 +02:00
Wayne Stambaugh 86b83ddbc9 Fix footprint library file extension bug in CvPcb and Pcbnew due to s-expression changes, fixes lp:1064593. 2012-10-09 15:18:12 -04:00
Dick Hollenbeck 3db19ba2eb eeschema erc dialog extends from DIALOG_SHIM 2012-10-08 14:34:04 -05:00
Wayne Stambaugh baee140518 Convert footpint library log functions to trace functions to reduce debug output. 2012-10-07 18:26:17 -04:00
Wayne Stambaugh bed29749f2 Pcbnew s-experssion footprint library implementation.
* Add footprint methods to PCB_IO.
* Add FP_CACHE and FP_CACHE_ITEM for handling new footprint library design.
* Add code to save legacy libraries in new format.
* Change behavior of BOARD_ITEM::GetLayerName() to return the default layer
  name when the item does not have a BOARD as a parent.
* Minor changes to the module output formatter when writing to module library
  files (no BOARD as parent).
* Add new (and some that I forgot along the way) CMake flags to
  EDA_BASE_FRAME::CopyVersionInfoToClipboard().
* Add -Wno-narrowing to GCC flags to stop GCC 4.7 from complaining about
  a conversion from int to unsigned in the Boost polygon library.
* Add INPUT_STREAM_READER to richio.cpp to allow using any object derived
  from wxInputStream as a LINE_READER (needs to be validated).
2012-10-07 11:37:25 -04:00
jean-pierre charras e57cbd3348 Dialog drill file: remove precision choice, because only one choice was acceptable
(the option with the smallest number of digits for coordinates created unacceptable truncation coordinates in Excellon drill files)
2012-10-05 21:04:17 +02:00
jean-pierre charras 2f788445a9 Pcbnew: drill files creation: better dialog to create driil files, map files and report file. Code cleaning 2012-10-05 14:25:12 +02:00
jean-pierre charras d4e55c69c1 Pcbnew: fix an issue when collecting vias (for instance when left clicking on a via, it was not always detected)
This bug was mainly noticeable when using buried vias (some were never detected)
Minor other fixes (typos, strings hard to translate ...)
2012-10-04 19:47:28 +02:00
jean-pierre charras d07351c8ba More dialogs derived from DIALO_SHIM 2012-10-04 08:57:15 +02:00
jean-pierre charras 2412caf494 Pcbnew: make all dialogs derived from DIALOG_SHIM. 2012-10-03 13:25:30 +02:00
jean-pierre charras a4b2a6537c Make scripting version compilable under Windows 2012-09-30 19:50:17 +02:00
unknown 0d7510c129 [MacOSX] Updated Icons - Document ones still missing :( 2012-09-27 19:20:44 +02:00
jean-pierre charras 30d41b33d1 Finishing code cleaning in plot functions. 2012-09-25 09:49:29 +02:00
jean-pierre charras 2ce06cfe08 Pcbnew: fix compil warning and a minor bug in plot negative (frame fer plotted in white therefore not visible).
minor code cleaning
2012-09-24 18:03:03 +02:00
jean-pierre charras 93cdfb566b Pcbnew, plot functions: fix bug in SVG plotter, fix a minor other bug when using PS plotter (trcak width fine adjust not working)
and plot code cleaning continued
2012-09-24 08:39:59 +02:00
jean-pierre charras f5643f2332 All: remove macros MAX, MIN, ABS from macros.h and replace these macros by std::max, std::min and std::abs (mainly found in old code). 2012-09-22 13:19:37 +02:00
Dick Hollenbeck 38e5d961f6 switch all <math.h> includes to <cmath> includes on an attempt to dodge some abiguous references to atan2() 2012-09-21 12:02:54 -05:00
jean-pierre charras 5be15bed82 Pcbnew: some code cleanup in plot functions. 2012-09-21 10:20:38 +02:00
jean-pierre charras deb6aa8cc5 Fix incorrect titles in SVG export dialog 2012-09-20 21:15:14 +02:00
jean-pierre charras 3b3e19ee8a dcsvg (and therefore KicadSVGFileDC) is now unused. Use SVG plotter only to export a board SVG file.
SVG export does not use no more wxWidgets wxDC.
In pcbnew SVG files can be created by plot menu (in B&W) or export SVG menu (B&W or Color).
Export SVG menu is more suitable to create a view of a board, and plot menu is better to create a B&W document of silkscreen layers.
(In the future, the 2 menus could be merged, because they are not very different).
Note: pcbnew plot code is cleaned, mainly in dialog files, but still needs more cleanup.
2012-09-20 20:58:41 +02:00
Craig Southeren abbc83bd51 Fix MSVC compile errors caused by struct forward declared as class 2012-09-20 08:38:50 -05:00
Dick Hollenbeck 7d4aaa8cdb fmin() was giving grief to MSVC, switch to std::min() 2012-09-20 08:22:33 -05:00
Marco Mattila 7db3834f0b Move pcbnew pcb edge layer plot checkbox to common plot options 2012-09-17 21:14:41 +03:00
jean-pierre charras 3f2a258930 Pcbnew: added: SVG plotter. Need refinements, but works.
Mainly to plot drill maps, but can be used to plot boards, for documentation.
The print svg still exists, but the plot SVG has more options (mirroring, holes in pads),
however  print svg allows color print, and full board printing, and plot does not.
2012-09-15 14:13:03 +02:00
jean-pierre charras 550d36dc33 Pcbnew: fix minor issue when loading a foorprint: if the footprint name has lower case letters, the name was asked twice 2012-09-13 14:15:24 +02:00
jean-pierre charras 46b9d9e359 All: fix most of Doxygen warnings. 2012-09-12 19:28:55 +02:00
jean-pierre charras 3e084a3b0e Pcbnew: fix compil error I created in my previous commit.
All: fix some Doxygen warnings
2012-09-12 13:11:30 +02:00
jean-pierre charras 391a663360 All: better code to handle opened frames libview, libedit, modview, modedit.
Other minor fixes.
2012-09-12 11:53:11 +02:00
jean-pierre charras 068ae2f344 Code cleaning, minor fixes and minor coding style fixes. wxWidgets 2.9.4 compatibility fix( deprecated function MakeModal ) 2012-09-11 21:03:21 +02:00
jean-pierre charras 64dfea78b8 Pcbnew: drag functions: serious cleanup and better code. Use now the connectivity functions to find tracks connected to pads,
and therefore  tracks are now dragged when a end point is inside a pad, not necessary on the pad position.
However, drag functions still need more cleanup.
2012-09-11 09:33:17 +02:00
jean-pierre charras 3bbcd30396 Pcbnew: cleanup functions: now, cleanup uses same algorithm as connectivity calculations to detect pads connections, and is faster.
therefore tracks which have a end point inside a pad, but not necessaryexactly  to the pad position are seen as connected, and are no more removed.
Side effect: reconnect to pads option is removed, because it is useless.
TODO: use this algorithm in drag functions.
Minor other fixes
2012-09-07 21:29:44 +02:00
Lorenzo Marcantonio fdd0e02c35 Substituted the few remaining uses of long instead of time_t 2012-09-05 14:13:33 +02:00
Lorenzo Marcantonio 5f86a70891 Enforced EDA_COLOR_T type and minor const-ification 2012-09-02 14:06:47 +02:00
Lorenzo Marcantonio c73ca9a6da Encapsulated drawmode as an enum for type checking 2012-09-01 15:38:27 +02:00
jean-pierre charras e467e58857 Modedit: very minor enhancements. 2012-08-31 21:19:48 +02:00
Marco Mattila bb73777a4a Take pad clearance into account in intersection detection during pcbnew zone filling. 2012-08-31 21:43:09 +03:00
jean-pierre charras a63a62f827 Pcbnew: fix bug: deleting a cutout in a zone was not undoable. 2012-08-31 17:59:14 +02:00
jean-pierre charras 1c6574e69d Fix 0 length segment in outline zone creation, that breaks zone chamfer option. 2012-08-31 15:58:23 +02:00
jean-pierre charras 313785b421 Pcbnew: in SVG export, add option to export only the board area, not the full page.
dialog plot functions: fix compil warnings with wxWidgets 2.8
2012-08-31 09:43:37 +02:00
Lorenzo Marcantonio b6261f3d80 Refactored PCB plot infrastructure
Removed filename from the BASE_SCREEN class
Scripting support for board plot
2012-08-30 21:25:12 +02:00