Wayne Stambaugh
98ad5096b0
Eeschema: add saving schematic files to schematic plugin.
...
* Add SCH_PLUGIN::Save() for current file format and code for saving all
SCH_XXX objects.
* Add function to SCH_FIELD to get the position of the field in the component
not the position added to the component position which is what GetPosition()
does. This was required because saving the component field expects position
of the field sans the position of the component.
* Remove public members from BITMAP_BASE object and fix all associated
code.
* Fix the never ending coding policy violations found making these changes.
2016-07-11 15:48:46 -04:00
Jon Neal
095063dbd9
Remove code since minimum wxwidgets version is 3.0.0.
...
This issue was fixed in 2.9.2 according to
https://lists.launchpad.net/kicad-developers/msg06421.html
2016-07-10 23:10:03 -04:00
Wayne Stambaugh
4ed346ea64
Eeschema: initial schematic I/O plugin.
...
* Factor out PROPERTIES object from the PCB plugin code and move it into
common so it can be used by both the Pcbnew and Eeschema plugins.
* Add schematic I/O plugin manager for loading and saving schematic and
component library files.
* Add initial attempt at a parser for current schematic file format. This
parser will be infinitely more strict than the current parser which is very
forgiving in what it parses.
* Make minor changes to the base bitmap class to support the new parser.
* Add find root sheet support to sheet object to allow fetching the root
sheet from any sheet in the stack.
2016-07-06 05:22:56 -04:00
Michael Steinberg
06d4894fdb
boost::context fixes to make it compatible with boost 1.61
2016-07-05 00:14:32 +02:00
Maciej Suminski
33e7fe6211
Fix a crash caused by invalid iterator (thanks to Michael Steinberg)
...
TOOL_MANAGER::finishTool() caused iterator to become invalid when an element was removed from the m_activeTools deque.
2016-07-04 16:12:21 +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
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
7fd30e6dc0
Fix a (minor) issue in Kicad manager: when the schematic editor or the board editor are run from the project tree frame to edit files of the current project, editors are opened on the background.
2016-06-17 19:58:14 +02:00
Maciej Suminski
b82ccc3b4e
Reverted 6912 with minor changes (LockCtx requires to specify canvas that locks a context).
2016-06-13 16:43:33 +02:00
jean-pierre charras
c4b22b55a0
Bug fix: When using the %Y variable placeholder in a worksheet template, the %Y variable content overwrite the whole string.
2016-06-13 21:02:10 +02:00
Maciej Suminski
57d4e8d51d
Fixed OpenGL crash on canvas switch.
2016-06-13 09:35:36 +02:00
Chris Pavlina
81144c2476
Move hotkey list from Preferences menu to Help menu
2016-06-11 21:22:13 -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
Chris Pavlina
d49ecb1b91
Add zoom-to-selection and block move to pl_editor
2016-06-11 09:51:05 -04:00
Wayne Stambaugh
21595f48d3
KiCad: fix crash when kiface libraries are missing. (fixes lp:1577786)
...
* An assumption was made that wxDynamicLibrary.Load() would always result in
a wxLogSystemError on failure which was not always true. The code now throws
an exception which is caught by KiCad and an error message is displayed. In
the case where the wxLogSystemError is shown, there will be an annoying two
error messages but that is better than a crash.
2016-06-10 13:47:19 -04:00
Maciej Suminski
b7ec4ea160
Corrected the last instance check in OPENGL_GAL.
2016-06-10 17:07:12 +02:00
Maciej Suminski
5850b1ced0
GL_CONTEXT_MANAGER: Call SetCurrent() only when a different context is used.
2016-06-10 17:06:54 +02:00
Simon Richter
eb45f02138
Avoid pointer truncation in debug message
2016-06-10 11:06:47 +02:00
Maciej Suminski
aa9681e979
GL_CONTEXT_MANAGER: Call SetCurrent() only when a different context is used.
2016-06-09 13:44:59 +02:00
jean-pierre charras
cdf2b6950e
Legacy mode: Pan with mouse middle button fix an unwanted displacement of the drawings (half width of scroll bars) when starting the pan (due to a parameter (new reference position of scroll bars in IU) which was stored with an incorrect value)
...
Minor enhancement during pan: the mouse cursor shape is modified.
2016-06-09 10:43:32 +02:00
Chris Pavlina
8c01318141
Add zoom-to-selection tool
2016-06-08 07:19:53 -04:00
Chris Pavlina
ce3ccec528
Fix incorrect scaling in scrollbar fix (r6895, 35883bb
)
...
...how did this ever look like it worked?
2016-06-08 06:26:39 -04:00
Simon Richter
2928cb7419
Replace unshared boost::shared_array with std::unique_ptr
2016-06-08 09:43:07 +02:00
Chris Pavlina
35883bb74b
Account for scrollbars when centering
2016-06-07 20:28:11 -04:00
jean-pierre charras
11c369ee1b
Fix minor compil warnings (deprecated warnings and shadowed local vars warnings)
2016-06-07 17:33:12 +02:00
Maciej Suminski
3fcae6b120
Fixes for OpenGL resources handling.
2016-06-07 14:42:42 +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
2b459acfe9
Fix incorrect handling of Aperture Macros, especially when using exposure OFF in macros.
...
Aperture macro shapes are now drawn using polygons.
2016-06-03 18:42:24 +02:00
Maciej Suminski
b4ad18a3ea
Do not rebuild shaders on each OPENGL_GAL construction.
2016-06-03 15:46:13 +02:00
Maciej Suminski
b83c148e10
Delete OpenGL context on GLCanvas subclasses destruction.
2016-06-03 15:46:13 +02:00
Maciej Suminski
68b6da57c0
Removed OPENGL_GAL::instanceCounter.
2016-06-03 15:46:12 +02:00
Maciej Suminski
01f32dd52c
GL_CONTEXT_MANAGER class to avoid unexpected GL context switches.
2016-06-03 15:46:12 +02:00
Maciej Suminski
4f7bb4c0f7
Simplified error checking in OPENGL_GAL test.
2016-06-03 15:46:11 +02:00
jean-pierre charras
3e2cae946c
Corrected wxDC objects used by EDA_DRAW_PANEL_GAL & OPENGL_GAL.
2016-06-03 15:46:11 +02:00
Chris Pavlina
e8dba1c14b
Remove unnecessary and possibly problematic optimization
...
https://bugs.launchpad.net/kicad/+bug/1280897
2016-05-30 08:26:39 -04:00
José Ignacio Romero
5832e37177
GAL: Fix offset problem in multiline text rendering
...
Commit BZR 6703 introduced a minor horizontal adjustment for stroke
text rendering in GAL, but the Translate() call was done before
calling Save(). So, when this function was called multiple times a
residual offset carried over to each subsequent line.
bzr 6703 = git 67982a4
2016-05-29 17:40:11 -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
ca0113ab65
Fix my previous commit: I committed the wrong file
2016-05-28 21:51:35 +02:00
jean-pierre charras
b7f863dc4c
Fix the commit 6838 (Fix non optimal position of net name and pad name in GAL mode), broken.
2016-05-28 21:46:13 +02:00
Simon Richter
7cee73e8e5
Narrow assumption on OpenSSL use
2016-05-28 13:11:24 -04:00
Simon Richter
96ec9db5d6
Add missing C++ stdlib headers
...
The GCC standard library headers often include other headers, which makes
some code compile that forgets to include several headers.
2016-05-28 12:46:29 -04:00
Simon Richter
f7fdf43ea8
Use std::atomic for portable locale init counting
2016-05-28 12:46:22 -04:00
Maciej Suminski
ade1d1fe74
Fixed display of 'b' letter in OpenGL canvas.
2016-05-27 14:44:44 +02:00
jean-pierre charras
5065961cf5
Gerbview: code refactoring:
...
* move gerber_file_image_list class to a separate file
* better BestZoom calculation, and fix incorrect size of wxTextCtrl showing info about gerber file format.
* remove useless file and dead code. Remove not used parameters in some classes (mainly in class_gerber_draw_item)
2016-05-27 10:34:10 +02:00
jean-pierre charras
4d82be5f0e
Gerbview: more code refactoring: remove useless files. Fix a few issues or bugs.
2016-05-27 10:20:17 +02:00
Maciej Suminski
25d526cbc6
Fixed a crash when GRLineArray is called with an empty vector.
2016-05-26 17:14:08 +02:00
Maciej Suminski
2ded7bf82a
Improved error handling for SHADER class.
2016-05-23 09:54:53 +02:00
Maciej Suminski
3ca7026aa0
More robust checks for OpenGL canvas visibility.
2016-05-20 12:06:08 +02:00
Simon Wells
74d69b6a80
multiple monitor loses window when single monitor
2016-05-23 10:51:17 +02:00
jean-pierre charras
bbe42d0f47
Fix very minor issues: compil warnings (mainly deprecated and shadowed vars warnings).
2016-05-22 19:39:20 +02:00
ejs-ejs
f8ae428428
Add Lithuanian language to language list menu.
2016-05-22 12:31:08 +02:00
Simon Wells
a9d08a620e
Hide OpenGL scrollbars on OS X to fix freeze
...
Fixes: https://bugs.launchpad.net/kicad/+bug/1553428
2016-05-21 19:38:47 -04:00
jean-pierre charras
620ccc5483
Try to fix a compil issue on OSX (no viable conversion from 'const wxString' to 'const wxChar *', in colors.cpp)
2016-05-17 09:10:15 +02:00
Dick Hollenbeck
0715504a9e
remove support for in processing setting of ld library path
2016-05-16 21:04:20 +02:00
jean-pierre charras
74d3cfd688
Make color names translatable in color selection dialog.
2016-05-16 20:35:34 +02:00
Chris Pavlina
0f407a756c
Pull existing settings into Doxygen module
2016-05-12 15:45:47 -04:00
Chris Pavlina
84d3fbfd68
Remove MaxUndoItems, make devel option DevelMaxUndoItems
...
Begin documenting configuration keys in Doxygen
2016-05-12 12:51:32 -04:00
Chris Pavlina
a488cb0142
Sanity-check loop bounds in SHAPE_LINE_CHAIN::Parse
...
Coverity CID: 128540
2016-05-11 23:28:08 -04:00
Chris Pavlina
ac3cd950b1
Fix ignored result of TransferDataToWindow in DIALOG_SHIM
...
Coverity CID: 147343
2016-05-11 23:27:57 -04: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
f9386fcbc0
Add support for PCB and footprint format versioning
...
Currently, kicad_pcb files have a (version ...) tag, but it is ignored. This
commit does the following:
1. Parse the version. If it's later than the last supported version, present an
alternative error message suggesting an upgrade if the file does not load
correctly. The version will be interpreted as an integer YYYYMMDD to suggest
a KiCad release date.
2. Accept a (version ...) tag also in kicad_mod files, but do not write them
yet. If no version tag is present in these files, assume the version to be that
of the current format version at the time of this commit.
This is meant to be merged to the 4.x stable series, and preps for KiCad 5
which will start emitting version tags also in footprints - users with what
will then be 'old stable' will not get a parse error when we introduce this for
footprints, and we can safely increment the format version later.
2016-05-10 15:07:35 -04:00
jean-pierre charras
ec096cc1d2
Fix an issue in LOCALE_IO class, used to switch to/back locale "C" when reading/writing files: the back to locale was broken, and created issues in countries using the ',' as fp separator, especially when the non default language was used.
...
It was reported in many bugs.
2016-05-10 09:11:09 +02: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
a42cb0ef8c
OpenGL GAL: Set context in destructor when possible (under Linux the window has to be visible).
2016-05-09 18:00:34 +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
Collin Anderson
08b52131df
Fix beep on hotkey press in OS X
2016-05-05 11:34:16 -04:00
Maciej Suminski
cca36d355a
Remove unnecessary debug messages (OpenGL GAL).
2016-05-04 10:10:15 +02:00
Maciej Suminski
22c4e4d240
Set OpenGL context only when the parent window is visible.
2016-05-03 16:39:58 +02:00
Maciej Suminski
55976e39ef
Fixed crash occuring when a vertex buffer is mapped in invalid OpenGL context.
2016-05-03 16:16:59 +02:00
Maciej Suminski
a62d2b5412
Bigger net labels (GAL).
2016-05-03 15:15:08 +02:00
Maciej Suminski
8d952f35c6
Fixed text vertical alignment for bitmap font (OpenGL).
2016-05-03 11:58:48 +02:00
Maciej Suminski
2f874097ae
Fixed a crash in pcbnew (GAL).
2016-05-02 16:15:26 +02:00
Maciej Suminski
09d2d5367a
Store grid settings for GAL.
2016-05-02 16:15:25 +02:00
Maciej Suminski
58ed0c8cce
Improved grid drawing routine (OpenGL).
2016-05-02 16:15:24 +02:00
Maciej Suminski
2f09e0ee40
Alternative version of CACHED_CONTAINER::defragmentResize() Certain GPUs do not support glCopyBufferSubData(), therefore there is an alternative version working with good, old memcpy().
2016-05-02 16:15:24 +02:00
Maciej Suminski
d23a508aa3
Fixed errors introduced to STROKE_FONT class.
2016-05-02 16:15:23 +02:00
Maciej Suminski
3e3ecccb2b
A few more fixes related to the previous commit.
2016-05-02 16:15:23 +02:00
Maciej Suminski
6e881f51fd
Changed bound buffers to improve compatibility (OpenGL GAL).
2016-05-02 16:15:23 +02:00
Maciej Suminski
0c4b6dabd3
Increased interglyph spacing to avoid artifacts when mipmapping is enabled.
2016-05-02 16:14:26 +02:00
Maciej Suminski
fff3abc9a0
Support for overbars in bitmap fonts (OpenGL GAL).
2016-05-02 16:12:18 +02:00
Maciej Suminski
c506d2b16c
Set OpenGL context before freeing video resources.
2016-05-02 16:12:18 +02:00
Maciej Suminski
59fe8df269
Split bitmap text drawing routine into smaller functions (GAL).
2016-05-02 16:12:18 +02:00
Maciej Suminski
a3a9641ae2
Disable invalidating buffer on CACHED_CONTAINER::Clear(). OpenGL context is not available when the method is called, so it does not work.
2016-05-02 16:12:18 +02:00
Maciej Suminski
031fbb4630
Avoid too frequent message panel updates.
2016-05-02 16:12:17 +02:00
Maciej Suminski
5a8adcdf52
Improved testing/profiling code for CACHED_CONTAINER. Switched from wxLogDebug to wxLogTrace. Adjusted CACHED_CONTAINER_TEST levels required for certain tests. Added a test to check used space in the container.
2016-05-02 16:12:17 +02:00
Maciej Suminski
54f3105cfb
More changes to CACHED_CONTAINER. Removed m_itemSize field (error-prone, as it had to be synchronized with m_item->GetSize()) Fixed a bug in reallocate() method, changed a bit it is behaviour. VERTEX_ITEM is not stored in the item set if its size is 0.
2016-05-02 16:12:17 +02:00
Maciej Suminski
deb578eadd
Recognize a special case of completely filled/defragmented container when resizing.
2016-05-02 16:12:17 +02:00
Maciej Suminski
a9c3a1730b
Free chunks in CACHED_CONTAINER only if they are really not needed.
2016-05-02 16:12:16 +02:00
Maciej Suminski
702be4903f
Vertices are stored in GPU memory (OpenGL GAL).
2016-05-02 16:12:16 +02:00
Maciej Suminski
01912aaabd
Minor refactoring in CACHED_CONTAINER.
2016-05-02 16:12:16 +02:00
Maciej Suminski
b32fdd97d9
Changed shading model to flat.
2016-05-02 16:12:15 +02:00
Maciej Suminski
52c698ab11
Fixed an included header (OpenGL GAL).
2016-05-02 16:12:14 +02:00
Maciej Suminski
e2c8e07344
Enabled mipmapping for bitmap fonts.
2016-05-02 16:12:14 +02:00
Maciej Suminski
53ef29802f
Switched bitmap font to higher resolution.
2016-05-02 16:11:39 +02:00