Commit Graph

882 Commits

Author SHA1 Message Date
jean-pierre charras e46f706d4b Add Set/GetOrientationDegrees and GetOrientationRadians for texts, pads and footprints to avoid internal units to usual angle units conversion in code (and avoid mistakes).
It should help if (or when) the internal angle unit used in kicad will be changed from 0.1 degree (a relic of code written for PCs without fpu) to degree ( a more natural unit).
2016-05-02 12:49:14 +02:00
jean-pierre charras 8c76b92fa9 Fix a few shadowed local vars which make the code not so easy to analyze. 2016-04-29 13:10:31 +02:00
jean-pierre charras b92ad6f5a8 Add CSV file format in pcbnew position files (and cleanup code) 2016-04-26 14:16:16 +02:00
jean-pierre charras d7f1400e44 Make strings only used in debug mode not translatable. 2016-04-21 09:19:08 +02:00
jean-pierre charras 67982a4851 stroke font: fine adjust of text horizontal position. edat_text: fix an issue in SetOrientation: the rotation angle is now constrained between -360 and +360 degrees.
It was previously not the case, and rotated texts outside this interval created issues in dialog_pcb_text_properties which have now validators.
2016-04-19 20:35:47 +02:00
jean-pierre charras fde2cfee27 Minor changes: remove a few local shadowed local variables detected using " -Wshadow" gcc compil option ( No bug, just a better code readability ) and fix minor coding style issues. 2016-04-18 20:15:44 +02:00
Cirilo Bernardo 6120472d60 3D file name resolver improvements.
* Paths defined via pcbnew->Preferences->Configure Paths are now included in
  the 3D file browser's drop-down list except for KICAD_PTEMPLATES, KIGITHUB,
  KISYSMOD, any paths resembling a URL, and any non-existent paths. When an
  absolute path is shortened using one of these path aliases, let's say
  'KISYS3DMOD' then the name appears in the pcb file as "${KISYS3DMOD}/blah.wrl".
  If a user defines and actual environment variable with the same name, then
  that user defined variable will have precedence over the internally defined
  variable.

* Paths relative to the current project directory are no longer represented
  as "some/path/to/file.wrl".  For compatibility with previous KiCad versions
  it shall always be stored as ${KIPRJMOD}/some/path/to/file.wrl.

* Various restrictions on alias path values have been removed since the
  imposed restrictions could result in corrupted user data as aliases are
  silently dropped.

* Overall the patch should improve back-compatibility by providing a ${ENV_VAR}
  mechanism for supporting different model root directories and ensuring that
  paths relative to KIPRJMOD are expressed in a way that is compatible with
  earlier KiCad versions. This allows users more flexibility and the ability
  to work in a way that ensures 3D model files can be correctly resolved in
  earlier versions of KiCad. Users who do not care about back-compatibility
  may prefer to use the newer alias system.
