Commit Graph

977 Commits

Author SHA1 Message Date
Wayne Stambaugh b9c296420a Complete library table and library table row refactor.
Derive LIB_TABLE_ROW from boost::noncopyable for use in boost pointer
containers.

Use std::unique_ptr to manage PROPERTIES pointer.

Add clone support for boost pointer containers.

Split common library table code out from FP_LIB_TABLE into base LIB_TABLE
object.  The FP_LIB_TABLE object only contains the code specific to
footprint library tables.

Use boost::vector_ptr for storing library table row objects.

Fix move up and down bugs in footprint library table edit dialog.
2016-11-19 17:16:43 -05:00
Diego Herranz 90897d4983 Pcbnew, plot dialog: fix incorrect wording. 2016-11-19 09:48:32 +01:00
Wayne Stambaugh 192d4b87ad Rework footprint library table for use in symbol library table.
Factor out ROW object from FP_LIB_TABLE so it can be reused to create a
symbol library table row object.

Create base LIB_TABLE_ROW object from ROW object common code.

Derived FP_LIB_TABLE_ROW object from LIB_TABLE_ROW to provide support for
footprint library table rows.

Update all instances of FP_LIB_TABLE::ROW with FP_LIB_TABLE_ROW.

Purge wxT() macros from modified files where possible.
2016-10-28 09:12:28 -04:00
jean-pierre charras 89f9b7df5c Pcbnew: when update PCB from schematic, spread footprints also in legacy mode. Remove also one useless undo command level after update. 2016-10-25 15:34:59 +02:00
jean-pierre charras 4ee344e150 Gerber files: Enable net attributes options in plot Gerber dlg and fix net attribute for "no net" tracks and vias (netcode <= 0). 2016-10-23 19:43:31 +02:00
Maciej Suminski 74b5858665 Fixed a crash when removing zones using the Global Deletion dialog
Fixes: lp:1635266
* https://bugs.launchpad.net/kicad/+bug/1635266
2016-10-20 17:15:50 +02:00
jean-pierre charras d167407d1a Pcbnew: add "edit all tracks and vias" command in edit menu.
Previously, this command was accessible only by right clicking on a track and only in the legacy mode.
2016-10-14 21:07:39 +02:00
Simon Richter b0f9864bc4 Clean up warnings from exception handlers
The exception objects caught are either not referenced at all, or only in
debug builds. This avoids the warnings for the unused variables.
2016-10-10 11:08:49 -04:00
Wayne Stambaugh abf33cce68 Pcbnew: fix drill file naming issue.
On windows when the project path include a remote volume name (\\NAME),
the volume name does not get cleared by calling wxFileName.SetDir( "" ).
This caused the volume name to be prepended to the file name when
calling wxFileName::GetFullPath().  Use wxFileName::GetFullName()
which resolves the issue.

Fix some minor grammar errors.

Fix some minor coding policy issues.

Fixes lp:1606240