2016-04-17 18:35:32 -04:00
Chris Pavlina ff3d22dcd9 Remove DIALOG_ORIENT_FOOTPRINTS 2016-04-17 10:11:14 -04:00
jean-pierre charras bcd345c29f Fix issues in dialog drc: because it is not modal, DRC parameters and unit selection can be modified outside the dialog, still opened. Now, the new parameters are taken in account.
Fixa also a corner case which crashes Pcbnew: if the dialog is opened, and the board was  changed (reloaded, cleared),  pcbnew crashed because many pointers stored in dialog  become invalid. Now the dialog is just closed.
2016-04-15 20:15:22 +02:00
Chris Pavlina 36b53a50e9 Fix signedness in a couple comparisons (warning suppression) 2016-04-12 19:18:42 -04:00
Chris Pavlina 48573712e8 Exterminate another 0.1deg field 2016-04-12 19:18:33 -04:00
jean-pierre charras 95962cd2ba Very minor changes: minor coding style fixes, and remove a few local shadowed variables (mainly local variables having the same name in the same function) detected using " -Wshadow" gcc compil option ( No bug, just a better code readability ) 2016-04-12 17:50:42 +02:00
Chris Pavlina 9e3fd5b762 Nuke 0.1deg units in DIALOG_GRAPHIC_ITEM_PROPERTIES 2016-04-11 10:27:32 -04:00
Chris Pavlina 4d77388216 Clean up wxValidator window association
wxValidator::SetWindow was used too many times due to me being a dunderhead who
can't read the docs.
2016-04-10 18:28:06 -04:00
Chris Pavlina 8325d6fdf0 Eliminate 0.1deg units in DIALOG_PAD_PROPERTIES 2016-04-10 18:14:28 -04:00
Chris Pavlina 0a6583f902 Eliminate 0.1deg units in DIALOG_MODULE_BOARD_EDITOR 2016-04-10 08:59:23 -04:00
Chris Pavlina 4fe676753a dialog_edit_module_text: fix display bugs
Displayed angle should be clamped to -90..90, 0 should not be displayed as
blank text, and locale should be used for initial rendering.
2016-04-10 08:23:44 -04:00
jean-pierre charras f294834f4d dialog_pad_properties: Some fixes. Dialog_edit_module_text: fix an issue related to displayed texts, which were deleted and replaced by the unit symbol only, and the name of the parameter was therefore lost. 2016-04-10 12:40:31 +02:00
Chris Pavlina 3ac5fc41cc Refactor dialog_edit_module_text and nuke the 0.1 degrees 2016-04-09 16:17:19 -04:00
Chris Pavlina f12d87b800 Adjust spacing in dialog_edit_module_text 2016-04-09 10:32:46 -04:00
Patrick Pereira 342ba51e6d Allow arbitrary angles for footprint field texts 2016-04-08 19:18:44 -04:00
jean-pierre charras 5e41763d83 Fix a few Coverity warnings and typo is dialogs 2016-04-07 13:09:31 +02:00
jean-pierre charras 4a838fb8c3 Pcbnew: Add rounded rect pad shape. 2016-04-06 20:15:49 +02:00
jean-pierre charras d18cdf1c53 merge 3d_initial_merge branch 2016-04-05 19:56:01 +02:00
unknown b8a91c7a98 Enhancements in Create array tool (bad parameters detection and disable parms when not applicable) 2016-04-02 14:52:29 +02:00
Cirilo Bernardo 44a75e6f69 Sync to main branch r6634 2016-03-21 13:38:47 +11:00
Jon Neal d66cc0fedc Fix one click dialog footprint spreading picking up extra footprints. 2016-03-17 23:09:24 -04:00
Tomasz Włostowski aa5a1d1898 PCB updater: spread footprints after updating netlist 2016-03-16 23:05:08 -04:00
jean-pierre charras 5de85450b8 Pcbnew: Dialog list and select net: better dialog and make net selection to highlight a net working on GAL. 2016-03-16 15:14:00 +01:00
Cirilo Bernardo 968a18a859 Sync with main branch r6620 2016-03-14 19:00:24 +11:00
jean-pierre charras 99e81aeb9c Fix incorrect (too small) bounding box EDA_TEXT, noticeable when chars like j or { are used in zone fill functions.
I tried to merge some constants used both in legacy mode and gal mode (which were, before this patch, separate constants).
There is still a serious work to avoid different calculation code for the same text in draw and plot functions.
Work in progress to merge these calculation functions.
2016-03-11 13:08:34 +01:00
Cirilo Bernardo ec580cff50 Sync to main branch r6614 2016-03-11 09:37:12 +11:00
jean-pierre charras b237d81b75 Create Array dialog: some fixes:
*  No initial copied object changed (this was a serious bug to modify these objects. Previous version modified references and other texts using a very stupid algorithm).
  It also fixes bug 1549231
* only new pads are numbered (therefore renumbering is used only in footprint editor)
*  remove not working and useless feature in circular array: now  only use number for pads (others options using alphabetical letters are removed: did not work corectly, and were useless)
* a more clear option is used to choose if the pads are numbered from a choosen value, or from the first avaible value
* Adding a warning messsage if a parameter is incorrect.
2016-03-07 08:13:06 +01:00
Cirilo Bernardo dbe54067f9 Reverted/reworked BoardEdtor_base and Modedit_base *.fbp files to wx3.5-RC1 version due to bug in -RC2 2016-03-02 13:36:24 +11:00
Cirilo Bernardo d0a2080823 Merge with main branch r6601 2016-03-01 11:44:15 +11:00
Cirilo Bernardo 4d20f32fd0 Added 'Configure Paths' button to Footprint Properties editors 2016-02-28 10:17:58 +11:00
Bernhard Stegmaier f8abe9c191 Add support for optional touchpad panning. 2016-02-24 14:53:02 -05:00
Cirilo Bernardo 5776037a70 Flush model data upon exit of Footprint Properties dialogs 2016-02-21 11:54:34 +11:00
Cirilo Bernardo a4861a0d64 Sync with main r6555 2016-02-14 09:16:40 +11:00
jean-pierre charras 7313b28e2a Cvpcb: minor change in menubar: change menu name "files" to "Save" (there is no more files to read or save). Pcbnew, pad properies editor: show Axis (pad origin) in GAL mode (it was already shown in legacy mode). 2016-02-13 16:34:52 +01:00
unknown 450c2e4371 fix Tickness typo 2016-02-11 16:02:37 +01:00
jean-pierre charras 2284228c35 HPGL plot dialog: remove no more in use Pen Overlap parameter. Fix incorrect polygon fill by setting the hpgl pen thickness in hpgl file. Add filled circle (previously, a circle was never filled) 2016-02-11 13:14:46 +01:00
jean-pierre charras 5658ed9c8e Prepare rounded rect and custom shaped pads: add plot functions. It fixes also a pcbnew crash in HPGL mode when plotting trapezoidal pads. 2016-02-10 17:02:40 +01:00
jean-pierre charras 050bdbc772 Pcbnew: minor changes:
* Dialog copper zones: Always enable thermal shape settings, because even with no thermal, some pads can use thermal option in local pad settings.
* GAL mode: shows page limits in gray color, like in legacy mode, and according to comments in sources.
2016-02-09 09:23:24 +01:00
Tom Andrews 4c7a61dd25 pcbnew: correct minor grammatical errors 2016-02-05 14:34:23 -05:00
Cirilo Bernardo 06e766b8b2 Sync with main branch r6532 2016-02-02 17:25:14 +11:00
Tomasz Wlostowski ee3418e90b One-click PCB update improvements
- Fix repetitive undo/redo segfaults & assertions.
- Add Update menu entry on PCB side.
- Fix Python build error
- Add spread footprints after updating
2016-01-29 15:43:40 +01:00
Tomasz Wlostowski 689072c0e1 PCB updater: open PCBnew automagically, minor fixes to the dialog 2016-01-29 11:36:51 +01:00
Tomasz Wlostowski 570ba5e00a set up netlist footprint loader before attempting pcb update... 2016-01-29 11:31:26 +01:00
Tomasz Wlostowski 5ef6001e06 pcbnew: support for removing NETINFO_ITEMS from BOARD for proper netlist undo 2016-01-29 11:29:56 +01:00
Tomasz Wlostowski 867a0444bd eeschema: single click PCB update feature added 2016-01-29 11:24:39 +01:00
Cirilo Bernardo fc5556c811 Sync with main branch r6513 2016-01-26 10:35:16 +11:00
Cirilo Bernardo 8efd3642bc Fixed bug which allowed empty filenames to be added to the model list 2016-01-25 17:10:08 +11:00
Cirilo Bernardo 3eca3fe75d Implemented new 3D file selector with preview 2016-01-25 15:55:36 +11:00
Cirilo Bernardo 31af6d7dbc Fixed GUI issues related to setting scale/offset/rotation 2016-01-23 20:07:58 +11:00
Cirilo Bernardo 7c829c9e84 Added manual editing of 3D file name with alias tags 2016-01-23 14:52:54 +11:00
Dick Hollenbeck 364776a5d4 Remove commented out GetStandardLayerName() 2016-01-20 18:04:56 +01:00
Cirilo Bernardo 5d82d9348d Fix bug: MSWin to UNIX file separator conversion was in the wrong place, leading to wrong separator shown in GUI 2016-01-18 08:33:39 +11:00
Cirilo Bernardo f3c56eff12 Work in progress: changed Footprint Properties editors to handle aliased 3D file names 2016-01-16 17:49:28 +11:00
Cirilo Bernardo 548b54d75d + resync with main branch r6409
+ work in progress: new VRML2 3D plugin
2015-12-31 09:28:39 +11:00
Element Green 0417538ab3 Fix Bug #1529214 (pcbnew VRML export dialog settings have no effect) 2015-12-27 18:33:15 +01:00
jean-pierre charras 9d994663f1 Fix Bug #1527446 (Flipping a block in pcbnew doesn't flip inner layers nor their connected microvias).
Also fix a few typos and remove dead code.
2015-12-27 16:51:13 +01:00
Simon Wells 6721545011 Pcbnew: remove the sunken border from the design rules dialog,
* On Linux it has no effect
* On OSX it removes the line border which looks ugly.
* On Windows it makes the dialog look cleaner.
2015-12-22 13:53:13 -05:00
unknown a49b313c77 Fix a cosmetic issue: the "Move exactly" dialog was not exactly right on init 2015-12-22 15:34:34 +01:00
Cirilo Bernardo 07bd4cbc04 + Resync with main r6397
+ Work in progress: VRML parser
2015-12-22 11:08:39 +11:00
unknown f041177c3a Fix Bug #1526158 (pcbnew Zone tool: Minimum width is compared against thermal relief spoke, when Pad connection set to "None") 2015-12-21 19:42:16 +01:00
jean-pierre charras a11bbffe9b Code reorganization, and change the way 3D viewer frame is managed (now using wxWidgets wxWindow::FindWindowByName() to know if it is existing) , to prepare others fixes. 2015-12-21 12:52:00 +01:00
jean-pierre charras e175a96be4 Pcbnew: Enhancement: in Get footprint (hotkey 'T') : better footprint selector dialog. 2015-12-20 19:47:52 +01:00
Simon Wells f11da559c7 Removed the sunken border from the Design Rules dialog 2015-12-18 11:56:23 +13:00
Cirilo Bernardo 1940bd71e4 Resync with main branch + fix MSWin build (accidental inclusion of dlfcn.h) 2015-12-15 10:56:11 +11:00
Cirilo Bernardo 2128594a85 Coding policy fixes: remove trailing white space. 2015-12-14 16:20:54 -05:00
Cirilo Bernardo a0597c4614 GUI improvements including interactive update of model orientation/position 2015-12-09 16:43:30 +11:00
Cirilo Bernardo 47f40def0c GUI improvements including control of panel sizes and resizing of GL canvas in preview 2015-12-09 10:38:25 +11:00
Cirilo Bernardo 2ba7c05cbf Resync with main branch and fixed to work with new symbol visibility rules 2015-12-09 09:52:02 +11:00
unknown 0ae5fed41f When changing the number of copper layers, new layers added to the board in pcbnew are now selected by default for plotting 2015-12-08 16:15:24 +01:00
Mario Luzeiro 69cc788e8e + Removed glm source from kicad tree (Maciej / Cirilo)
+ Added renderer for 3D model preview (Mario)
+ Added 3d_cache including name resolver and modifications to 3D model dialogs (Cirilo)
2015-12-08 18:31:57 +11:00
jean-pierre charras 4c880400b1 Better sizing of wx_html_report_panel in dialog_netlist (fix bug #1522758) 2015-12-04 18:06:54 +01:00
jean-pierre charras 7f49fc9a03 Fix a minor bug I created in rev 6332 in dialog_design_rules.cpp (a line of code removed by accident). 2015-11-29 16:17:47 +01:00
jean-pierre charras da9f68911c Autosize row label column in wxGrid in pcb_calculator and design rules dialog.
Pcbnew: auxiliary axis shape: use the same look as GAL, to be consistent with GAL.
Minor change in dialog_env_var_config (use the wxStdDialogButtonSize for usual OK, Cancel and help buttons)
2015-11-29 15:19:22 +01:00
jean-pierre charras 2afee8fb58 Make translation easier in dialog_create_array_base. 2015-11-22 11:21:14 +01:00
Wayne Stambaugh ebdc1e4b17 Pcbnew: minor footprint properties dialog fixes.
* Replace the term module with footprint.
* Use default dialog size to allow sizers to determine the size of the dialog.
* Fix a few alignment and spacing issues.
* Fix some minor grammatical issues.
* Use front and back for board side instead of top and bottom to be consistent
  with layer naming scheme.
2015-11-17 09:03:57 -05:00
jean-pierre charras 49d75d5850 Drill file generation: add the option to merge NPTH and PTH, which was disabled recently, due to code changes.
Add missing translator name in AUTHORS.txt and About dialog (patch from Eldar Khayrullin)
2015-11-16 19:42:58 +01:00
jean-pierre charras d5aef07816 Kicad manager: fix a very serious bug which crashes Kicad when running and closing gerbview, pcb_calculator, bitmap2component or pl_editor, when the Kicad manager frame is not the top level frame (It happens very easily if eeschema or pcbnew is running, after opening and closing a dialog).
Fix a few wxWidgets asserts.
menubar in pcbnew: move the recreate .cmp file menu to export menu, and fixes its help comment which was fully outdated.
2015-11-15 19:04:19 +01:00
jean-pierre charras 6cc91a074b Remove a few conditional compilation for wxWidgets version < 3.0
Update a old .fbp file.
2015-11-09 13:14:28 +01:00
jean-pierre charras c94a5dd46f Footprint wizard: fixes and enhancements in python scripts. 2015-10-31 12:54:48 +01:00
unknown 1af9b46ada Pcbnew, dialog create drill file: remove option to merge plated holes and not plated holes:
reasons: 
* This option is called "bad practice" in gerber files format specifications and is even forbidden in gerber drill files.
* Generates problems with some board makers because these holes are not identified in a single NC file.
* No one was able to explain us how to identified them in a single NC file.
* Recent change in drill file generation is not compatible with merged holes (minor reason)
2015-10-26 08:43:30 +01:00
unknown a0f52db1c8 Drill files generation: when using blind/buried vias, the files are now created for each via layer pair, each file groups vias having the same pair, and one for through holes.
Drill report: serious enhancements.
Plot files names for copper layers: build from the user layer name, like in bzr 4022 stable version. no change for other layers.
2015-10-23 16:30:22 +02:00
unknown ad10218a58 Rename {Set,Get}GerberExtensions() to {Set,Get}GerberProtelExtensions() (better name) in public API. 2015-10-21 08:55:30 +02:00
jean-pierre charras 4dc2ece011 Fix a few wording issues in dialogs (dialog plot and dialog move exact) for translators (more explicit words/sentences to remove ambiguities).
Pcbnew: Plot files: for copper layers, create suffix from user copper layer names instead of default copper layer names, like in last stable Kicad version (bzr 4022), to build the plot files filenames.
Better test of illegal chars in plot filename, both in plot dialog and functions aclled by Python scripts.
Fix a Plotcontroller issue to make SetUseGerberExtensions() work as expected from Python scripts ( from  Henner Zeller'patch with a fix to be sure it works properly from a Python script)
Note also using Protel Gerber Extensions is now a bad practice, because the official Gerber extension is .gbr since X2 Gerber version. But some users still use them)
2015-10-20 20:03:07 +02:00
jean-pierre charras 9aba2f2683 Add tool tips in pns settings dialogs. Use default events handlers in cancel and ok buttons and close window.
Fia an incorrect sentence in general board editor options dialog.
2015-10-16 17:56:50 +02:00
Wayne Stambaugh bc6e9e855c Pcbnew: fix broken board ratsnest visibility storage behavior.
* The board ratsnest visibility state was being saved in both the board file
  and the Pcbnew configuration files causing visibility state issues.  Use the
  board file to save the board ratsnest visibility state.
* Remove all of the board ratsnest save visibility state to configuration file
  code.
* Add code to set the board modified property when layer visibility states
  change to give the user a chance to save the state in the board file.
* Some minor code cleaning and coding policy fixes.
2015-10-14 14:12:17 -04:00
jean-pierre charras 014f0eb61f Gerber file X2 attribute: Change the attribute Project Id key word from .TF.JobId to .TF.ProjectId, due to a change between the draft Gerber file format specif and a the final specifs (Revision 2015.08).
Remove a few wxCHECK_VERSION conditional compilation, now useless.
2015-10-14 09:20:28 +02:00
jean-pierre charras 70b584c5f5 Dialog Pad Properties: fix 2 issues: Bug #1504749 (pad parameter "delta" checking error for non trapezoid pads which do not use this parameter) and SMD pads allowed on all layers
The existing test was disabled for an unknown reason, which is a non sense and more important breaks the DRC.
2015-10-10 18:56:31 +02:00
Wayne Stambaugh 74f00d4027 Minor string and coding policy fixes.
* Make the about dialog help string consistent across all menus.
* Improve print preview window and print initialization error messages.
* The usual smattering of coding policy fixes.
2015-10-08 09:52:03 -04:00
Stefan (stol) 9537884f7e Try to fix Bug #1502012 (Can not close print preview window with the "X" icon) Linux spécific. 2015-10-08 13:59:00 +02:00
Wayne Stambaugh 40e48a6bb7 Pcbnew: fix design rules dialog tab switching bug on OSX. (fixes lp:1502823)
* Add skip event to notebook page changed event handler.  Apparently OSX
  updates the selected notebook page in this event instead of the page
  changing event used on Window and Linux.
* Improve duplicate net class name error message.
2015-10-07 10:15:24 -04:00
jean-pierre charras 8e08baee10 Export vrml: fix Bug #1502550 (Pcbnew Messes Up File-Name and File-Path with Multiple Export WRL) and fix a not so good file name handling after loading an other board in a stand alone Pcbnew session. 2015-10-04 19:07:20 +02:00
jean-pierre charras 19124ceee8 Fix crash when exporting vrml (see bug Bug #1502549) when there is a Glu error.
Enhancement: dialog_footprint_wizard_list remembers now its size.
2015-10-04 13:46:56 +02:00
Wayne Stambaugh 8e5e2164e8 Pcbnew: design rules dialog fixes and improvements. (fixes lp:1499538)
* Use default dialog size to allow sizers to do their job.
* General layout and sizer improvements.
* Remove HTML message window which could not be used when error dialog was displayed.
* Use wxStdDialogButtonSizer for the OK and Cancel buttons.
* Check for design rule validity in TransferDataFromWindow() to prevent dialog from being
  closed and all new design rules being lost when an error is detected.  This gives the user a
  chance to fix any design rules errors before dismissing the dialog.
* Add missing test for extra via drill diameter violations.
* Remove unnecessary OK and Cancel butten clicked event handlers.
2015-10-02 15:11:33 -04:00
jean-pierre charras a0b31b62ba Eeschema: fix crashes when closing or moving the print preview frame on Windows 7 2015-10-02 16:07:37 +02:00