https://bugs.launchpad.net/kicad/+bug/1606240
2016-10-07 10:58:48 -04:00
John Beard 93a843c022 Add override specifier in scripting dialog 2016-10-05 15:07:06 -04:00
Chris Pavlina b9abcc309f Fix Validate hiding overloaded virtual in 3D viewer dialog 2016-09-30 22:32:24 -04:00
jean-pierre charras b5839893d0 Pcbnew, clean board: fix issues and add option in dialog to remove bad track segments (short circuit between 2 nets) 2016-09-30 11:11:52 +02:00
Simon Richter ad088db6d2 Add more "override" markers. 2016-09-25 13:59:41 -04:00
Cirilo Bernardo bf4b26d73f Remove STEP diagnostic print
This patch removes a stdcerr print which was accidentally left in the code.
2016-09-25 10:08:13 -04:00
Simon Richter 59c81976dc Explicitly mark overriding functions. 2016-09-24 14:53:15 -04:00
Cirilo Bernardo 8b8626ceeb Removed wxT() from kicad2step modules and made modifications to the STEP Export GUI 2016-09-22 08:37:16 -04:00
Cirilo Bernardo 88cdb8bbbe Removed dialog, instead the autosave() is always invoked for a dirty PCB 2016-09-22 08:37:16 -04:00
Cirilo Bernardo fb59a7416a Added option to remove Virtual Components from STEP assembly 2016-09-22 08:37:16 -04:00
Cirilo Bernardo 33948e572d Added STEP Export menu item and supporting code 2016-09-22 08:37:16 -04:00
Dick Hollenbeck 9ad49dc2d1 Split IO_ERROR out of richio.* and store Problem() and Where() separately 2016-09-20 11:56:18 -04:00
jean-pierre charras 6edee2ae1d Prepare Plot Gerber file to include advanced aperture and net attributes.
This option is not yet activated because the net attributes are not yet fully fixed by Ucamco, in Gerber file format specifications.
(To activate it, see dialog_plot.cpp, line 43)
2016-09-19 13:01:36 +02:00
Maciej Suminski 17806b58f6 Fixed unused variable warnings 2016-09-13 10:06:49 +02:00
Maciej Suminski c52a9d850b Converted netlist updater to use BOARD_COMMIT
Fixes: lp:1579910
* https://bugs.launchpad.net/kicad/+bug/1579910
2016-09-12 13:45:57 +02:00
Maciej Suminski 267f01fa69 Code formatting (BOARD_NETLIST_UPDATER) 2016-09-12 13:45:57 +02:00
Maciej Suminski 6701b80f77 Converted global deletion, global text size setting & module exchange to BOARD_COMMIT. 2016-09-12 13:45:57 +02:00
Maciej Suminski 86b906463f Fixed an assert in 'Create array' dialog 2016-09-12 11:50:06 +02:00
Maciej Suminski c4be379b31 Modified properties dialog to take advantage of BOARD_COMMIT class. 2016-09-12 11:50:06 +02:00
Maciej Suminski 1dd43d1d98 Unified undo buffer handling code for PCB & module editor.
Replaced UR_MODEDIT with UR_CHANGED.
2016-09-12 11:50:06 +02:00
Maciej Suminski 09e0311d4e Replaced Copy() method with operator=. Removed Copy() where default copy ctor was enough. 2016-09-12 11:50:06 +02:00
Dick Hollenbeck 2adfb09d0e Pcbnew: display unconnected net count in DRC dialog. 2016-09-08 14:17:37 -04:00
decimad 6c749e0ba8 Remove PNS_ prefix from most types inside namespace PNS 2016-09-06 16:06:06 +02:00
decimad de6281e977 Move PNS router code into namespace PNS
update copyright messages
2016-09-06 16:06:06 +02:00
Wayne Stambaugh cbcb3b896b Fix incorrect string translation macros.
* Replace _T() with _() for translatable strings.

* Don't translate debug messages.

* Don't translate copyright symbol.
2016-09-03 12:10:49 -04:00
jp-charras 9d5300b284 Fix: Pcbnew net class editor is chopping off net class names
Fixes: lp:1616599
* https://bugs.launchpad.net/kicad/+bug/1616599
2016-08-25 09:35:35 +02:00
Simon Richter 260b0f6b5f Via properties: apply microvia settings to microvias 2016-08-24 22:16:21 -04:00
Jon Neal 532a5fb827 Small grammar fix 2016-08-24 16:18:04 -04:00
jp-charras fdd434244c dialog footprint properties: better tool-tips 2016-08-24 18:20:20 +02:00
jp-charras d0fbd32bee dialog edit footprint properties: Generate an error message if a parameter is incorrect.
(previously when happens, no message but the dialog cannot be closed)
2016-08-24 17:18:51 +02:00
Maciej Suminski 0ef866ee74 Code formatting 2016-08-15 17:16:53 +02:00
Tomasz Wlostowski e5524832a9 pcbnew: added diff pair gap & width to Design Rules dialog & PCB file format. 2016-08-15 17:16:49 +02:00
Tomasz Wlostowski bcf7990bf9 P&S: support for 45-degree style length tuning meanders 2016-08-15 17:16:49 +02:00
Tomasz Wlostowski 2b32b6f72e P&S: support for trace & via locking 2016-08-15 17:16:48 +02:00
Tomasz Wlostowski df50a10510 VIEW: replace boost with std 2016-08-15 17:16:45 +02:00
Maciej Suminski 02c404ab10 Removed unnecessary *.orig files for dialogs 2016-08-12 15:58:36 +02:00
jean-pierre charras 7bc8cb56e0 Fix bug: Impossible to rescale 3D models 2016-08-05 21:30:23 +02:00
jean-pierre charras e15ad9350f Fix issue from rev 6994 "Run DRC" from plot dialog crashes on Linux. 2016-07-28 14:07:35 +02:00
jean-pierre charras 62bf20271b Pcbnew, dialog plot: add a button (Run DRC) to run the DRC from the plot dialog. 2016-07-27 14:53:45 +02:00
jean-pierre charras e10242a0a9 Minor changes in dialogs: use wxWidgets default event handlers for wxID_CANCEL and wxID_OK buttons 2016-07-19 19:44:28 +02:00
Mrio Luzeiro d8eab321f7 3D Viewer: complete refactor of the 3D viewer.
* Split and rewrite the preview window and canvas.
* Create a new class for handling the board information.
* Adds new render targets: openGL, legacy, and ray tracing.
* Render targets take full advantage of the new 3D plugins system and 3D cache
  for a fast 3D model loading.
* Faster board loading.
* New OpenGL render is faster than the old one.
* New ray tracing render target with a post processing shader.
* Use of new 3D plugins (WRL, X3D, STEP and IGES) and 3D model caching.
* Preview of 3D model while browsing the file name.
* 3D preview of the footprint while adding / align 3D shapes.
* Render of 3D models according to attributes: Normal, Normal+Insert, Virtual.
* Pivot rotation centered in one point over the PCB board.
* Shortcuts keys improved for XYZ orientation..
* Animated camera.
2016-07-19 13:35:25 -04:00
jean-pierre charras fd42d76e2f refinements in dialogs and OSX Cancel button fix. Dialog_pad_properties, pad viewer in GAL mode: better size of the drawing area. The scrollbars are now usable. 2016-07-19 11:16:16 +02:00
jean-pierre charras 01100a57e5 refinements in dialogs and OSX Cancel button fix 2016-07-18 18:28:02 +02:00
jean-pierre charras defac5272b refinemenst in dialogs and OSX Cancel button fix 2016-07-18 17:54:41 +02:00
jean-pierre charras f83a76a970 Eeschema: dialogs: incorrect sizes fixes and osx copy text fix 2016-07-18 09:04:13 +02:00
jean-pierre charras d84f793fea more about dlg sizes and osx fixes 2016-07-15 12:05:13 +02:00
jean-pierre charras ee40137de7 more about dlg size fixes and osx fixes 2016-07-14 19:30:25 +02:00
jean-pierre charras 98bc4d3ba1 Fix dialog size issues (some widgets have a incorrect size when initialized inside a TransferToWindow() method because the SetSizeHints() method was called before the init) and fix OS X copy/close bug in a few dialogs. 2016-07-14 16:25:35 +02:00
jean-pierre charras 34469c1d9c Pcbnew, legacy mode: used spread_footprints to place new footprints after reading a netlist, like in GAL mode.
However they are put inside the "best" area, and not put inside a moving block, like in GAL, due to limitations of legacy mode.
2016-07-11 09:48:51 +02:00
jean-pierre charras e7bbe27e36 Fix double call of TransfertDataToWindows in 4 dialogs (fix a bug I created in rev 6962). Make change working on KDE. 2016-07-04 18:22:18 +02:00
jean-pierre charras e6e77de4fa Fix double call of TransfertDataToWindows in 4 dialogs. make change working on KDE. 2016-07-04 17:47:48 +02:00
jean-pierre charras ed7c57f19f Fix double call of TransfertDataToWindows in dialog_print_for_modedit.cpp 2016-07-04 17:19:59 +02:00
jean-pierre charras 474e0936cb Fix double call of TransfertDataToWindows in 3 dialogs. 2016-07-04 17:17:09 +02:00
jean-pierre charras 4a20f376a3 Move call of SetSizeHints in a few dialogs form the dlg ctor to a wxInitDialogEvent event, because some widgets sizes are not fully initialized before this event is fired.
It is especially true in some Window Managers like KDE, but can be true in any WM, when initializations are made by TransferDataToWindow() method, called by the default wxInitDialogEvent handler.
2016-07-02 18:32:03 +02:00
jean-pierre charras 1ab1dca46c Try to fix initial widgets size calculations on KDE, when using notebooks in dialogs 2016-07-02 16:13:10 +02:00
jean-pierre charras 1fbb84fd98 Move call of SetSizeHints in dialogs in a wxInitDialogEvent event, because some widgets sizes are not fully initialized before this event.
It is especially true in some Window Managers like KDE, but can be true in any WM, when initializations are mage by TransferDataToWindow() method.
2016-07-02 14:44:36 +02:00
jean-pierre charras 0eea3cffcf DIALOG_SHIM: add void FinishDialogSettings() method which calls the usual methods at end of a dialog, to ensure proper size and position, the first time the dialog is called.
Fix an incorrect size of dialog_pcb_text_properties (due to the fact the dialog was not really initialized when its min size was calculated)
2016-07-02 11:35:52 +02:00
Simon Richter 1b2fd6a382 Replace BOOST_FOREACH with C++11 range based for. 2016-06-29 16:07:55 -04:00
Simon Richter da5699de0a Replace boost::shared_ptr with std::shared_ptr. 2016-06-29 11:09:55 -04:00
Michael Steinberg fde12ebd25 Replace boost::function and boost::bind with their std:: counterparts 2016-06-29 12:23:11 +02:00
jean-pierre charras 83504c2b29 Pcbnew: Rework on print dialogs. 2016-06-19 20:29:13 +02:00
jean-pierre charras 68f0503586 Fix Pcbnew bug: print dialog: layers not listed in dialog (Linux specific) 2016-06-18 17:47:05 +02:00
jean-pierre charras 0862ac28d0 Dialog DRC: fix a minor bug created in rev 6936: the report file was always created, regardless the option selected in the check box.
Enhancement: the browse file dialog nows open the project folder by default.
2016-06-17 08:24:54 +02:00
jean-pierre charras 3f2b15711c Fix bug: DRC report to File crashes Pcbnew, if the file cannot be created (for instance if the CWD is not writable, or if the path does not exist)
Fix also an other issue: if the file path is not entered, the file is now created in the current project directory.
2016-06-15 19:00:30 +02:00
Maciej Suminski 7ff3dd0807 Make sure GL canvas is visible upon destruction in Module properties dialogs. 2016-06-14 12:08:35 +02:00
Chris Pavlina 5285962775 Remove option to not show footprint ratsnest when moving
This option only exists in legacy, with no real plan to port it to GAL. Nobody
seems to use this; there isn't really much of a point to it. Bye!
2016-06-11 22:34:07 -04:00
Chris Pavlina 9eef653625 Remove legacy option to zoom to selection on middle mouse button
This feature was not reliably available: neither pl_editor nor GAL supported
it. It has been replaced over the past few commits with a new zoom-to-selection
tool available in all applications and modes.
2016-06-11 19:37:43 -04:00
jean-pierre charras f311230874 Gerbview: when running gerbview from a command line, if a filename is given, and if it is a .drl file, it is loaded as drill file (instead of a gerber file, which generate an error message).
Code refactor: remove useless class members,  and move read gerber file and read excellon file from gerbview frame to the corresponding classes
2016-06-05 14:26:39 +02:00
jean-pierre charras 6d1e904334 Code cleanup: Remove outdated decimils to/from iu defines and conversion functions (decimils are no more in use since a long time).
Remove convert_from_iu.h file, only used for one define, and containing brokenand duplicate defines. Only convert_to_biu.h is now used.
2016-06-05 13:49:25 +02:00
jean-pierre charras 185dc2bbdf fix an incorrect filename (incorrect case) which created compil issue on Linux. 2016-06-03 08:49:55 +02:00
jean-pierre charras 93e61e7a2e Minors fixes: dialog_print_using_printer.cpp: fix a Coverity warning and very minor coding style issue. xsl scripts: add bom2grouped_csv.xsl (from a contributor) and fix minor issues. 2016-06-03 08:32:24 +02:00
Simon Wells 4b5a4c0d36 Display correct page count in print dialog 2016-05-30 11:44:49 -04:00
Simon Wells 457b021101 Fix bug: printed duplicate pages when Single Page selected
https://bugs.launchpad.net/kicad/+bug/1523065
2016-05-30 11:25:40 -04:00
jean-pierre charras 1ae9175671 A few minor fixes for compil warnings (shadowed variables and deprecated auto_ptr) 2016-05-29 17:02:34 +02:00
jean-pierre charras e2d4118470 Eechema, Component editor: Fix a bug in Pin properties dialog: a parameter used to draw the pin in preview canvas was incorrect, due to code change in draw pin. 2016-05-19 18:38:36 +02:00
Chris Pavlina 84d3fbfd68 Remove MaxUndoItems, make devel option DevelMaxUndoItems
Begin documenting configuration keys in Doxygen
2016-05-12 12:51:32 -04:00
jean-pierre charras 0bd287b6d9 Pcbnew: Fix a very minor bug ( The "Move exactly..." sometimes truncates the saved parameter floating point values during a session) 2016-05-11 12:16:07 +02:00
jean-pierre charras 6a7544a2ca Fix a few deprecated compil warnings in dialogs generated by wxformbuilder 2016-05-11 10:51:07 +02:00
Chris Pavlina 540275fe44 OS X: Disable full-screen cursor
This feature cannot work reliably for reasons explained in lp:1463505. Remove
the option on OS X builds and force cursor to the small one.

https://bugs.launchpad.net/kicad/+bug/1463505

> Bernhard Stegmaier (stegmaier) wrote on 2016-01-14:
>
> As far as I see from the code this is no bug but done on intention.
>
> The reason probably is that on OSX in the legacy canvas you don't have the
> XOR-drawing as on other platforms. To the best of my knowledge, this would
> mean that on every mouse move you would have to repaint the whole window just
> to get rid of the "old" cross.
>
> So, I would say this is a clear "won't fix".
> We could think of just removing/disabling the button in the legacy canvas.
2016-05-10 23:33:24 -04:00
Chris Pavlina 445db7da58 Fix uninitialized fields
Coverity: CIDs 102698, 147347, 147349, 147350
2016-05-10 22:36:23 -04:00
Chris Pavlina ba17a54c08 Remove "Dump zone geometry to files when filling"
The code to perform the dump has not been removed, but the GUI option and
global flag (ugh) have been.
2016-05-10 17:37:51 -04:00
Chris Pavlina e9a9a269b4 pcbnew legacy: remove option to hide via drill
Via drills are now shown in all cases, matching GAL behavior, and the option no
longer exists in the preferences dialog.
2016-05-10 16:47:37 -04:00
jean-pierre charras bfeb61abef Fix a few shadowed local variables and deprecated warnings in dialogs (using a very recent wxformbuilder version). 2016-05-10 08:56:03 +02:00
Maciej Suminski d9f4877c94 Fixed a crash when starting pcbnew with OpenGL GAL. 2016-05-09 17:23:01 +02:00
jean-pierre charras 63decd70e6 Minor fixes: Fix a few shadowed local variables, and deprecated warnings is a few dialogs generated by wxFormbuilder (using a very recent wxFormbuilder version, after apr 25, 2016) 2016-05-06 17:15:30 +02:00
Maciej Suminski ed0b95d710 Added an option change grid style. Refactored DIALOG_SET_GRID. GAL can draw grid using lines or dots now. DIALOG_SET_GRID was refactored to use Transfer{From,To}Window() methods. 2016-05-02 16:15:24 +02:00
Matthew Petroff db54f3e7a7 Correct multiple UI spelling errors 2016-05-02 10:01:43 -04:00
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