Dick Hollenbeck
6bfff89fe5
merge tip in, resolve.
2014-03-20 01:24:33 -05:00
Dick Hollenbeck
2c67c3ff80
* KIWAY Milestone A): Make major modules into DLL/DSOs.
...
! The initial testing of this commit should be done using a Debug build so that
all the wxASSERT()s are enabled. Also, be sure and keep enabled the
USE_KIWAY_DLLs option. The tree won't likely build without it. Turning it
off is senseless anyways. If you want stable code, go back to a prior version,
the one tagged with "stable".
* Relocate all functionality out of the wxApp derivative into more finely
targeted purposes:
a) DLL/DSO specific
b) PROJECT specific
c) EXE or process specific
d) configuration file specific data
e) configuration file manipulations functions.
All of this functionality was blended into an extremely large wxApp derivative
and that was incompatible with the desire to support multiple concurrently
loaded DLL/DSO's ("KIFACE")s and multiple concurrently open projects.
An amazing amount of organization come from simply sorting each bit of
functionality into the proper box.
* Switch to wxConfigBase from wxConfig everywhere except instantiation.
* Add classes KIWAY, KIFACE, KIFACE_I, SEARCH_STACK, PGM_BASE, PGM_KICAD,
PGM_SINGLE_TOP,
* Remove "Return" prefix on many function names.
* Remove obvious comments from CMakeLists.txt files, and from else() and endif()s.
* Fix building boost for use in a DSO on linux.
* Remove some of the assumptions in the CMakeLists.txt files that windows had
to be the host platform when building windows binaries.
* Reduce the number of wxStrings being constructed at program load time via
static construction.
* Pass wxConfigBase* to all SaveSettings() and LoadSettings() functions so that
these functions are useful even when the wxConfigBase comes from another
source, as is the case in the KICAD_MANAGER_FRAME.
* Move the setting of the KIPRJMOD environment variable into class PROJECT,
so that it can be moved into a project variable soon, and out of FP_LIB_TABLE.
* Add the KIWAY_PLAYER which is associated with a particular PROJECT, and all
its child wxFrames and wxDialogs now have a Kiway() member function which
returns a KIWAY& that that window tree branch is in support of. This is like
wxWindows DNA in that child windows get this member with proper value at time
of construction.
* Anticipate some of the needs for milestones B) and C) and make code
adjustments now in an effort to reduce work in those milestones.
* No testing has been done for python scripting, since milestone C) has that
being largely reworked and re-thought-out.
2014-03-19 19:42:08 -05:00
maciej.
898ed7445f
GAL: fix zooming using mouse wheel with wxWidgets 3.0.
2014-03-19 21:07:49 +01:00
Maciej Suminski
bf418eb1ee
Cursor coordinates are updated in GAL canvases.
2014-03-19 14:26:02 +01:00
Maciej Suminski
e1ce30d89d
Fixed mouse wheel handling for GAL canvases with wx3.0.
2014-03-19 11:57:59 +01:00
Maciej Suminski
f6959c039c
Comments.
2014-03-18 11:04:52 +01:00
Orson
59a0ced0a6
Corrected the error message about required OpenGL version for GAL. Fixed pcb_calculator .desktop file.
2014-03-14 21:32:25 +01:00
Maciej Suminski
afc56d3f6f
Moved panning boundaries and scale limits from VIEW to VIEW_CONTROL.
2014-03-12 17:09:53 +01:00
Maciej Suminski
1e04f3b948
Removed excessive variable (m_Corners) from MARKER_BASE.
2014-03-12 15:53:20 +01:00
Maciej Suminski
f0251ebdb6
Merge selection tool branch.
2014-03-11 20:45:01 -04:00
Maciej Suminski
54bf21768c
Added a few settings to make the layer settings more similar to KiCad defaults (moved vias to VIA_THROUGH_VISIBLE, added a few rules for required layers).
2014-03-11 10:58:58 +01:00
Maciej Suminski
ecb3aebce3
Fixed a bug caused by removed VIEW_ITEMs that were marked for updating.
2014-03-10 16:01:15 +01:00
Maciej Suminski
c4dbdbf9d3
Removed unnecessary casting.
2014-03-10 10:18:48 +01:00
Cirilo Bernardo
04f8d12ae5
KiCad: improve gerber file extension wildcard so gerbers show up correctly in the file tree pane.
2014-03-06 16:44:48 -05:00
Maciej Suminski
b6e3b3a3f9
Merged selection_tool branch.
2014-03-06 10:43:40 +01:00
Maciej Suminski
5ed0980dd5
Merged upstream.
2014-03-06 09:42:16 +01:00
Maciej Suminski
c557e52dab
Squashed memory leaks.
2014-03-05 14:57:14 +01:00
Maciej Suminski
505b38416d
Removed a few memory leaks.
2014-03-03 17:15:41 +01:00
Maciej Suminski
c5c83bd271
Added TOOL_MANAGER & ACTION_MANAGER::RunAction( const TOOL_ACTION aAction ).
...
Selection clearing is invoked using TOOL_ACTION object rather than its name.
2014-02-28 15:46:05 +01:00
jean-pierre charras
2c69b7f512
Fix Bug #1275544 (Page size dialog: page size drop-down doesn't handle mouse-click event)
2014-02-27 20:53:04 +01:00
Maciej Suminski
e6598e9d41
Added VIEW::ToWorld( double ).
...
TOOL_EVENT message is supposed to contain string as parameter.
Added missing header for class_drawsegment.h (KiROUND).
Renamed SELECTION_TOOL::containsSelected() to SELECTION_TOOL::selectionContains().
2014-02-27 16:13:27 +01:00
jean-pierre charras
fbecc0d9ce
* fp_lib_table.cpp: fix an issue on Windows in ConvertFromLegacy: sometimes, because the comparison was case sensitive, lib nicknames were not found, although libs exist ( for instance if a path was given like f:\mypath instead of F:\mypath)
...
* getpart.cpp: fix a potential bug on a translatable string with has requirements in spelling.
* fix bug #1066179
* kicad: fix erroneous labels in sub menus.
2014-02-26 15:06:24 +01:00
Maciej Suminski
c5a3c1082a
Removed a few RecacheAllItems() calls, some of them changed to specific type recaching (using TYPE_COLLECTOR & VIEW_ITEM::ViewUpdate() ).
...
Removed OPENGL_GAL::SetStrokeColor().
2014-02-25 14:28:09 +01:00
Maciej Suminski
d583280bb0
Minor code cleaning and optimizations.
2014-02-24 14:31:55 +01:00
Maciej Suminski
de637d2b8d
Fixed a missing group clearing and update for restored VIEW_ITEMs.Fixed a missing group clearing and update for restored VIEW_ITEMs.
2014-02-24 12:56:47 +01:00
Maciej Suminski
1c253bfba0
Some variables initialized to NULL.
2014-02-24 11:17:49 +01:00
Maciej Suminski
5ac699776d
Revisiting GAL:
...
- VIEW_ITEM::ViewUpdate() does not update items immediately. Now it marks them to be updated and the real update occurs on the next rendering frame.
- VIEW::InvalidateItem() made private.
- VIEW_LAYER::enabled -> visible
- Some functions moved to header files.
2014-02-21 16:57:18 +01:00
Maciej Suminski
151826b206
Upstream merge.
2014-02-21 11:05:28 +01:00
Marco Serantoni
932c92af55
[MacOSX] New reorg for building system, typos and path refines
2014-02-19 22:39:21 +01:00
jean-pierre charras
fd2afec6f5
Remove some fully outdated code (#pragma, from Henner Zeller's report, and some other things)
2014-02-18 12:41:53 +01:00
Maciej Suminski
a802ca87e0
Added TOOL_ACTION for PNS router activation.
...
Most of the GAL tools are activated by corresponding buttons on the right toolbar.
Removed menu entry for PNS router (as it is activated as the usual "Add track" tool).
2014-02-17 18:21:00 +01:00
Maciej Suminski
3ecae4fa52
GAL::GetGridPoint() returns point in world coordinates.
2014-02-14 14:16:08 +01:00
Maciej Suminski
597e98dbf4
Cursor is in world coordinates.
2014-02-13 20:23:28 +01:00
Maciej Suminski
f9f0b46b63
Small GAL refactorization, mostly correcting constness.
2014-02-13 19:31:27 +01:00
jean-pierre charras
29a1bdb32a
Fix issues in print mirror. (include some changes coming from Cirilo Berdarno's patch)
...
gr_basic.cpp: rewrite the function which draws the outlines of a thick segment.
2014-02-12 11:03:34 +01:00
Maciej Suminski
e43b5f7c0f
Small fix for crippled polylines containing 0 points.
2014-02-11 15:01:49 +01:00
jean-pierre charras
81c84fcac5
fix linux compil.
2014-02-10 10:58:17 +01:00
jean-pierre charras
c935624779
Use environment KISYS3DMOD to know defaut path for 3D shapes in footprint editors dialogs.
2014-02-10 10:30:08 +01:00
Marco Serantoni
9263a4e798
[MacOSX] Setting Set3DShapesPath
2014-02-08 18:33:21 +01:00
jean-pierre charras
fff54d759e
Add the environment variable KYSYS3DMOD to define a default path for 3D models.
2014-02-08 11:44:55 +01:00
jean-pierre charras
d68940c4d2
Minor fixes.
2014-02-07 17:09:15 +01:00
Maciej Suminski
25dfbcd39f
Upstream merged.
2014-02-07 09:52:47 +01:00
Maciej Suminski
61a76b2955
Merged fix for wrong snapping.
2014-02-06 17:31:24 +01:00
Maciej Suminski
0f026bbe1d
Fixed snapping item in a wrong spot bug.
2014-02-06 17:29:13 +01:00
Maciej Suminski
363709e7a9
Added TOOL_INTERACTIVE::Activate().
...
Removed an unnecessary header from class_board_item.h.
2014-02-06 14:45:33 +01:00
Maciej Suminski
5c9e7d9b9b
Merged the lp:~cern-kicad/kicad/selection_tool branch.
2014-02-06 12:48:18 +01:00
Maciej Suminski
b9df36eca5
GAL::GetGridPoint() takes a const reference.
2014-02-06 12:38:06 +01:00
Maciej Suminski
81f84748b3
Modifiers (Shift/Ctrl/Alt) are set also while moving the mouse cursor.
2014-02-06 10:43:19 +01:00
Maciej Suminski
1d4c6ad40e
Minor optimizations.
2014-02-05 14:51:19 +01:00
Maciej Suminski
468e14f003
Merged ratsnest_threadsafe branch.
2014-02-05 11:55:04 +01:00
Maciej Suminski
0b9a8709f8
Modifiers (Alt/Shift/Control) are properly set for events when autopanning is active.
2014-02-04 13:38:18 +01:00
Maciej Suminski
b317894ea0
Snapping settings are valid while autopanning.
2014-02-04 09:44:16 +01:00
Dick Hollenbeck
142782b402
remove wxApp()::FindLibraryPath() usages from Pcbnew. Use environment variable substitution.
2014-02-03 15:39:42 -06:00
Dick Hollenbeck
33e26b278d
KIWAY in progress...
2014-02-03 13:26:18 -06:00
Dick Hollenbeck
4f26386e8d
Initial KIWAY (modular-kicad) work. Various tweeks.
2014-02-03 09:10:37 -06:00
Maciej Suminski
3f5c3d4349
Minor changes (fix cvpcb build issue, wx2.8 compatibility, some other stuff).
2014-02-03 16:02:54 +01:00
Dick Hollenbeck
741bfb685b
Another attempt at wxFrame::SaveSettings() standard infrastructure.
2014-02-02 14:18:10 -06:00
jean-pierre charras
8afe2dfbce
Eeschema: Fix bug #1271155 relative to Grid selection in Eeschema.
2014-02-02 20:51:50 +01:00
Maciej Suminski
a73e386505
Added a new tool event: TA_UNDO_REDO, sent after undo/redo operation is issued.
2014-01-30 11:18:58 +01:00
jean-pierre charras
ce6b907fe3
Add specific bitmaps in export IDF and export DSN menus.
...
Add missing calls to Show( false ) to some main frames (Kicad, eeschema, gerbview), to force config saving when closing these windows.
Code cleanup and minor coding style fixes in footprint_wizard_frame
2014-01-29 18:01:42 +01:00
Maciej Suminski
c3c7b2e9cc
Merged the netnames branch.
2014-01-28 11:59:04 +01:00
Dick Hollenbeck
c63fa6ff31
Add EDA_BASE_FRAME::Show() and call SaveSettings() only from there for all derived wxFrames. Remove calls to SaveSettings() elsewhere.
2014-01-27 19:29:26 -06:00
Maciej Suminski
a10d918cac
Thread-safe version of Delaunay triangulation.
2014-01-27 11:42:47 +01:00
jean-pierre charras
3354bdde05
Pcbnew: fix bug #1272714 . Code cleanup: use 2 different enums for pad shapes and pad drill shapes. Remove never used pad shape.
2014-01-26 15:20:58 +01:00
jean-pierre charras
f7ca6e4bf9
add patch from Cirilo Bernardo, and minor fixes.
2014-01-25 13:23:29 +01:00
Dick Hollenbeck
d11d92504a
tugs and bugs
2014-01-21 00:59:32 -06:00
Dick Hollenbeck
8dc7189653
Add EDA_APP::setLanguageId() accessor and fix FindwxWidgets.cmake for windows cross on linux.
2014-01-20 03:33:17 -06:00
jean-pierre charras
a094f7d5b5
Fix some issues in modview, relative to few incorrect use of some wxAuiManager functions.
...
Fix not working + and - keys in layers manager.
Fix typo errors and modify some messages to make translator's life more easy.
2014-01-19 14:12:57 +01:00
maciej.
76aa0ba756
Fix compile errors when wx3.x is built with --enable-stl
2014-01-18 03:07:05 -06:00
Dick Hollenbeck
a3211b2b9e
disable deprecation warnings in Debug build, change message in fp_lib_table.cpp
2014-01-18 03:04:12 -06:00
jean-pierre charras
5954910913
Fix some issues in modview, relative to some a bad use of some wxAuiManager functions.
2014-01-13 16:09:52 +01:00
jean-pierre charras
f0412874c0
Update demo files. A minor code cleaning.
2014-01-10 21:12:36 +01:00
jean-pierre charras
d3f0151ad4
Code cleanup: Pcbnew: move files relative to export functions to the new folder exporters
...
Pcbnew, Eeschema: remove include file <protos.h> from a lot of files which do not need it.
2014-01-08 20:29:46 +01:00
Dick Hollenbeck
a8bc07c832
Add KICAD_REPO_NAME to the about dialog and build_version.cpp
2014-01-08 08:47:39 -06:00
jean-pierre charras
f905b4697e
Code cleanup: Pcbnew: move files relative to exort functions to the new folder exporters
...
all: remove include <protos.h> from a lot of files which do not need it.
2014-01-08 15:18:51 +01:00
Maciej Sumiński
c1e68436f1
Remove assembly language files, and make building Boost optional.
...
https://lists.launchpad.net/kicad-developers/msg11965.html
2014-01-07 19:52:19 -06:00
Dick Hollenbeck
1c0f034bca
Make KiCad compile with minimal warnings against SVN HEAD of wxWidgets as of today.
2014-01-07 19:34:04 -06:00
Cirilo Bernardo
b02f12f440
Commit patch about new better vrml export. patch to fix mirrored page layout when print mirrored is enabled ( page layout should not be mirrored)
2014-01-07 20:27:51 +01:00
Maciej Suminski
bc71a2c007
Removed TOOL_STATE.idle field, as it was redundant.
2014-01-07 14:11:53 +01:00
Maciej Suminski
537d82fb98
Upstream merge.
2014-01-06 10:29:31 +01:00
Dick Hollenbeck
dbb72d161e
fix some compiler warnings
2014-01-03 18:07:20 -06:00
Dick Hollenbeck
cbcf666470
force switch to boost::context, add --force option to bzr clean-tree
2014-01-03 17:17:50 -06:00
Dick Hollenbeck
c264823731
8 bit string relief via class UTF8
2014-01-01 20:17:07 -06:00
Marco Serantoni
54fe3eeeee
[MacOSX] Reorganize OSX Library PATH, first the USER's one then the SYSTEM's one
2013-12-31 15:28:34 +01:00
Dick Hollenbeck
52d3535160
minor tidying
2013-12-31 00:25:53 -06:00
Dick Hollenbeck
f9ab5d2c61
Add -fvisibility options to significantly reduce binary sizes.
...
Switch to boost::context for all platforms, almost.
Please try your platform by commenting out fcontext.s in common/CMakeLists.txt.
2013-12-30 11:53:12 -06:00
jean-pierre charras
612e2ddb4a
fix bugs 1264240, 1264247, 1264239, 1264233 (clang report errors)
2013-12-29 16:12:27 +01:00
jean-pierre charras
a455ab4a90
Fix bugs 1264236, 1264238, 1264254
2013-12-29 12:01:54 +01:00
jean-pierre charras
46e82e4e18
Move HitTestForCorner and HitTestForEdge code from class_zone to polygon/PolyLine.cpp, to avoid redundant code.
...
Fix bug 1264248.
Fix a very minor issue in RemoveTrailingZeros, for countries where the separator in floating numbers is a comma.
2013-12-29 11:15:06 +01:00
jean-pierre charras
f9cc325bd8
Pcbnew, 3D viewer: fix incorrect position of multiline texts.
2013-12-27 08:24:36 +01:00
Dick Hollenbeck
517ca83fbc
Hide m_galCanvas and m_galCanvasActive behind accessors. Fix DLIST concatonation API corner case.
2013-12-26 16:36:43 -06:00
Baranovskiy Konstantin
065966291c
Fix worksheet multiple line text plotting bug. (fixes lp:1261906)
2013-12-23 11:25:13 -05:00
Marco Serantoni
d6292053f3
[MacOSX] Fixing Zone visualization and removing not working code
2013-12-23 16:14:22 +01:00
Maciej Suminski
702a90addc
Merge aligned text fix request.
2013-12-22 11:07:47 -05:00
Maciej Suminski
3dc9f295a4
Fixed cursor force position option.
2013-12-20 16:07:58 +01:00
Maciej Suminski
fe5c5953fc
Upstream merge.
2013-12-20 10:15:00 +01:00
jean-pierre charras
50f6186ebc
Dxf export: fix an issue in exported arcs. Update libdfx.
...
Pcbnew:, libedit, Save lib as...: the new .pretty lib format is the default, instead of legacy .mod format. The legacy format is still selectable in the file selection dialog.
2013-12-19 12:33:57 +01:00
Maciej Suminski
84c496e138
Upstream merge
2013-12-19 11:15:27 +01:00
Baranovskiy Konstantin
de65a7a1da
Fix border and title block line thickness plotting bug. (fixes lp:1261899)
2013-12-18 13:11:15 -05:00
Maciej Suminski
32065b339a
Added const modifiers where applicable (PICKED_ITEMS_LIST).
...
Added PICKED_ITEMS_LIST::FindItem().
2013-12-18 13:27:18 +01:00
Maciej Suminski
4a0407fb69
Removed some debug logs.
2013-12-18 12:46:18 +01:00
Wayne Stambaugh
ca11fcb5c9
Pcbnew: change general properties dialog rotation angle to text edit control.
2013-12-17 16:38:20 -05:00
Wayne Stambaugh
8f6d69e57e
Pcbnew: fix 45 degree rotation angle undo and global variable elimination.
2013-12-16 16:40:03 -05:00
Maciej Suminski
60e3b01ace
Fixed drawing of rotated texts that are not horizontally center aligned.
2013-12-16 10:36:33 +01:00
Povilas Kanapickas
7f12513c7e
Remove some uses of using namespace std.
2013-12-13 10:27:30 -06:00
Dick Hollenbeck
7ba078b620
remove USE_FP_LIB_TABLE code, make it the norm. Add lazy loading support to FOOTPRINT_INFO.
2013-12-12 10:01:03 -06:00
Dick Hollenbeck
ed42092464
Add strtok_r.c
2013-12-10 17:52:51 -06:00
Dick Hollenbeck
e842d711c6
FIX: make LEGACY_PLUGIN re-entrant. extern "C" strtok_r() put conditionally into libcommon.
2013-12-10 17:41:34 -06:00
Maciej Suminski
4940bff891
Commit merge request lp:197913.
2013-12-10 12:14:30 -05:00
Maciej Suminski
3701e13186
Commit merge request lp:197858 (fixes lp:1249736).
2013-12-10 08:43:04 -05:00
Dick Hollenbeck
bb872dd583
spinners initial values and limits.
2013-12-09 16:39:12 -06:00
Wayne Stambaugh
74e43871d4
Fix frame perspective configuration entry name in basicframe.cpp.
2013-12-09 15:27:49 -05:00
Dick Hollenbeck
3582df6a0b
molding mercury.
2013-12-09 13:06:47 -06:00
Dick Hollenbeck
dba4fccec9
*) Change FOOTPRINT_LIST::ReadFootprintFiles( FP_LIB_TABLE*, const wxString*)
...
To use multiple working threads. This entailed adding KiCad typedefs:
*) Add typedefs for MUTEX and MUTLOCK which mask the actual choices for the project.
*) Add FOOTPRINT_LIST::DisplayErrors( wxWindow* ) which is a single strategy for
showing aggregated load errors. Although what's there is only scaffolding
and needs a volunteer who knows HTML pretty well.
*) Ensure all callers of ReadFootprintFiles() use the new DisplayErrors() function.
*) Push utf8.cpp and utf8.h into common library for open use.
2013-12-09 12:09:58 -06:00
Maciej Suminski
d8acd1c718
Moved Init() & Reset() from TOOL_INTERACTIVE to TOOL_BASE.
...
Added REASON enum for Reset() function, so tools will know why a reset occured.
Fixed SELECTION_TOOL (it was bailing out, when a new board was loaded and some items were still selected).
Added removal of VIEW_ITEM groups after changing layers and removing items.
2013-12-09 10:42:38 +01:00
Dick Hollenbeck
5df7288678
complete class UTF8.cpp
2013-12-08 00:48:25 -06:00
Dick Hollenbeck
7d58d82656
common/gal/stroke_font.cpp was segfaulting in wx 2.8 when drawing multi-line string.
2013-12-07 22:47:37 -06:00
Wayne Stambaugh
4f2921f384
Pcbnew: footprint viewer wxAUI improvements.
...
* Make the tool bar dockable.
* Enable the overflow control in the tool bar in case the it does not fit in
it's parent window.
* Fix some wxAuiPaneInfo usage issues.
* Remove unused wxAuiPaneInfo objects.
* Move perspective saving and loading into EDA_BASE_FRAME object in preparation
for extending this to all frame windows.
2013-12-06 19:33:16 -05:00
jean-pierre charras
4374e25219
Plot functions: some enhancements in mirror mode (Pcbnew specific): boards are mirrored horizontally, and the page layout is no more mirrored, and therefore is always readable.
2013-12-06 19:31:15 +01:00
Maciej Suminski
aebb8b3ff9
Fixed an infinite loop in the destructor of ACTION_MANAGER;
2013-12-06 13:57:56 +01:00
Dick Hollenbeck
a2f6faf161
Switch STROKE_FONT::Draw() to take "const wxString&" rather than "wxString" by value.
2013-12-05 12:59:27 -06:00
Dick Hollenbeck
ed29423b78
merge lp:~cern-kicad/kicad/bugfix_1256302 from Orson
2013-12-05 12:55:07 -06:00
Maciej Suminski
dffacc18ec
DIfferent handling of italic texts, depending on the mirroring setting.
2013-12-05 17:00:29 +01:00
Maciej Suminski
24550f3f38
Tilda handling for STROKE_FONT class.
2013-12-05 16:58:32 +01:00
Maciej Suminski
6be27ae2ea
Glyphs and their bounding boxes are held in vectors instead of deque.
...
Moved scaling of font glyphs to the moment when they are created (eliminated a few multiplications unnecessary variables).
Changed some magic numbers into constants.
2013-12-05 16:29:54 +01:00
Maciej Suminski
ca11855f12
Changed std::wstring to wxString.
2013-12-05 16:00:24 +01:00
Maciej Suminski
0e7db24049
Fixed SetCurrentContext() assert, that was firing on closure of pcbnew, when the OpenGL backend was active.
2013-12-05 14:54:30 +01:00
Maciej Suminski
c5a1df6216
ClearHotKey() function.
2013-12-05 14:48:44 +01:00
Maciej Suminski
aa7168708c
Merged upstream
2013-12-05 13:24:27 +01:00
Dick Hollenbeck
879a6225c2
Add a test script for plugin testing, and some asserts, no bugs fixed.
2013-12-03 12:37:21 -06:00
Maciej Suminski
24a317ce28
The Selection Tool is always active. Removed entries for toolbar menu and hotkeys for the tool.
2013-12-03 17:11:22 +01:00
Maciej Suminski
7d788109fe
Merged upstream
2013-12-03 16:43:53 +01:00
Maciej Suminski
ad3cb1f36a
Added TOOL_MANAGER::RunAction() function.
2013-12-03 15:41:41 +01:00
Maciej Suminski
bec2e9b178
Added some comments & asserts.
2013-12-03 15:17:43 +01:00
Maciej Suminski
7678983e38
Fixed non ASCII characters drawing using GAL.
2013-12-03 11:00:52 +01:00
jean-pierre charras
ab36d23595
Pcbnew: fix issue in modedit, undo command: moved fields were not drawn afetr undo (due to incorrect flags state)
...
Fix incorrect initialization of lib names column in EDA_LIST_DIALOG. (Only the row 0 was initialized)
2013-12-03 09:50:58 +01:00
Robert Yates
697d95cc86
Boost::Context support for ARM platform.
2013-12-02 10:59:09 -05:00
Maciej Suminski
08fd9d8cbd
Overridden ViewUpdate() for MODULE class, so it handles its pads, drawings and texts.
2013-12-02 14:35:05 +01:00
Wayne Stambaugh
56e2df79f6
Pcbnew: footprint library table fixes.
...
* Replace illegal file system characters when reading legacy libraries to
prevent FPID parsing errors and allow saving to PRETTY file format.
* Create validator to filter illegal file system characters from footprint
name text edit controls to prevent issues when saving to PRETTY file format.
* Add missing source file licenses and some minor coding policy fixes.
2013-11-29 13:29:41 -05:00
Maciej Suminski
4876dbea24
Storing the selected item position from a context menu.
2013-11-29 16:45:39 +01:00
Maciej Suminski
e76a151ee7
Added a missing file
2013-11-29 16:13:09 +01:00
jean-pierre charras
48f9ea2287
eeschema, Pcbnew: fix Bug #1255822 (incorrect position of multiline texts when plotting them)
2013-11-29 09:13:43 +01:00
Maciej Suminski
af976b2d36
Automatic unregistration of tool actions during ACTION_MANAGER destruction.
2013-11-28 15:24:19 +01:00
Maciej Suminski
c21ae6efca
Double click support for the Tool Framework.
2013-11-28 15:19:50 +01:00
jean-pierre charras
cd9da9dd64
Pcbnew: fix Bug #1255568 (relative to .pos file creation). Minor compil warnings fixes
2013-11-27 20:38:59 +01:00
jean-pierre charras
f068c0d94f
Pcbnew: Autoplace functions: renamed spread footprint functions. Rewritten.
...
Now footprints, after loaded by reading a netlist are grouped by sheets by the footprints spread function, and the grouping is better.
Rename 2 files. Fix minor issues. Clean code
2013-11-27 14:20:42 +01:00
Robert Yates
838d5957cf
Boost::Context support for ARM platform.
2013-11-27 09:48:31 +01:00
Maciej Suminski
06f4662ea0
Profile counter simplified, so it should be more portable.
2013-11-27 09:46:59 +01:00
Dick Hollenbeck
b0c739e7ee
*) Implement "Copy On Write" (COW) support in GITHUB_PLUGIN. See class header
...
comment for GITHUB_PLUGIN which should flow into Doxygen output.
*) Rewrote:
PCB_BASE_FRAME::Save_Module_In_Library(): now uses fp-lib-table and PROPERTIES.
PCB_EDIT_FRAME::ArchiveModulesOnBoard(): now can archive to any writable library type.
PCB_BASE_FRAME::SelectLibrary(): is now generic for selecting a library, not just the active library.
2013-11-27 00:04:04 -06:00
Dick Hollenbeck
56615d1653
FIX: work around for wx 2.8 bug affecting wxListCtrl column resizing.
2013-11-26 11:08:07 -06:00
Maciej Suminski
c6efc451e6
Added ratsnest for GAL
2013-11-25 16:50:03 +01:00
jean-pierre charras
5f01f123de
All: GetBoundingBox returns now a const EDA_RECT.
...
Pcbnew: Code cleaning and bug fix in autoplace functions
Dialog exchange footprints has now a separate button to update the .cmp file, only on request.
2013-11-24 18:48:14 +01:00
Dick Hollenbeck
8df7407b80
FIX: regression loading of SMD pads within EAGLE_PLUGIN::FootprintLoad().
...
FIX: unique renaming of eagle footprints by substituting illegal : and / with URL encoding technique.
ADD: window resize border to DisplayError() windows.
2013-11-20 10:35:03 -06:00
Dick Hollenbeck
abfeab02d7
FIX: wx 2.8 convert to UTF8 differently than 2.9 caused problems in DIALOG_FP_PLUGIN_OPTIONS.
2013-11-19 14:38:29 -06:00
Dick Hollenbeck
f3ad2463e2
*) Switch to later environment variable expansion in fp-lib-table.
...
*) Save library nickname in APP so upon module editor re-entry last is re-used.
*) Fix bug editing fp-lib-table Description field.
2013-11-19 11:24:45 -06:00
jean-pierre charras
5a50b968d5
Eeszchema: Minor fixes.
...
Code cleanup: remove m_Son member in EDA_ITEM which was never used.
2013-11-19 17:27:13 +01:00
Dick Hollenbeck
9546c59fab
more useable, in the face of wx 2.8 vs. 3.0 differences.
2013-11-18 16:42:01 -06:00
Dick Hollenbeck
b177716b65
Work around wx 2.8 bug in wxListControl not honoring omissing of wxHSCROLL.
2013-11-18 16:03:34 -06:00
Dick Hollenbeck
300a047ffe
more EDA_LIST_DIALOG usability enhancements, compiler warning, coding standards
2013-11-18 13:27:27 -06:00
Dick Hollenbeck
7cf3467851
Show the "Description" field from fp-lib-table in pcbnew's module editor 'set current library' dialog.
2013-11-18 10:04:23 -06:00
jean-pierre charras
25bfd82240
Fix a compatibility issue for wxWidgets 3.0, when moving cursor by arrow keys.
...
Fix a very minor bug (2 duplicate lines when copying version informations to the clipboard)
2013-11-17 17:48:47 +01:00
Dick Hollenbeck
6aabb9bc38
EDA_LIST_DIALOG_BASE is used multiple times for different numbers of
...
columns. DIALOG_SHIM would resize each separate usage to the same
size. DIALOG_SHIM now supports and alternate m_hash_key in lieu
of the class name, optionally.
2013-11-17 00:04:20 -06:00
Baranovskiy Konstantin
94db11a8f6
Fix justification of vertically aligned multi-line text.
2013-11-16 20:31:07 -05:00
Dick Hollenbeck
53e8c9b2c2
fix link error with multiply used edaapl.cpp
2013-11-15 09:12:07 -06:00
Dick Hollenbeck
593aa2dc12
Show KISYSMOD in DIALOG_FP_LIB_TABLE even if it has not been referenced by a URI.
2013-11-15 08:36:11 -06:00
Dick Hollenbeck
7196e7bc98
Show KIPRJMOD in DIALOG_FP_LIB_TABLE even if it has not been referenced by a URI.
2013-11-15 08:11:46 -06:00
jean-pierre charras
9f9f2ed380
Minor code cleaning: Remove unused file, remove obsolete or useless defines
2013-11-15 10:28:31 +01:00
jean-pierre charras
568a43b917
Minor fix about version information when BUILD_GITHUB_PLUGIN is on
2013-11-15 08:24:10 +01:00
Wayne Stambaugh
0d6efaab94
Minor copy version information improvements.
...
* Add build type (debug/release) for wxWidgets library versions greater
than 2.8.
* Add build type (debug/release) for KiCad.
* Add missing build options.
2013-11-14 09:21:32 -05:00
Dick Hollenbeck
b9bd421184
format string concatenation bug
2013-11-13 13:59:47 -06:00
Maciej Suminski
89b80b2bcd
Merged rtree.h, to avoid code duplication.
...
Fixes the case, when waste is never greater then the worst case and seeds assignment does not occur.
2013-11-13 17:03:22 +01:00
Maciej Suminski
fc4f9195b6
Fixed wx2.8 strings compatibility.
2013-11-13 15:52:06 +01:00
Maciej Suminski
5235d7e5eb
Modified error handling for OpenGL backend, now error messages should be visible.
2013-11-11 10:48:49 +01:00
Maciej Sumiński
bb0f4b9ac3
Patches one by Lorenzo, one by Orson
2013-11-06 11:17:42 -06:00
Maciej Suminski
bae5780dc3
Fixes missing worksheet layout when there is no PCB loaded and all random brightness changes for the Cairo rendering backend.
2013-11-05 15:22:49 -05:00
jean-pierre charras
44d9607461
Pcbnew: Fix incorrect bounding box calculation of texts. Only noticeable with boards conveted from Eagle, which are using other text justification than center.
...
Eagle plugin: filter and replace not allowed chars in FPID(-':' and '/') by _ or -, if they are used in Eagle footprint names (otherwise, boards converted and saved under kicad_pcb format are not readable by Pcbnew).
2013-11-05 18:12:27 +01:00
jean-pierre charras
db5409dfc7
Disable patch from Baranovskiy Konstantin about vertical justification of multiline texts, because it does not work for rotated/mirrored texts
2013-11-04 18:20:54 +01:00
jean-pierre charras
f956fbd8ac
painter: better size of pad nums and pad netnames in opengl mode
2013-11-04 18:18:19 +01:00
Wayne Stambaugh
fe54ceacab
Fix debug builds on wxWidgets 2.8.
2013-11-03 13:15:46 -05:00
Dick Hollenbeck
42ef7f6215
*) Start removing some of the problematic "<%s>.." format strings, which won't
...
pass into an HTML rendering panel and otherwise look goofey.
*) Implement BOARD::Move() can call it from EAGLE_PLUGIN::Load().
*) When USE_FP_LIB_TABLE, tolerate blank nicknames in FPIDs coming from eeschema.
See the switch for this in pcbnew/netlist.cpp as ALLOW_PARTIAL_FPID.
*) Add an assert and a try catch block to figure out that View does not
like some eagle pcb board. bitset::set() is getting a -1 value and firing
an exception.
2013-11-01 19:24:38 -05:00
Dick Hollenbeck
53e04ce7a6
cvpcb was not filtering on the current library when USE_FP_LIB_TABLE.
...
<%s> being replaced with '%s' because the former in invisible in html panels.
Cure some compiler warnings.
2013-10-31 16:30:57 -05:00
Wayne Stambaugh
1173eff777
Shorten footprint library table environment variable KICAD_PRJ_PATH to KIPRJMOD.
2013-10-31 09:08:36 -04:00
jean-pierre charras
b8d81d263c
Pcbnew: fix a crash when a non ascii char (i.e. a char having a code > 127) is found in a text (see Bug #1246340 ).
...
Could be only a temporary fix (tested only with French non ascii chars).
2013-10-30 21:07:52 +01:00
Dick Hollenbeck
416c44615a
memory leak, comments
2013-10-30 00:14:11 -05:00
Maciej Suminski
edc43c19cd
Fix colorized framebuffer output on some GPUs.
2013-10-29 17:53:47 +01:00
Maciej Suminski
f615c462a2
Changed the used framebuffer object extension from ARB_framebuffer_object to EXT_framebuffer_object (compatibility reasons).
2013-10-29 17:28:29 +01:00
Maciej Suminski
e13f862145
Merged upstream.
2013-10-28 21:34:06 +01:00
Maciej Suminski
c7bc1e151c
GAL is not activated by default. Late OpenGL backend initializatization.
2013-10-28 16:51:56 +01:00
Wayne Stambaugh
f0b2565f12
Eeschema find/replace bug fixes and improvements (fixes 1208616).
...
* Fix replace bug to handle case sensitivity properly.
* Fix replace bug where the item index was getting updated incorrectly.
* Fix replace infinite loop bug on replace all.
* Make find/replace view update code a separate function.
* Rearrange find/replace trace string to add tracing to EDA_ITEM::Replace().
* Add IsComplexHierarchy method to SCH_SHEET_LIST for future find/replace
improvements.
2013-10-27 14:21:53 -04:00
jean-pierre charras
7e3551d371
Add patch from Baranovskiy Konstantin about vertical justification of multiline texts.
...
Fix issues created by this patch.
Note, this fix slightly changes the vertical position of these texts.
This is not really a problem in eeschema, but in pcbnew this is perhaps more annoying, if the verical multiline text is critical.
Fix a very minor issue for vertical justification of single line texts in dxf import.
2013-10-25 14:16:18 +02:00
Dick Hollenbeck
1731e89508
*) Factor out Cut, Copy, and Paste for wxGrid into class common/GRID_TRICKS.
...
*) Use it on 3 grids total in DIALOG_FP_PLUGIN_OPTIONS and DIALOG_FP_LIB_TABLE.
*) Fix bug when pasting "(fp_lib_table" text into FP_LIB_TABLE.
2013-10-23 13:56:03 -05:00
jean-pierre charras
503ee825c9
All: fix bug making IsOK dialog always returns false, regardless the button clicked.
2013-10-19 15:22:24 +02:00
jean-pierre charras
b0e2908c9b
pl_editor: add a PPI (pixel per inch) setup option for bitmaps.
2013-10-19 12:29:54 +02:00
jean-pierre charras
6bb62a7196
Remove duplicate files.
...
Page layout editor: Add bitmap items to the page layout existing items.
Now a bitmap image can be added to a page layout description. Currently the bitmap is expected having a 300 ppi definition.
Note: not all plotters can plot a bitmap, and in this case the bounding box is plotted instead of the bitmap
2013-10-18 19:38:03 +02:00
Wayne Stambaugh
9e9450e272
Fix bug due to change in the default global footprint library table file name.
2013-10-18 12:06:18 -04:00
jean-pierre charras
7acc3e67ce
page layout editor: now one can add a bitmap to the page layout
2013-10-18 17:42:48 +02:00
Wayne Stambaugh
612ba67c10
Minor message box improvements
...
* Create a generic yes/no/cancel dialog from DIALOG_EXIT.
* Make DIALOG_EXIT return wxID_YES instead of wxID_OK so it is consistent
with the standard message dialogs.
* Add missing license to confirm.h and confirm.cpp.
* Change Eeschema message dialog when loading a schematic if the current
schematic is modified to be more consistent with the exit dialog.
* Change Pcbnew message dialog when loading a board if the current board
is modified to be more consistent with the exit dialog.
* Remove some Eeschema block debug logging code left over from my last
commit.
2013-10-18 09:32:22 -04:00
jean-pierre charras
7622d6c985
Remove duplicate files
2013-10-18 12:33:50 +02:00
Maciej Suminski
5249b1a6da
Renamed TOOL_MOUSE_BUTTONS constants to avoid name conflict with Windows MB_RIGHT constant.
2013-10-15 10:41:00 +02:00
Maciej Suminski
bc305859b2
Mainly case changes.
2013-10-14 20:40:36 +02:00
Maciej Suminski
0ac3e1fbf2
Namespace KiGfx->KIGFX.
...
template<> -> template <>
Some more reformatting according to uncrustify results.
2013-10-14 16:13:35 +02:00
Maciej Suminski
22045b61ea
Converted tabs to spaces. Removed trailing whitespaces.
2013-10-14 13:43:57 +02:00
Maciej Suminski
4b6c6a5c98
Merged 'testing'
2013-10-14 11:40:14 +02:00
Maciej Suminski
75bb84704d
Added error messages for OpenGL framebuffer errors. This should eliminate quiet segfaults in case of drivers that cannot handle multiple attachment points for framebuffers.
2013-10-14 11:39:21 +02:00
Wayne Stambaugh
c674314859
Fix bug when creating initial global footprint library table on Windows.
2013-10-13 20:14:52 -04:00
Dick Hollenbeck
afd6f292e7
*) Switch over to FP_LIB_TABLE::Footprint*() functions.
...
*) Set environment variable KISYSMOD before loading FP_LIB_TABLE so that
FP_LIB_TABLE::ROW::SetFullURI() can do substitution up front.
*) De-emphasize the lib path in some of the footprint frames but keep it
so the footprint editor can export a current library to another.
You can even export a GITHUB library to a pretty library for local
installation.
*) Start the PLUGIN options editor.
*) Enhance cursor positioning in DIALOG_FP_LIB_TABLE.
2013-10-13 16:33:58 -05:00
Wayne Stambaugh
8580d87ef7
Footprint library table improvements.
...
* Add save table and set project path environment variable code to
FP_LIB_TABLE object.
* Add code to Pcbnew and CvPcb to set project path environment variable.
* Create empty footprint table in Pcbnew when new board created.
* Save current project specific footprint library table to path on file save
as or empty project path.
* Fix a bug in Pcbnew in file save function that would silently overwrite
an existing board file.
* Disable selecting the current library in the module editor when there are
no libraries defined.
* Catch exceptions and report errors when writing footprint library tables.
* Fix Boost build CMakeFile to fix bug when bootstrapping a Boost build in
MSys.
2013-10-13 12:29:20 -04:00
jean-pierre charras
a8e57e10e8
Remove wxUSE_UNICODE definition from CMakeLists.txt, because this define comes from wxWidgets and should not be made inside kicad
...
Remove KICAD_GOST option because it is now useless: the 2 GOST options are now selectable at run time and are:
* specific page layouts (now user definable, and the GOST page layouts are available in template folder)
* notation for multiple parts per package (made in eeschema, preference menu)
2013-10-11 18:24:43 +02:00
Dick Hollenbeck
ec7f26f54b
FP_LIB_TABLE::ROW::SetFullURI() does environment variable substitution up front.
...
We can now remove a few calls to FP_LIB_TABLE::ExpandSubstitutions( const wxString& aString )
since its being done in above function.
DIALOG_FP_LIB_TABLE now handles table to copy cut copy paste from global to
project and reverse. Fixed a problem with cursor position management when
switching between tables.
2013-10-05 05:34:55 -05:00
Dick Hollenbeck
248788f381
Put FP_LIB_TABLE::Footprint*() functions on stage, but comment out lazy plugin lookup trick in FindRow() until these new API functions are used.
2013-10-04 23:53:15 -05:00
Dick Hollenbeck
a90975d11c
FP_LIB_TABLE::ROW::SetType() ensures sensible value of "KiCad" if nothing good comes in.
2013-10-04 17:40:25 -05:00
jean-pierre charras
7a2593832d
Fix Cmakelists issues
2013-10-04 14:48:50 +02:00
jean-pierre charras
79443fdbe5
Move specctra.cpp, specctra_import.cpp and specctra_keywords.cpp compilation to pcbcommon lib because they containt functions used by the 3D viewer in Cvpcb and Pcbnew.
2013-10-04 14:22:33 +02:00
jean-pierre charras
dd64b2f284
3D board display: better rendering of the board: the board polygon outlines (generated by the specctra function) is now used to create the 3D body of the board.
2013-10-04 10:42:09 +02:00
Dick Hollenbeck
e45ed220f9
DIALOG_FP_LIB_TABLE does not use wxSplitterWindow, it would not obey.
...
Paste popup menu in this dialog now allows pasting a (fp_lib_table)
s-expression element holding (lib) elements. This provides an
opportunity for GITHUB library publishers to put the table description
into their README.md file as a (fp_lib_table) element where it can
be quickly copied to clipboard and pasted into the fp lib table dialog.
This is a paste operation, and overwrites from the initial cursor position.
2013-10-03 17:12:56 -05:00
Maciej Suminski
3c738faed6
Renamed WORKSHEET_ITEM to WORKSHEET_VIEWITEM.
2013-10-02 14:26:14 +02:00
Maciej Suminski
54946f46f7
Fixed memory leak caused by ViewUpdate() with VIEW_ITEM::GEOMETRY/LAYER parameters.
2013-10-02 13:57:21 +02:00
Maciej Suminski
86000832fe
Added typedefs for VIEW_GROUP iterators. Fixed improper order of layer drawing for VIEW_GROUP items.
2013-10-02 10:19:48 +02:00
Maciej Suminski
87a9964c78
VIEW_GROUP now does not change depth during drawing. Introduced functions for manipulating stored items.
...
FIxed problem of overlay being covered by other layers while panning.
Few minor fixes.
2013-10-01 16:55:33 +02:00
Maciej Suminski
d2618caabc
Added missing file
2013-09-30 16:28:21 +02:00
Maciej Suminski
43b5aa4c8d
Fixed Mac OS build & removed one warning.
2013-09-30 09:45:42 +02:00
Maciej Sumiński
a6a1af9d75
Restored previous version of math_utils.h. WARNING: Mac OS build is probably broken now.
2013-09-29 21:29:28 +02:00
Maciej Sumiński
6409f7f96b
wxWidgets 2.8 compatibility fix (removed wx/kbdstate.h)
2013-09-29 14:25:04 +02:00
Maciej Sumiński
e1290101aa
Fixed strings for wxWidgets 2.8
2013-09-29 12:57:20 +02:00
Maciej Suminski
35721397bd
Moved common actions to a separate file.
2013-09-27 20:52:34 +02:00
Maciej Suminski
6b74b5771a
Even more code comments and reformatting.
2013-09-27 18:51:21 +02:00
Maciej Suminski
3f320e4d68
Some more comments and code formatting.
2013-09-27 16:23:43 +02:00
jean-pierre charras
f2e5da63e3
Eeschema: netlist generation: fix bad choice for the "best net name" when selecting a net name between labels connected to the same net.
...
Code cleanup and remove unused file.
2013-09-27 14:30:35 +02:00
Maciej Suminski
5e3030ee89
Merge kicad-pns-mac
2013-09-27 12:06:59 +02:00
Maciej Suminski
936e0be090
Uncrustified the push&shove source, fixed some warnings.
2013-09-27 10:00:26 +02:00
Maciej Suminski
87b3f2e499
Added Init() to TOOL_INTERACTIVE, allowing to set up things that are needed to be initialized only once.
...
TOOL_ACTIONs can be run from CONTEXT_MENU after adding them.
Move tool actions are available to be run from CONTEXT_MENU displayed after right mouse button click on selected items.
Added some asserts to check the code.
2013-09-26 18:38:58 +02:00
Dick Hollenbeck
5f0679bf6e
comment/doc cleanups
2013-09-26 10:02:46 -05:00
Maciej Suminski
e6c20adc5a
Fixed premature highlighting of options in CONTEXT_MENU.
2013-09-26 14:29:47 +02:00
Maciej Suminski
61066fa608
Added functions for handling hotkeys, interface for adding TOOL_ACTIONs to CONTEXT_MENU.
...
Less objects are allocated dynamically.
CONTEXT_MENU is being run using its copy (it saves a hassle of following the lifetime of object).
2013-09-26 14:09:18 +02:00
Maciej Suminski
7b7a331645
Added some const modifiers.
2013-09-26 11:22:59 +02:00
Dick Hollenbeck
4f7c7eb174
Make pretty prettier by striving for single line module pads. Add slick std::string based strprintf(), twice.
2013-09-26 00:29:54 -05:00
Dick Hollenbeck
f72394cc6b
Make PLUGIN::Footprint*() API functions take 'const' PROPERTIES*.
...
Add const PROPERTIES* to FootprintDelete().
Add {Get,Set}Properties() to FP_LIB_TABLE::ROW.
Touch up fp table dialog.
2013-09-25 14:17:06 -05:00
Dick Hollenbeck
74ce031e62
Set PROPERTIES* into FP_LIB_TABLE::ROW, which is a parsed (binary) form of the 'options'.
...
Write parser and formatter for options. Write dialog verification used before saving
FP_LIB_TABLEs, triggered from OK button in table editor.
Switch PROPERTY's value column to std::string from wxString.
Add event handler to fp lib table dialog for upcoming options dialog.
2013-09-24 16:23:13 -05:00
Wayne Stambaugh
85777d6569
Pcbnew footprint library plug in fixes and minor code cleaning.
...
* When loading footprint do not retest every footprint in cache. Only test
the footprint being loaded. Fixes long load times on libraries with a lot
of parts.
* Fix footprint name bug where file extension was added to the end of the
footprint name.
* Fix bug in path equivalence test due to Posix path separators in footprint
library table. Convert paths to native separator before comparison.
* Fix a bug in FOOTPRINT_VIEWER_FRAME::OnActivate() which cause the footprint
list to always get reloaded when using footprint library tables.
* Remove some unnecessary debugging messages.
* Add a few Doxygen comments to FP_CACHE in kicad_plugin.cpp.
2013-09-24 14:45:57 -04:00
Maciej Suminski
d1578e4e1a
Fixed cvpcb build.
2013-09-24 16:12:02 +02:00
Maciej Suminski
1624320749
Added protection from redrawing while GAL backend is being switched.
2013-09-24 16:00:21 +02:00
Maciej Suminski
1de8eba49e
Added functions for refreshing the layer set occupied by a VIEW_ITEM.
2013-09-24 15:48:04 +02:00
Maciej Suminski
96d162c907
Added possibility to cancel a tool that is not on the top of the tool stack.
2013-09-24 15:47:07 +02:00
Maciej Suminski
7837dfa3ac
Fixed build for Mac OS
2013-09-23 17:02:25 +02:00
Wayne Stambaugh
0f4ba09545
Pcbnew footprint library table fixes.
...
* Make footprint viewer work properly with library table.
* Fix bug in Eagle plugin when enumerating footprints.
* Add missing P-CAD plugin from footprint library table editing dialog.
* Fix bug in FOOTPRINT_INFO::LoadLibraries when error occur loading footprints
from libraries.
2013-09-21 20:28:02 -04:00
jean-pierre charras
e9713bb291
Pcbnew: Block selection enhancement, from Bug #593997 (whishlist)
...
1. block created from-left-to-right selects only 100%inside selection objects (as it now does)
2.block created from-right-to-left selects all overlapping objects inside selection
From the patch sent by mathieulj (mathieulj), and some fixes and code cleaning.
2013-09-21 20:09:41 +02:00
jean-pierre charras
d5ecafd5af
Fix some minor issues in hotkey dialogs
2013-09-21 19:09:08 +02:00
Dick Hollenbeck
4a2f86932a
Early GITHUB_PLUGIN hopefull-ness
2013-09-21 02:30:23 -05:00
Maciej Suminski
7db595da31
Added missing files
2013-09-20 18:21:01 +02:00
Maciej Suminski
8e472c736a
Merged upstream.
2013-09-20 17:54:35 +02:00
Maciej Suminski
a991cb4470
Changed the way of refreshing canvases (both standard & GAL).
2013-09-20 17:29:32 +02:00
Maciej Suminski
c00533a150
Merged kicad-gal
2013-09-20 15:48:27 +02:00
Maciej Suminski
2c03bf4109
Removed TA_ActivateTool (now tools are invoked by sending TA_Action event, with the tool name as string parameter).
...
Developed TOOL_Action class & added ActionManager. Hot keys registered by tools are processed.
Selection & move tool can be invoked by a hot key.
2013-09-19 17:02:57 +02:00
Maciej Suminski
9b16651607
Added limits for VIEW scale values & panning area.
2013-09-18 17:36:54 +02:00
Maciej Suminski
dcb5d8f25c
Merged Tom's branch
2013-09-18 16:59:08 +02:00
tomasz.wlostowski@cern.ch
88ee288465
VIEW_CONTROLS: added ForceCursorPosition() and ShowCursor() methods
2013-09-18 13:15:42 +02:00
tomasz.wlostowski@cern.ch
dea793209d
VIEW: added GetTopLayer() method
2013-09-18 13:14:57 +02:00
tomasz.wlostowski@cern.ch
23298886a1
geometry: killed compiler warnings
2013-09-18 13:14:13 +02:00
tomasz.wlostowski@cern.ch
d8480e4674
gal: make the cursor a bit bigger and hidden by default
2013-09-18 13:13:03 +02:00
Maciej Suminski
3f6fa86190
Fixed random color of worksheet border.
2013-09-17 14:46:48 +02:00
Wayne Stambaugh
0224bc2f58
Fix but reading empty footprints in netlist. (fixes lp:1226283)
...
* Remove fp_lib token from board and s-expr netlist file format.
* Fix a bunch of Doxygen warnings.
* Remove some extra debug log messages.
2013-09-16 20:52:08 -04:00
Maciej Suminski
ab21124b71
Reenabled snapping for tools.
2013-09-16 16:46:02 +02:00
Maciej Suminski
373c8d6441
Changed to worksheet border color to match the rest of the worksheet layout.
2013-09-16 15:19:48 +02:00
Maciej Suminski
573f9841df
Better way of marking 'brightened' mode for items.
2013-09-16 11:00:59 +02:00
Maciej Suminski
9fbf45ebfc
Fixed drawing outlined track segments.
2013-09-16 09:51:53 +02:00
Maciej Suminski
e0f3e2900b
Changed alignment.
2013-09-16 09:51:24 +02:00
Wayne Stambaugh
ce409e3699
CvPcb footprint library table implementation.
...
* Add code to CvPcb to handle assigning component footprints from the
footprint library table instead of the search path method.
* Add code to CvPcb to allow editing of the footprint library table.
* CvPcb footprint and component panes display fully qualified FPID names.
* Make CvPcb library pane display footprint library table nicknames instead
of library file names.
* Add code to FP_LIB_TABLE object to test the paths in the table against the
list of libraries loaded from the project file.
* Add code to FP_LIB_TABLE to convert assigned footprints in a NETLIST from
legacy format to footprint library table format.
* Split out COMPONENT_NET, COMPONENT, and NETLIST objects from netlist_reader
files and create new pcb_netlist files.
* Fix minor wxListView scroll bar sizing issues.
* Add new token and code to save and load FPID nickname in board file.
* Add new token and code to save and load FPID nickname in s-expression net
list file.
* Add WX_STRING_REPORT object to dump strings to a wxString object.
2013-09-14 16:33:22 -04:00
tomasz.wlostowski@cern.ch
886a3e937a
Merged Orson's branch
2013-09-13 15:45:03 +02:00
Maciej Suminski
782867f7b3
Caps for lines are drawn only when segments are wider than 1.0
2013-09-13 15:30:45 +02:00
tomasz.wlostowski@cern.ch
00ecafe94f
common/profile.h: fix incorrect #endif
2013-09-13 15:28:51 +02:00
Maciej Suminski
e00c8e92cb
Removed VIEW_LAYER.isDirty flag.
2013-09-13 11:38:16 +02:00
Maciej Suminski
42860b5d02
Changed VIEW::PrepareTargets() to more appropriate name VIEW::ClearTargets(). Added SELECTION layer to always-on-top list.
2013-09-13 11:28:47 +02:00
Maciej Suminski
f9cc914960
Mouse movement events are sent during autopanning, as the cursor position changes in the world coordinates (even if it stays still in the screen coordinates). It allows tools to update their state, as if the mouse was moved.
2013-09-13 10:26:08 +02:00
Maciej Suminski
d9ff4b851a
Currently selected layer is displayed on the top.
2013-09-12 18:24:53 +02:00
Maciej Suminski
82fe1a4972
Merged Tom's branch
2013-09-12 17:42:28 +02:00
tomasz.wlostowski@cern.ch
f85bf48a4b
EDA_DRAW_PANEL_GAL: redraw stuff in a single place, with "coalescing"
...
Redraws can be requested way too often than it is required. This commit adds redraw timeout:
- if the view became dirty and there has been no redraw for longer than certain time, it is redrawed immediately
- otherwise, we wait for the next frame
This in general improves smoothness of rendering.
2013-09-12 11:40:16 +02:00
tomasz.wlostowski@cern.ch
660d4cc6c9
CONTEXT_MENU: null pointer check bugfix.
2013-09-12 11:36:19 +02:00
tomasz.wlostowski@cern.ch
c3759d870c
COLOR4D: added Saturate(), FromHSV(), ToHSV() methods.
...
Used in highlighting/routing code.
2013-09-12 11:35:42 +02:00
Maciej Suminski
b04de0cada
Fixed memory leaks in containers.
2013-09-12 09:44:57 +02:00
Maciej Suminski
d13355f7fe
Removed some potential memory leaks.
2013-09-11 19:37:52 +02:00
Maciej Suminski
f179183dea
Removed some dead code.
2013-09-11 16:38:40 +02:00
Maciej Suminski
90a3b97c2f
Added drawing of worksheet layout.
2013-09-11 14:42:12 +02:00
Maciej Suminski
e2f5b2779f
Changed lifetime of RENDER_SETTINGS (now they are accessible right after PAINTER object is created).
2013-09-11 12:09:22 +02:00
Maciej Suminski
afe2e27b0a
Moved GetColor() from PAINTER to RENDER_SETTINGS. Fixed recaching of custom items.
2013-09-11 11:39:46 +02:00
Maciej Suminski
c5d3376c26
Changed some 'magic numbers' into constants. Added const modifier in appropriate spots.
2013-09-11 11:34:10 +02:00
Maciej Suminski
cd56848326
Added one more function to convert colors.
2013-09-11 11:11:27 +02:00
Maciej Suminski
7d4aed1099
Fixed COLOR4D( EDA_COLOR_T aColor ) and added asserts.
2013-09-11 10:30:39 +02:00
tomasz.wlostowski@cern.ch
9eb3916852
Merged kicad-gal-orson
2013-09-10 19:32:19 +02:00
tomasz.wlostowski@cern.ch
fa817b7475
pcbnew: start integrating P&S router
2013-09-10 19:26:44 +02:00
tomasz.wlostowski@cern.ch
b73474bda6
VIEW_GROUP: added FreeItems() method
2013-09-10 19:25:02 +02:00
tomasz.wlostowski@cern.ch
f14db7c78c
TOOL_MANAGER: open menu on right mouse button when requested
2013-09-10 19:23:15 +02:00
tomasz.wlostowski@cern.ch
9daa1ab52a
TOOL_DISPATCHER: improve mouse handling
2013-09-10 19:22:38 +02:00
Maciej Suminski
08e797551b
Modified default grid/origin settings.
2013-09-10 14:35:10 +02:00
Maciej Suminski
5659dd479e
PCB items are refreshed on GAL switching (changes made using default renderer are displayed by GAL).
2013-09-10 13:57:28 +02:00
tomasz.wlostowski@cern.ch
6ac8188f7f
common: minimum version of the shape library
2013-09-10 13:43:09 +02:00
Maciej Suminski
87da6a8ad3
Fixed hanging up of menu loop when user never moves mouse cursor into popup menu area.
2013-09-09 17:12:03 +02:00
tomasz.wlostowski@cern.ch
b0694e0333
EDA_DRAWPANEL_GAL: set focus on mouse enter to catch all key events
2013-09-09 17:07:03 +02:00
Maciej Suminski
d0749a3a52
Small refactoring.
2013-09-09 14:31:27 +02:00
Maciej Suminski
8a4417ec46
Fixed color for drawing polygons on overlay.
2013-09-09 14:31:13 +02:00
Maciej Suminski
cba1e0bf91
Stops autopanning on left mouse button release.
2013-09-09 13:57:56 +02:00
Maciej Suminski
0dc587e2ef
Tools are enabled to switch snapping cursor to grid.
2013-09-09 10:54:11 +02:00
Maciej Suminski
dbbe628b8c
Modified interfaces for [WX_]VIEW_CONTROLS.
2013-09-09 10:53:46 +02:00
Maciej Suminski
31f7ecc16a
First version of the move tool.
2013-09-09 09:34:52 +02:00
Wayne Stambaugh
230c5f8f5a
Convert footprint definitions from wxString to FPID.
...
* Use FPID instead of wxString in MODULE object.
* Use FPID instead of wxString when loading and saving files.
* Use FPID in COMPONENT object.
* Add wxString helper functions and comparison operators to FPID.
* Add fp_lib token to pcb and netlist file formats.
* Add code to load and save FPIDs to pcb file format.
* Fix segfault when deleting invalid footprint library tables in Pcbnew
in non footprint library table build.
* Fix bug when counting the number of mod files in
EDA_APP::SetFootprintLibTablePath();
2013-09-08 14:31:21 -04:00
Maciej Suminski
f1b0ffd3d7
Changed focus owner of LayerWidget to EDA_DRAW_PANEL_GAL to make keyboard events work (apparently everything works fine, to be tested more extensively).
...
Removed unnecessary event hook from EDA_DRAW_PANEL_GAL.
2013-09-06 17:53:01 +02:00
Maciej Suminski
8658d90663
Some more spots where the GAL refresh was required.
2013-09-06 17:06:02 +02:00
Maciej Suminski
f2b4c7a18b
Added a few comments.
2013-09-06 16:01:46 +02:00
Wayne Stambaugh
9ab7c18f46
Footprint library table ground work.
...
* Remove defined CMAKE_INSTALL_PREFIX for Windows from main CMakeList.txt.
* Move footprint library path detection code from pcbnew.cpp to EDA_APP
object.
* Add CMAKE_INSTALL_PREFIX to config.h.cmake.
* Simplify and fix search path list code.
* Add CMAKE_INSTALL_PREFIX to the list of search paths in case KiCad was
installed using `make install`.
* Add default global footprint library table to CMake install.
* Add method to set footprint library table to PCB_BASE_FRAME object.
* Remove unused function EDA_APP::GetLibraryFile().
* Minor FP_LIB_TABLE object improvements.
2013-09-06 08:17:33 -04:00
Maciej Suminski
ab4cb862b0
Solved refreshing issues.
2013-09-06 11:31:16 +02:00
Maciej Suminski
f93d297cb5
Some comments.
2013-09-04 16:25:57 +02:00
Maciej Suminski
bf3690d841
More effective way of updating bounding boxes. IsCached() method made public. Removed some of unused fields from the layer description structure.
2013-09-04 16:23:26 +02:00
Maciej Suminski
55744d1e9a
Fixed Cairo's render target setting.
2013-09-03 17:46:05 +02:00
jean-pierre charras
ede208f3cb
Pcbnew: use pcb layer box selector in dialog graphic item properties and pcb text properties.
2013-09-03 14:48:38 +02:00
Maciej Suminski
f4ec1e729e
Allow invoking GAL tools, only if GAL is active.
2013-09-02 16:44:13 +02:00
Maciej Suminski
8e88a621ba
Corrected behaviour of drag panning while autopanning is enabled.
2013-09-02 16:26:42 +02:00
Maciej Suminski
e8083ae808
Added some comments and changed names of classes to match the coding rules.
2013-09-02 14:21:12 +02:00
Maciej Suminski
fef50dd81e
Changed way of naming VIEW_ITEM update flags to be more explicit.
...
VIEW_ITEMs save the layer numbers they use, it allowed to speed up removal of items.
2013-09-02 11:49:46 +02:00
jean-pierre charras
047749a8dc
minor changes and refinement in class pcb layer box
2013-09-02 11:06:17 +02:00
jean-pierre charras
684bfad0af
Cleaning code for PCB_LAYER_BOX_SELECTOR class, and use it in edit dimension dialog.
2013-09-01 20:38:11 +02:00
jean-pierre charras
6c14eee672
Pcbnew: Redesign layer selection and layer pair selection (give them a look near the Layer selector in toolbarr)
2013-08-30 21:28:31 +02:00
Maciej Suminski
d0fc362ec6
Fixed warning.
2013-08-30 14:43:18 +02:00
Maciej Suminski
fb9a4c2bfc
Added stacking for tools.
2013-08-30 10:37:26 +02:00
Maciej Suminski
edea2f9112
Reduced displayed events information.
2013-08-29 12:03:57 +02:00
jean-pierre charras
90b820a52c
Pcbnew: enhancements for blind/buried vias palcement, and save blind/buried vias allowed option in .kicad_pcb file
2013-08-28 18:14:39 +02:00
Maciej Suminski
bd8998d1da
Fixed cursor drawing for OpenGL.
2013-08-28 17:06:07 +02:00
Maciej Suminski
6fe086ab6d
Added cursor snapping.
2013-08-28 16:25:42 +02:00
Maciej Suminski
215f35e237
Added mouse cursor drawing.
...
Added flipping mode.
2013-08-27 18:08:32 +02:00
Maciej Suminski
32e962e8ee
Merged upstream and Mac OS X build fixes.
2013-08-27 11:03:06 +02:00
Maciej Suminski
9b52e9dd89
Fix for wxWidgets 2.9.5
2013-08-26 14:23:17 +02:00
Maciej Suminski
3962464190
Fixed linking errors for apps other than pcbnew.
2013-08-26 10:43:22 +02:00
Maciej Suminski
b03f97b991
Removed some unnecessary stuff and added some comments to WX_VIEW_CONTROLS.
2013-08-23 10:56:52 +02:00
jean-pierre charras
4428d69a63
Pcbnew: Fix a bug when reading a netlist which forces pcbnew to read lib files to find a footprint even if the right footprint is already loaded (which explains the long time to load netlists)
...
Netlist dialog: add option to report only most important messages. Useful for large boards.
class REPORTER: add features to allow a basic message filtering (flags to report all/warning/error messages)
Fix Bug #1214599 ( tools are deselected on Move command )
2013-08-23 08:38:57 +02:00
Maciej Suminski
961a8c2eca
Added autopanning functionality to WX_VIEW_CONTROLS.
2013-08-22 18:42:53 +02:00
Maciej Suminski
875c0f7062
Modified InvokeTool(), so besides resetting the tool, it also send an ActivateTool event.
...
Added generation of CancelTool event upon ESC key press.
Minor bugfix.
2013-08-22 15:07:34 +02:00
Maciej Suminski
6b3742b76b
Mark layers as dirty on VIEW_ITEM removal.
2013-08-22 15:04:14 +02:00
Maciej Suminski
89a138c09e
Added handling keyboard events for the Tool framework.
2013-08-21 17:37:27 +02:00
Dick Hollenbeck
0be3992913
Lay basis for a more full featured usage of boost, including compiled libraries such as unit_test_framework, system, etc. Move headers now into boost_root/include/boost/.
2013-08-20 13:03:21 -05:00
Maciej Suminski
5adba827a6
Added VIEW_GROUP for grouping items to be displayed on a single layer.
2013-08-20 15:07:38 +02:00
Maciej Suminski
61ba40aa7e
Added InvokeTool() and FindTool() functions.
2013-08-20 14:49:08 +02:00
Maciej Suminski
43ae1cb98d
Smarter way of the overlay rendering (overlay is always refreshed, while cached&noncached targets only if the viewport or items have changed).
2013-08-19 11:02:38 +02:00
Maciej Suminski
e87eea7abc
Reformatting.
2013-08-19 09:47:36 +02:00
Maciej Suminski
e697a2c41c
Functions for direct item drawing.
2013-08-19 09:44:50 +02:00
jean-pierre charras
d04ab1fe75
Pl_Editor: fix minor issues in multi-lines texts
...
Others: fix very minor issues.
2013-08-18 17:49:04 +02:00
Maciej Suminski
9bd7ba36ac
Added resetting of tools after loading a new board.
2013-08-15 10:20:49 +02:00
Maciej Suminski
1b7593f403
Fixed win32 builds.
2013-08-10 11:14:16 +02:00
jean-pierre charras
5817c99a4a
Replace the wxFilePickedCtrl in Option Page dialog by an usual wxButton + wxTextCtrl, because under wxWdgets 2.8.12 the look and the behavior is very different between Windows and Linux.
2013-08-09 18:19:52 +02:00
Maciej Suminski
723424df07
Added some comments.
2013-08-09 15:21:31 +02:00
Maciej Suminski
80901c69cf
Reformatting.
2013-08-08 19:41:20 +02:00
Maciej Suminski
12e10fd43a
Reformatting.
2013-08-08 14:59:59 +02:00
Maciej Suminski
282995eaee
Fixed disambiguation menu issue.
2013-08-08 14:50:32 +02:00
Maciej Suminski
402f3c6f2c
Added brightened mode for selecting items using disambiguation menu.
2013-08-08 12:30:00 +02:00
Maciej Suminski
8c37e70889
Different approach to item recaching.
2013-08-07 17:20:01 +02:00
jean-pierre charras
69c880e088
Eeschema: fix a crash when plotting a schematic.
...
Pcbnew: footprint wizard dialogs: minor fixes, and fixes a not working parameters dialog under Windows, due to an incorrect Printf format.
remove scripts/packagesrc.sh, fully outdated (still refers svn repo) and not commented.
2013-08-07 15:22:59 +02:00
Maciej Suminski
ee80c7f674
Some more reformatting and adding copyright notices.
2013-08-07 11:20:12 +02:00
Maciej Suminski
62ea71fcae
Fixed layers caching settings. Added some comments.
2013-08-07 10:52:50 +02:00
Maciej Suminski
e050133c07
Simplified color computation.
2013-08-07 09:51:39 +02:00
Maciej Suminski
8ab98ae60b
Removed frame limiter.
2013-08-07 09:37:28 +02:00
Carl Poirier
3f8343b341
REMOVE: USE_PCBNEW_NANOMETERS by making it the only way to go in pcbnew, effectively removing the deci-mils build.
2013-08-06 18:21:40 -05:00
Maciej Suminski
bc69429a56
Added GetTarget() for GALs.
2013-08-06 14:57:48 +02:00
Maciej Suminski
7d5a456344
Code reformatting.
2013-08-06 10:30:09 +02:00
Maciej Suminski
f193e389ec
Moved highlighted flag from VIEW_ITEM to EDA_ITEM. Added brightened and selected flag to EDA_ITEM.
2013-08-06 09:31:08 +02:00
Dick Hollenbeck
c0832a0342
BUG FIX: eeschema as segfaulting on the 'Insert' key because the m_itemToRepeat
...
was simply a pointer to an object on the display list. At times this object
would disappear from the display list, in the test case because of a concatonation
of two wires, and if you then tried to clone the non-existent object you'd get a
crash. This was not merely a bug, but a naive design choice. IMO.
Now the item to repeat is cloned, so will never also be on the display list.
2013-08-05 16:02:41 -05:00
Dick Hollenbeck
c58bd957a5
add Brian to about dialog, scoot Wayne up, alphabetize the rest
2013-08-05 15:45:22 -05:00
Camille Delbegue
2134e7de04
Remove a Clang warning and add a missing dependency to boost in cmake file.
2013-08-05 17:53:13 +02:00
Dick Hollenbeck
e8dc730526
1) Remove requirement to define KICAD_TESTING_BRANCH. Instead the KICAD_STABLE_BRANCH
...
must be defined if that is the build type wanted. This only affects a text string
anyways, is not particularly important other than telling user from which code
branch the source came.
2) Change name of "testing" to "product" in that same description within
common/build_version.cpp. "testing" made it sound frightenly unusable.
2013-08-05 10:38:50 -05:00
Maciej Suminski
8753bef2fa
Moved VIEW_ITEM::ViewGetRequiredLayers() functionality to the VIEW class. Now required layers are set per layer basis instead of per item.
2013-08-05 16:28:58 +02:00
Maciej Suminski
d15f0e91e2
Upstream merge.
2013-08-05 14:46:05 +02:00
Dick Hollenbeck
790e0ef36c
ReturnStringFromValue() refinements
2013-08-03 15:20:55 -05:00
Dick Hollenbeck
1b5a1b74fa
fix interface mapping slip-up in wxPoint EDA_DRAW_FRAME::GetCrossHairPosition( bool aInvertY ) const
2013-08-03 13:57:15 -05:00
Dick Hollenbeck
76a604bc35
split expression into two lines for verification while using debugger that GetScreen() is a virtualized call.
2013-08-03 01:36:51 -05:00
Dick Hollenbeck
efb34166ea
*) retain grid origin in the BOARD and save it in legacy and kicad board files.
...
*) add hotkey for setting the grid origin as 'S', in board editor, module editor.
*) re-position the function interface for cursor movement from BASE_SCREEN into
class EDA_DRAW_FRAME. This is a prelude to getting rid of BASE_SCREEN or
splitting it up.
2013-08-03 00:15:23 -05:00
Maciej Suminski
df6cacf64b
Windows build fix.
2013-08-02 19:21:22 +02:00
tomasz.
8ea0f7ae5b
Merged Orson's changes
2013-08-02 17:28:09 +02:00
tomasz.
69a44d5f13
pcbnew: hooked Tool Framework into the edit panel. Added a sample selection tool (not fully functional).
2013-08-02 16:53:50 +02:00
tomasz.
09182d814d
View: various fixes, added VIEW::IsDirty()
2013-08-02 16:51:38 +02:00
tomasz.
241061025b
Added core tool framework files + boost::context assembly stuff (initial, very buggy and unfinished work).
2013-08-02 16:46:53 +02:00
Maciej Suminski
2fd2c1dc03
Upstream merge.
2013-08-02 15:57:24 +02:00
Maciej Suminski
19b344806d
Fixed the tesselator, so now it works with Windows.
2013-08-02 10:55:40 +02:00
Maciej Suminski
5e474cf87f
Modified usage of wxStandardPaths to make it compatible with newer versions of wxWidgets.
2013-08-02 10:35:58 +02:00
Maciej Suminski
ebc2a4269e
Modified way of handling OpenGL framebuffer errors.
...
Now it is more verbose and the status is checked at the right moment (previously it was fine with Linux, but on Windows it showed errors).
2013-08-02 10:34:23 +02:00
jean-pierre charras
744dd80eaf
Minor fixes. Minor code cleaning. Pcbnew: better iniatilization of members in DRAWSEGMENT, TRACK, EDGE_MOD (not bugs: just useful when using python scripting).
2013-07-31 18:41:32 +02:00
Maciej Suminski
544726e4f3
New display style for grid (dotted).
2013-07-31 10:28:23 +02:00
Maciej Suminski
d34df18f2c
Fixed grid line drawing in OpenGL backend for some drivers.
2013-07-31 09:01:25 +02:00
Maciej Suminski
190ed58568
Code refactoring.
2013-07-30 18:29:54 +02:00
Maciej Suminski
790a1f8563
Made GAL backends settings more consistent. Fixed grid line width in the OpenGL backend.
2013-07-30 17:09:06 +02:00
Maciej Suminski
1ce21605a5
Merge removal of the shaderless OpenGL backend.
2013-07-30 14:05:32 +02:00
Maciej Sumiński
6dda8d4a7e
Fixed smudging in the Cairo backend.
2013-07-30 13:58:03 +02:00
Maciej Suminski
f9d74ccb70
Removed shaderless OpenGL backend.
2013-07-29 16:38:07 +02:00
Maciej Suminski
be012cac94
Added initialization of variable, preventing unconditional jumps. Fixed typos in comments.
2013-07-29 14:12:27 +02:00
jean-pierre charras
4a7f92fb4f
Minor code cleaning. Pcbnew: better iniatilization of members in DRAWSEGMENT, TRACK, EDGE_MOD (useful when using python scripting).
2013-07-29 09:33:56 +02:00
jean-pierre charras
3b246ca483
Pl_Editor: add undo/redo commands.
2013-07-26 14:50:29 +02:00
Maciej Suminski
2ee99f74c4
Fixed profiling timers for compilation under Win32 (and hopefully Mac OS too).
2013-07-26 14:35:31 +02:00
jean-pierre charras
1ef311cd01
Pl_Editor: title block texts can be multiline (use" \n" : a '\' followed by a 'n' to create a new line inside a text)
...
Very minor code cleaning.
2013-07-25 20:58:46 +02:00
Maciej Suminski
c9199ea80a
Fixed high contrast mode in OpenGL. Split display settings loading into more appropriate places.
2013-07-25 18:04:15 +02:00
Maciej Suminski
4076f99332
Added a layer compositor for the Cairo backend.
2013-07-25 14:40:04 +02:00
jean-pierre charras
71a40b0d09
Very minor code cleaning
2013-07-24 20:34:28 +02:00
jean-pierre charras
28cd996394
Pl_Editor: add some hot keys. Fix some rounding issues.
2013-07-24 17:11:35 +02:00
Maciej Suminski
27113348b9
Fixed blending function for OpenGL compositing. Corrected documentation, removed unnecessary functions.
2013-07-24 15:06:59 +02:00
Maciej Suminski
618a5f0e75
OpenGL multitarget rendering (compositing).
2013-07-23 18:39:07 +02:00
jean-pierre charras
fff2f017d8
Fix an issue in Debug mode
2013-07-23 12:35:58 +02:00
jean-pierre charras
ec7ee344b5
Bug #1202761 (Off centre zoom )
2013-07-22 20:38:04 +02:00
jean-pierre charras
d7f569ae78
Fix GOST compatibility.
2013-07-22 18:45:22 +02:00
Maciej Suminski
a8f4791395
Changed rendering order of cached & noncached layers.
2013-07-22 13:14:53 +02:00
Maciej Suminski
5242fff9d7
Code refactorization. VBO_CONTAINER is split to [NON]CACHED_MANAGER, GPU_MANAGER and VERTEX_MANAGER.
2013-07-22 10:41:12 +02:00
jean-pierre charras
1f3f11ca0d
Add margin values control in pl_editor, and remove margin definition from class PAGE_INFO.
2013-07-20 21:36:19 +02:00
jean-pierre charras
50743cf3ba
Initial release of pl_editor, the page layout and title block editor.
2013-07-19 20:27:22 +02:00
Maciej Sumiński
92ccc2018e
Headers containing shader program sources are generated using CMake.
2013-07-17 23:55:59 +02:00
Maciej Suminski
bbc0e8eb74
Refactorization of VBO_CONTAINER.
2013-07-17 18:49:38 +02:00
Maciej Suminski
99e8814028
Fixed wrong memory freeing.
2013-07-17 14:16:37 +02:00
Maciej Suminski
c5ca075e24
Added an interface for highlighting.
2013-07-17 10:21:46 +02:00
Maciej Suminski
b0c1b97ff3
Fixed stroked circles width issue with OpenGL shaders.
2013-07-17 10:21:29 +02:00
Maciej Suminski
fef47b0b67
Fixed OpenGL tracks transparency & netnames issue.
2013-07-16 15:44:08 +02:00
Maciej Suminski
7739cfef2f
Added support for multiple active layers (colored ones in the high contrast mode).
...
Added separate layers for pad netnames (now these are divided into multilayer/top/bottom pads).
More appropriate layers are selecting a copper layer in the high contrast mode (now it shows the copper layer itself, vias & multilayer pads and netnames).
2013-07-16 13:40:53 +02:00
Maciej Suminski
07e4fc31b4
1 pixel wide outlines for the Cairo and the OpenGL with shaders backends, but it breaks displaying outline in the shaderless OpenGL backend.
2013-07-16 09:27:28 +02:00
Maciej Suminski
cbec733deb
Refactored code responsible for high contrast mode. Now it allows to have more than one layer on the top.
...
Selecting layer using the dropdown list on the toolbar influences the layer displayed in high contrast mode.
2013-07-16 09:26:29 +02:00
Maciej Suminski
20c86db71f
1 pixel wide lines using OpenGL shaders.
2013-07-16 08:49:12 +02:00
Maciej Suminski
64122ae057
Stroked lines in Cairo GAL are always drawn at least 1 pixel wide.
2013-07-16 08:48:21 +02:00
Maciej Suminski
58280f749a
Fixed multiline vertical strings drawing bug.
2013-07-09 10:00:23 +02:00
Dick Hollenbeck
34e6314a3e
dialog information hiding, initial Fit()
2013-07-09 00:48:26 -05:00
Dick Hollenbeck
8c2d3d12fc
comment improvements
2013-07-09 00:22:08 -05:00
Dick Hollenbeck
e44fa93776
wxStandardPaths().GetExecutablePath(); is not wx 2.9.5 compatible, formatting improvements
2013-07-09 00:20:07 -05:00
Maciej Suminski
b7747bc224
wxWidgets 2.8 compatibility fix.
...
Scripting engine build fix.
2013-07-08 17:14:16 +02:00
Maciej Suminski
b7447ff05e
Remove updating of non-cached layers.
2013-07-08 15:24:44 +02:00
Maciej Suminski
36f1147da1
Upstream merge.
2013-07-08 15:05:12 +02:00
Maciej Suminski
5a0869f2e2
Added 'required layers' option for drawn items.
2013-07-08 09:28:58 +02:00
Maciej Sumiński
180c72ef83
Added possibility to change zoom using toolbar in GAL.
2013-07-07 19:30:44 +02:00
Maciej Sumiński
07781d34be
Removed KICAD_GAL CMake option.
2013-07-07 02:30:28 +02:00
Maciej Suminski
b5aadfc3f9
Fixed segmentation fault when there was no board loaded.
2013-07-05 15:48:45 +02:00
Maciej Suminski
eb041ee2d3
Removed most of deprecated OpenGL calls. Items used to be drawn in immediate mode now are drawn using vertex arrays.
2013-07-05 14:01:33 +02:00
Maciej Suminski
408fb4f159
Removed pointers where they were not necessary.
2013-07-05 09:31:04 +02:00
Maciej Suminski
e29a829a70
Added implementation of level of details per layer and item type pairs basis (items on every layer have a possibility to define the minimum VIEW scale to be shown).
2013-07-04 18:45:00 +02:00
Maciej Suminski
9c4e02379a
Added the 'cached' parameter for VIEW_LAYER. The parameter decides if items drawn on the layer should be cached or drawn in immediate mode.
...
Removed m_useGroups from VIEW, as now groups are enabled per layer.
2013-07-04 17:02:20 +02:00
Maciej Suminski
aff3787b34
Fixed drawing circles and semicircles using display lists.
2013-07-04 16:27:27 +02:00
Maciej Suminski
073eb024fe
Reduced frame limit.
2013-07-04 14:21:40 +02:00
Maciej Suminski
84392f1723
Moved STROKE_FONT from PAINTER to GAL.
2013-07-04 11:37:43 +02:00
Maciej Suminski
fe6c901a9f
Shaders can handle integer parameters (uniforms).
2013-07-03 13:08:43 +02:00
Maciej Suminski
97f914ccb3
Fixed stroked semicircles Z coordinate in shaderless OpenGL backend.
2013-07-02 18:11:57 +02:00
Maciej Suminski
0f5aa0630a
Fixed stroke semicircles drawing using shaderless OpenGL backend.
2013-07-02 09:27:12 +02:00
Dick Hollenbeck
9d6ec5a265
dsnlexer.cpp's isNumber() was recently stupid-ized, un-stupid-ize it.
2013-07-01 09:37:03 -05:00
Maciej Suminski
6dc79cf193
Headers are regenerated only if shaders' source code was modified.
2013-07-01 15:47:44 +02:00
Maciej Suminski
9e4fe8b410
Faster polylines drawing using OpenGL backend.
...
Fixed drawing of lines' caps.
2013-07-01 15:23:43 +02:00
unknown
4360860bee
Removed different styles of line caps and line joins, leaving only round caps & joins.
...
Fixed drawing stroked semicircles using OpenGL backend.
2013-07-01 14:39:27 +02:00
Maciej Suminski
8a44751b61
Mirrored text display bugfix.
2013-07-01 14:06:38 +02:00
Maciej Suminski
a73216fc95
Changed std::map to boost::unordered_map for storing memory chunks and groups information.
2013-07-01 13:20:48 +02:00
Dick Hollenbeck
caf5fc8d8d
DSNLEXER::NextTok() organizes the specctraMode code better, into one if block mostly.
...
This keeps it out of the KiCad mode path, making that leaner and less confusing about
what is supported in KiCad mode. Within KiCad mode, treat quoted vs. non-quoted tokens
as the two general categories, with non-quoted having sub-categories. Eliminate
an unimplemented, unused function declaration in DSNLEXER.
Improve the output formatting of THROW_PARSE_ERROR().
2013-07-01 01:47:36 -05:00
Dick Hollenbeck
44d31a1897
Speed up DSNLEXER::findToken() to such an extent that it resulted in an approximate 13% reduction
...
in *.kicad_pcb file loading times.
2013-06-30 20:05:40 -05:00
Maciej Sumiński
00847a8aed
Colors are stored as unsigned bytes instead of floats.
2013-06-30 22:45:31 +02:00
Karl Thorén
ee8901d9dd
All: Fix bug #1196277 (pcbnew does not save all parts of the title block to the kicad_pcb file)
2013-06-30 19:40:33 +02:00
Maciej Sumiński
27a6f8afd6
Shaders are built-in instead of being loaded from external files.
2013-06-30 19:31:16 +02:00
Maciej Sumiński
335bf72060
More debug information in case of failure compilation of shaders.
2013-06-30 15:37:46 +02:00
Maciej Sumiński
5eb38ec232
Made shaders compatible with Intel GPUs.
2013-06-30 15:37:35 +02:00
jean-pierre charras
5c247857d3
Replace in EDA_TEXT::Draw the parameter EDA_DRAW_PANEL* aPanel by EDA_RECT* aClipBox, which is the actual parameter used by Draw.
...
This change make more easy to use this function when a EDA_DRAW_PANEL canvas is not used to draw texts.
Remove dead code in worksheet.cpp.
2013-06-29 11:52:22 +02:00
Wayne Stambaugh
a56d3235e3
Prevent GTK printing build error on Linux
...
* Do not fail to build when wxWidgets is built with either --with-gnomeprint
or --with-gtkprint are not configured. Only display warning.
* Move warning code from include/common.h to common/common.cpp so it only
shows the warning once instead of every source file that includes common.h
2013-06-28 12:29:39 -04:00
Maciej Suminski
bc8ea55092
VBO_CONTAINER: Changed new[]/delete[] pairs to realloc(), possibly reducing memory fragmentation and the container shrinking time.
2013-06-28 10:47:41 +02:00
jean-pierre charras
10352b1df5
Minor fixes. Gerbview: fix a collision name for GetLayout method.
2013-06-27 21:12:01 +02:00
Maciej Suminski
3f1da8b2c0
Minor code cleaning.
2013-06-27 17:31:10 +02:00
Maciej Suminski
628c069a39
Faster circles & semicircles drawing for the shaderless OpenGL backend. Removed unnecessary variables and computations.
2013-06-27 16:05:15 +02:00
Maciej Suminski
332a7b4bd9
Groups are stored in map instead of deque, so it allows easier adding & removing.
2013-06-27 11:54:49 +02:00
Maciej Suminski
58de62aacc
High contrast mode with showing the selected layer on the top.
2013-06-26 16:31:52 +02:00
Maciej Suminski
1367d33cd8
Small speed up for the color change function (OpenGL_GAL).
2013-06-26 10:43:58 +02:00
Maciej Suminski
db74de74f5
Added possibility to change cached layer color (for the purpose of high contrast display).
2013-06-25 17:12:54 +02:00
Maciej Suminski
0bac4a1e07
Fixed warning about a not initialized variable.
2013-06-25 16:54:30 +02:00
Maciej Suminski
0baa580b8d
Added zoom in, zoom out & fit on screen view commands handling in GAL.
2013-06-25 09:15:57 +02:00
Maciej Suminski
fbc3d63c24
Draw the origin marker in OpenGL with shaders GAL.
2013-06-24 16:02:18 +02:00
Maciej Suminski
978b548c64
Small improvements to SHADER class.
2013-06-24 15:40:31 +02:00
Maciej Suminski
ef865aab68
Grid settings apply to GAL based rendering.
2013-06-24 14:33:02 +02:00
Maciej Suminski
81c674387e
Added convertsion from wxColour to COLOR4D.
2013-06-24 10:32:08 +02:00
Maciej Suminski
08c54e8acf
Passing COLOR4D parameter using constant reference.
2013-06-24 10:21:34 +02:00
Maciej Suminski
f7d85691c2
Added conversion from EDA_COLOR_T to COLOR4D.
2013-06-24 10:12:36 +02:00
Dick Hollenbeck
1f9ee2e45e
Support for 'initial single line comments' in the pretty footprint format.
...
This is limited to round tripping the lines of commented text in the
loading and saving to disk through PCBIO::Format() and PCBIO::Parse().
No editing of the comments is given.
2013-06-23 14:18:33 -05:00
Maciej Suminski
145a3f20de
Changed atan2() to VECTOR2D::Angle()
2013-06-21 09:01:40 +02:00
Maciej Suminski
8552a6e29d
Fixed some minor rendering issues, mostyl for shaderless OpenGL GAL.
2013-06-20 16:37:21 +02:00
Maciej Suminski
fd6ab6003d
Bug fixes:
...
- VBO_CONTAINER::allocate() was returning wrong value in case of error
- framelimiter had wrong formula for computing destined period between frames
- removed _padding field from VBO_VERTEX, as it was not speeding up, but wasting memory
2013-06-20 13:16:12 +02:00
Maciej Suminski
929a849b99
Added a framerate limiter.
...
Now it does not use all the CPU power while panning even on simple boards.
2013-06-20 09:58:18 +02:00
jean-pierre charras
781cc00aca
Pcbnew: netlist dialog: add silent mode option, and tool tip to the 2 options (dry run and silent mode)
...
dialog_display_info_HTML_base: derived now from dialog_shim.
2013-06-19 18:11:12 +02:00
Maciej Suminski
83f5bd60c1
Moved fields containing information about currently used color, shader and transformation for vertices from VBO_ITEM to VBO_CONTAINER (OPENGL_GAL).
2013-06-19 10:50:46 +02:00
Maciej Suminski
4de43d7c5f
Removed unnecessary functions from VBO_VERTEX.
2013-06-18 17:53:12 +02:00
Maciej Suminski
1fc0113b06
Removed unnecessary casting from VIEW_ITEM to EDA_ITEM. Added Type() function to VIEW_ITEM.
2013-06-18 17:01:23 +02:00
Maciej Suminski
cd517f67db
Added VBO_CONTAINER as a faster storage for vertices (OPENGL_GAL), tuned for exchanging data with GPU.
...
Removed a few unnecessary variables and fields from OPENGL_GAL.
Added function GAL::ClearCache() for freeing memory used by cached items.
Fixed a few memory leaks (tesselator, PAINTER's settings & VIEW_ITEM's groups).
Changed a few functions into inlines.
2013-06-18 16:20:29 +02:00
Maciej Suminski
876bf75d89
Added GAL_TYPE_NONE as an indicator of GAL uninitialized state.
2013-06-18 16:19:30 +02:00
Dick Hollenbeck
64f8e0b8e1
various
2013-06-13 06:43:29 -05:00
Alexander Lunev
a3f2980d80
Fix pcad2kicad issue, from A. Lunev, and a minor code cleaning in component_references_lister.cpp.
2013-06-12 21:43:22 +02:00
jean-pierre charras
39993e27e4
Fix issue in auto panning while moving in EDA_DRAW_PANEL::OnMouseLeaving()
2013-06-10 15:23:58 +02:00
Dick Hollenbeck
36aca68e40
fix autopan non-response problem when dragging block to right or bottom
2013-06-09 13:14:01 -05:00
jean-pierre charras
b1489cbe40
Remove a useless message shown only in debug mode, about page layout file not found
2013-06-09 18:50:57 +02:00
jean-pierre charras
a287f89304
Custom page layout: add support for poly-polygons (useful for logos)
2013-06-08 20:19:09 +02:00
jean-pierre charras
0c5d9fa20c
Fix compil issue on wxWidgets 2.8.12, created by my last commit.
2013-06-07 19:35:09 +02:00
jean-pierre charras
ee6cd0883d
Plot files : fix Bug #1188664 (full filename instead of short file name, and swapping between sheet path and file name)
2013-06-07 18:37:44 +02:00
Wayne Stambaugh
ecbe947bc6
CvPcb pin count filtering improvement. (fixes lp:1188325)
...
* Add option to MODULE::GetPadCount() to exclude non-plated through holes.
2013-06-07 09:17:52 -04:00
Wayne Stambaugh
9929919b59
Fix CvPcb library filtering bug. (fixes lp:1188321)
2013-06-07 08:15:32 -04:00
jean-pierre charras
c8c05cb4ee
page layout: if the environment variable KICAD_WKSFILE points a S expr page layout descr, this descr is used instead of internal descr. Mainly for testing purposes.
...
Eeschema, dialog edit component: minor enhancement (the last selected notebook page is remembered during a session)
2013-06-07 11:49:36 +02:00
jean-pierre charras
7432d4de29
Page layout: add comments, and fix a very minor issue.
...
Eeschema, dialog netlist: fix a bug when removing a plugin panel, when is is not the last.
dialog netlist:Add a predefined command string for python scripts, when creating a new netlist plugin entry.
2013-06-06 20:03:29 +02:00
Maciej Suminski
e7b7e0e687
Removed some debug messages.
2013-06-06 11:54:37 +02:00
Maciej Suminski
8742dae4a4
Removed indices storing from VBO_ITEM as they are always consecutive numbers. Removed storing pointers to VBO_ITEMs that have to be drawn - instead they are memcpied to mapped GPU memory.
...
Some functions of VBO_ITEM became inline.
2013-06-06 11:52:39 +02:00
jean-pierre charras
66f5b3d3cc
Fix a minor issue in page layout default descr.
2013-06-05 17:32:24 +02:00
Dick Hollenbeck
0f1f0f92f1
downloads-by-cmake now configurable, fix wx2.8 compiler errors
2013-06-05 09:24:03 -05:00
jean-pierre charras
1ec4986422
Add info and comments about page layout description using S expressions
2013-06-05 15:21:14 +02:00
jean-pierre charras
91c3f3bc83
All: use a S expression to describe the page layout (title block and grid references). Work in progress.
...
This should allow users to define their own page layout.
2013-06-05 14:03:16 +02:00
Maciej Suminski
8e1fe5d766
Changed data structure in VBO_ITEM.
2013-06-05 10:48:30 +02:00
Maciej Suminski
e9ebdf2583
Upstream merge.
2013-06-05 10:01:53 +02:00
Dick Hollenbeck
3bddb98de9
Fix wierd ConfigBaseWriteDouble's Printf( wxT("%12f"), aValue ); format string
...
which was creating silly strings like
PcbTextThickness=" 0.300000"
in kicad.pro files.
2013-06-04 09:44:21 -05:00
Dick Hollenbeck
94338e072f
comment
2013-06-04 09:44:08 -05:00
Maciej Suminski
04b4f236be
Switching to OpenGL using shaders backend on the fly (changed keyboard shortcuts: different backends are available using Alt+F9..F12).
2013-06-04 16:18:33 +02:00
Maciej Suminski
28511cf4fe
Introducing shaders.
...
Shader's parameters are stored in VBO_ITEM. Changed VBO_ITEM data structure. Added UseShader() function for selecting shader for a given VBO_ITEM.
Added one main vertex & fragment shader program to be used for with all kinds of items (type of shader is selected using attributes that are stored in VBO). Currently available shaders are: at-least-1px-width line, filled circle and stroked circle.
Removed unnecessary param (aDepthOffset) from a few functions (OPENGL_GAL::drawSemiCircle(), OPENGL_GAL::drawLineCap()). Removed function OPENGL_GAL::DrawRoundedSegment(). Changed some asserts to debug info or error log.
2013-06-04 15:58:53 +02:00
Dick Hollenbeck
0390fbf978
speedups
2013-06-03 08:09:37 -05:00
Maciej Suminski
ad5d10a8ba
Display linking errors in debug mode for shaders. Added SHADER::GetAttribute() function for getting shaders attribute location.
2013-06-03 10:54:24 +02:00
Dick Hollenbeck
387d0c4e01
*) Refinements to ExternalProject_Add( boost )
...
*) Enhancements to make_lexer().
*) Support multi-threaded build.
*) Switch to "bzr patch" from patch.exe for Windows users.
2013-05-31 16:36:40 -05:00
Dick Hollenbeck
2fc698846b
*) Refinements to ExternalProject_Add( boost )
...
*) Enhancements to make_lexer().
*) Support multi-threaded build.
*) Switch to "bzr patch" from patch.exe for Windows users.
2013-05-31 16:22:34 -05:00
Dick Hollenbeck
5c98951954
add support for exponents in dsnlexer.cpp's DSN_NUMBER token
2013-05-31 09:24:56 -05:00
Dick Hollenbeck
d8f87cca3c
factor out isNumber() in dsnlexer.cpp, add support for numbers with exponents, leave commented out for further testing
2013-05-30 20:20:37 -05:00
Dick Hollenbeck
0eae829b11
factor out isNumber() in dsnlexer.cpp, add support for numbers with exponents, leave commented out for further testing
2013-05-30 19:49:22 -05:00
jean-pierre charras
57b30ad254
Pcbnew: Fix Bug #1185556 . fix issue about Solder Paste Ratio value which was accepting only one digit in mantissa in 3 dialogs (now 6 digits in all dialogs).
...
fix potential issue in .kicad_pcb file creation, in some places where a %g or %.16g format was used:
al least under Mingw/gcc4.7.2, the floating number was written using scientific notation, not accepted by the S-expr reader.
2013-05-30 21:32:00 +02:00
Wayne Stambaugh
5560cb54e2
More Pcbnew footprint library table work in progress.
...
* Add footprint library table loading to footprint editor.
* Overload FOOTPRINT_INFO::ReadFootprintFiles() to read footprints from the
footprint library tables.
* Fix a bug in FP_LIB_TABLE::IsEmpty() when the table has a fallback table.
* Add code to FOOTPRINT_EDIT_FRAME to use footprint library tables.
* Add an optional build time version of PCB_EDIT_FRAME::loadFootprints() to
populate netlist footprints from footprint library table.
* Remove adding footprints to board whenever GetModuleLibrary() is called and
move loading locally as required.
* Add missing source file license comments and coding policy fixes.
2013-05-28 12:54:59 -04:00
jean-pierre charras
4e94d8e793
Dialog page setting: replace wxStaticBoxSizer by wxBoxSizer + static text,
...
because under Linux and wxWidgets 2.9, wxStaticBoxSizer are very ugly (text not readable in this dialog)
(Does not happen with wxWidgets 2.8)
Eeschema hotkeys: remove duplicate keys in key editor.
2013-05-28 11:49:53 +02:00
jean-pierre charras
2043001b0a
eeschema: fix Bug #1184318 (Eeschema-Libedit: Reference moving+zooming issue)
...
and fix a minor issue in netlist dialog.
2013-05-28 10:05:10 +02:00
jean-pierre charras
b750414561
Pcbnew: fix bug Bug #1184362 (Pcbnew losing user (custom) sheet size )
...
Fix minor issues in print/plot: filename not printed, sheetname incorrect in eeschema
2013-05-27 11:17:37 +02:00
Maciej Suminski
e8acd2919b
Added tesselation of polygons for VBO based rendering (OpenGL GAL).
2013-05-27 09:37:49 +02:00
Dick Hollenbeck
8ccf0320b4
1) Add "rules" to base of tree for copying into BZR_HOME/rules.
...
File "rules" has instructional text as comments near top.
2) Convert all text files in repo to LF line ending form.
Any checkout done with "rules" in play will convert the working
tree to native line ending, while keeping repo as LF line ending.
2013-05-25 23:36:44 -05:00
jean-pierre charras
da51dbe1e0
Cvpcb fix bug #1183796 and fix bug when a fp lib is not found : the name of the missing file was not displayed in message window.
2013-05-25 17:02:16 +02:00
jean-pierre charras
38a5e9af4b
3D viewer: fix Bug #1183581 (pcbnew 3D viewer: recent UI inconsistency )
...
Pcbnew: fix bug in drag module: connected tracks were not dragged.
worksheet: code cleaning.
2013-05-25 11:01:44 +02:00
jean-pierre charras
8bafc54cdc
Fix bug #1183802 : incorrect sheet Id (company name displayed instead of Id)
2013-05-24 16:06:58 +02:00
jean-pierre charras
7080828fe2
More about worksheet code.
2013-05-24 10:59:40 +02:00
Lorenzo Marcantonio
26f2c04f13
Make title block date field modifiable by hand.
2013-05-23 14:45:23 -04:00
jean-pierre charras
82cc923356
Worksheet code: more cleanup, and fix compil issue with wxWidgets 2.8
2013-05-23 18:38:17 +02:00
jean-pierre charras
3f38a6d89a
worksheetcode cleaning and fix plot sheet filename bug under Linux.
2013-05-22 17:08:57 +02:00
jean-pierre charras
001723e077
Worksheet code: cleanup and remove useless parameters.
2013-05-22 10:45:25 +02:00
jean-pierre charras
26a3029a88
Remove duplicate code to draw and to plot title blocks.
2013-05-21 09:18:25 +02:00
Wayne Stambaugh
c9be8bfdd4
Pcbnew footprint library table work in progress.
...
* Add code for loading, modifying, and saving the global and project
footprint library tables.
* Add code to load MODULE objects using the footprint library table to
the footprint viewer.
* Add static methods to FP_LIB_TABLE to support loading footprint library
tables.
2013-05-20 10:49:20 -04:00
jean-pierre charras
a8a640811b
Code cleaning and move worksheet code specific to title block and frame references shape in title_block_shapes.h and title_block_shapes_gost.h
2013-05-19 21:35:49 +02:00
Maciej Suminski
d45008a847
Different way of rendering groups (with a single DrawElements call) in OpenGL GAL.
2013-05-16 18:43:25 +02:00
Maciej Suminski
7a8e1fc6b4
Different way of measuring render time.
2013-05-16 17:17:35 +02:00
Dick Hollenbeck
7a5f5cb009
compiler warning from mailing list
2013-05-16 09:40:46 -05:00
Maciej Suminski
7a1718d0f5
Changed functions for adding vertices in VBO mode to make code easier to read and understand.
2013-05-16 14:47:34 +02:00
Maciej Suminski
2579fd524d
Fixed time measuring functions (only for profiling in debug)
2013-05-16 13:46:00 +02:00
Maciej Suminski
733e5a55e3
Faster way of caching items for OPENGL GAL.
2013-05-16 10:35:16 +02:00
Maciej Suminski
c9f9c4ddbc
Added functionality for transformation of VBO vertices, extended functions like translate, rotate, scale using glm library. Removed D() macro, as it was not used, but in conflict with glm library. Added VBO_ITEMs for circles, semicircles. Now almost everything is drawn using VBO (besides polygons and grid).
2013-05-15 16:48:10 +02:00
Maciej Suminski
c91b4ffbc4
Layer depth is set during items caching (so now they are rendered on proper layers).
2013-05-15 16:47:17 +02:00
Maciej Suminski
a43dd351df
Assured that there are no excessive initializations
2013-05-15 16:47:01 +02:00
Maciej Suminski
806dd7d8ec
Items are not recached until GAL is changed (earlier it was done on every rendering backend switch).
2013-05-15 09:17:42 +02:00
Maciej Suminski
e1ecd301a7
Added some debug informations.
2013-05-15 09:17:36 +02:00
Maciej Suminski
135149e2d3
Fixed build for eeschema.
2013-05-14 10:46:43 +02:00
Maciej Suminski
c55e063745
Removed double freeing of some of Cairo paths.
2013-05-14 10:42:56 +02:00
Maciej Suminski
1b1216e53d
Modified SetOffset (VBO_ITEM/OpenGL GAL) function.
2013-05-14 10:41:05 +02:00
Maciej Suminski
a6c8beb73b
Drawing tracks using PushVertices, added some comments, fixed formatting.
2013-05-14 10:38:25 +02:00
Maciej Suminski
32784ea191
Added possibility of adding multiple vertices to VBO_ITEM at once
2013-05-13 11:14:35 +02:00
Maciej Suminski
bce9f685ea
Fixed Cairo issues and some possible memory leaks
2013-05-13 10:55:35 +02:00
Wayne Stambaugh
f78497bf4f
Decouple PLOT_CONTROLLER from UI dependencies.
2013-05-10 15:22:29 -04:00
Maciej Suminski
e8f33ac903
Fixed memleak, removed excessive recaching, still there is a problem with Cairo caching
2013-05-10 16:05:40 +02:00
Wayne Stambaugh
b5bb56426a
Fix footprint library search path bug. (fixes lp:1178427
2013-05-09 21:51:55 -04:00
jean-pierre charras
2554575656
More work on CPOLYGONS_LIST class.
...
Pcbnew: fix minor bug about plot line width.
2013-05-09 21:08:12 +02:00
Wayne Stambaugh
cf86e18f5c
Footprint library table work, minor fixes, and code cleaning.
...
* Fix a bug when full file name and path are passed to FOOTPRINT_INFO::
ReadFootprintFiles() which I created in bug fix lp:593989.
* Fix a wxString debug assertion in EDA_APP::InitEDA_Appl() when the KICAD
environment variable is defined as an empty string.
* Add error dialog when libraries cannot be found in system search path
when loading footprint using the select footprint dialog.
* Add footprint library name column to the EDA_LIST_DIALOG when selecting
footprints from the list.
* Allow reading all columns from the selected row in EDA_LIST_DIALOG.
* Remove redundant sort from EDA_LIST_DIALOG constructor
* Add library name member variable and accessors to FOOTPRINT_INFO.
* Make headers translatable for Eeschema select component from list dialog.
* Add some helper methods to FPID for identifying the FPID type and validity.
* Remove a bunch of trailing whitespace and add missing license comments.
2013-05-08 16:47:23 -04:00
jean-pierre charras
2e6969fe96
More work on CPOLYGONS_LIST class.
2013-05-08 20:20:58 +02:00
jean-pierre charras
6fcd9eb8a6
Eechema: fix bug : when saving the schematic project, the lib cache was saved under the current sheet opened, not the root sheet.
...
Pcbnew: clamp default plot line width between 0.02 and 2 mm. the other bug (saving this parameter in internal units instead of mm is not fixed)
2013-05-07 20:32:06 +02:00
Lorenzo Marcantonio
69b7c2a1b6
Removed some spurious float casts
...
(explanation: float is implicitly promoted to double anyway, it's only useful
for storage; also a fp variable forces conversion of other int in the expression
without needing a cast)
Typo fixes in some comments 'floatting' -> 'floating' :D
2013-05-07 19:31:52 +02:00
Wayne Stambaugh
2be09ba9e2
Fix bug when footprint library file names contain dots. (fixes lp:593989)
2013-05-06 13:57:18 -04:00
Lorenzo Marcantonio
8430508272
Closes bug 1176915
...
Mass parameters in gerbers can't use scientific notation (altough some software
allow it), so the %g format was not correct.
2013-05-06 19:47:01 +02:00
jean-pierre charras
7e2779784b
Eeschema: fix incorrect move command for bitmap items.
2013-05-06 15:38:14 +02:00
Lorenzo Marcantonio
d00c83cde9
Migrated the interfaces accepting angles to the double type
...
The plan goes like this:
- eeschema still uses int in decidegrees
- all the other things internally use double in decidegrees (or radians
in temporaries)
- in pcbnew UI the unit is *still* int in decidegrees
The idea is to have better precision everywhere while keeping the user with int i
angles. Hopefully, if a fractional angle doesn't come in from the outside, everything
should *look* like an integer angle (unless I forgot something and it broke)
When the time comes, simply updating the UI for allowing doubles from the user should
be enough to get arbitrary angles in pcbnew.
2013-05-05 09:17:48 +02:00
Lorenzo Marcantonio
cb49ca5ae2
More int casts to rounding conversions
2013-05-04 13:57:09 +02:00
jean-pierre charras
b2a76062c7
All: use CPOLYGONS_LIST, a typedef of std::vector<CPolyPt> to handle a Corners Polygons List.
...
This is a starting point of some code enhancements relative to polygons in Pcbew and 3D viewer.
2013-05-03 19:51:10 +02:00
Lorenzo Marcantonio
78e41187b3
Moved utilities for angles in trigo.h
...
New conversion routines and sin/cos implementation for angles in decidegrees
2013-05-02 20:06:58 +02:00
jean-pierre charras
4ac7dd5845
3D viewer: Modify yhe way board items shapes are built:
...
* All items shapes are converted to polygons.
* Polygons are merged layer by layer (for calculation time reasons,zones are not merged)
* for copper layers, vias and pads holes are substracted from polygons (but, for calculation time reasons, not inside zones areas).
* the look is better, mainly when displaying the copper thickness
* solder and paste layers are now shown in 3D viewer.
* the code was seriously cleaned (but still needs to be enhanced).
* Note this is a work in progress which needs refinements.
2013-05-01 21:01:14 +02:00
Lorenzo Marcantonio
0e903dba5b
Angle and distances cleanup (preparing for angles in doubles)
...
- Removed spurious int casts (these are truncated anyway and will break
doubles)
- Applied the Distance, GetLineLength, EuclideanNorm, DEG2RAD, RAD2DEG
ArcTangente and NORMALIZE* functions where possible
- ArcTangente now returns double and handles the 0,0 case like atan2, so
it's no longer necessary to check for it before calling
- Small functions in trigo moved as inline
2013-05-01 19:32:36 +02:00
Dick Hollenbeck
000ec33af2
remove temporary debug printf()s I no longer need.
2013-05-01 10:49:34 -05:00
Dick Hollenbeck
9634fa5c07
fix 2 corner case bugs in specctra import
2013-05-01 10:48:00 -05:00
Maciej Suminski
e9e4ed4230
Improved recaching (all items when a board is loaded), still needs some fixing (mem leak).
2013-04-30 17:55:24 +02:00
Maciej Suminski
191cb40e79
Introduction of VBO. Now only tracks are rendered in a very simple way.
2013-04-30 15:59:32 +02:00
Lorenzo Marcantonio
3b1ddd952f
Removed the SAFE_DELETE macro.
...
In most case the assignment to null was not necessary since it was easily provable that the (local) variable wouldn't have referenced after that anyway.
2013-04-28 16:28:13 +02:00
Dick Hollenbeck
ec497d5d9a
Fix SVG plot with filename containing & character.
2013-04-26 21:12:57 -05:00
Wayne Stambaugh
81271ad41a
Post Pcbnew NETLIST_READER change clean up.
...
* Tweak the NETLIST_READER code to allow for component footprint names that
are not found in any library to generate a warning instead of an error and
update the board accordingly.
* Don't display undo warning in netlist dialog when dry run option selected.
* Rename netlist_reader_common.cpp to netlist_reader.cpp
* Rename netlist_reader_firstformat.cpp to legacy_netlist_reader.cpp
* Rename netlist_reader_kicad.cpp to kicad_netlist_reader.cpp
* Remove cvpcb/read_write_cmpfile.cpp and move the single function it
contained into cvframe.cpp
* Remove cvpcb/loadcmp.cpp and move the single function it contained into
class_DisplayFootprintsFrame.cpp.
* Remove cvpcb/readschematicnetlist.cpp and move the single function it
contained into cvframe.cpp.
* Remove cvpcb/setvisu.cpp and move the few functions it contained into
the appropriate source file.
2013-04-26 11:11:52 -04:00
Maciej Suminski
0cd108b55d
Upstream merge.
2013-04-25 18:42:27 +02:00
Maciej Suminski
3ff70deab0
Changed non-shader primitives to GL_TRIANGLES.
2013-04-25 18:30:53 +02:00
Wayne Stambaugh
61b4f8a9eb
Pcbnew NETLIST_READER improvements.
...
* Create separate NETLIST object to hold contents of netlist files.
* Read entire netlist and footprint link files before making applying
changes to board.
* Add BOARD::ReplaceNetlist() function to eliminate the calls between the
NETLIST_READER, PCB_EDIT_FRAME, and BOARD objects.
* Change placement of new components below the center of the current board
or in the center of the page if the BOARD is empty.
* Add dry run option to netlist dialog to print changes to message control
without making changes.
* Add button to netlist dialog to allow saving contents of message control
to a file.
* Eliminate the need to compile netlist_reader_*.cpp in both CvPcb and Pcbnew.
* Add netlist_reader_*.cpp to the pcbcommon library.
* Remove redundant load component link file code from CvPcb.
* Modify CvPcb new to work with the new NETLIST_READER object.
* Add compare() function and < and == operators to FPID object.
* Add REPORTER class to hide an underlying string writing implementation for
use in low level objects. Thank you Dick for the idea.
* Lots of minor coding policy, Doxygen comment, and missing license fixes.
2013-04-25 12:29:35 -04:00
Maciej Suminski
790e4c6af7
Fixed tracks drawing using Cairo backend with caching turned on.
2013-04-25 10:26:32 +02:00
Maciej Suminski
b70adc5f99
Fixed color issue for stroked fonts with OpenGL backend and caching turned on.
2013-04-25 10:00:25 +02:00
Maciej Suminski
dd8601cbf8
Added caching of multilayer items (storing multiple group ids for items).
2013-04-24 11:28:11 +02:00
Maciej Suminski
10dd5023e2
Removed BeginLayer and EndLayer functions. Resolved Cairo layers drawing problem in a different way.
2013-04-24 09:48:34 +02:00
Maciej Suminski
bb3f3d063f
wxWidgets 2.8 compatibility fix.
2013-04-23 18:20:45 +02:00
Maciej Suminski
4868af8b62
Changed view control settings to KiCad default (panning, zooming, etc.)
2013-04-23 12:07:14 +02:00
Maciej Suminski
ced0d8add9
Modified shaders' source path.
2013-04-23 09:52:51 +02:00
Maciej Suminski
0a55a2b672
Fixed wheel scroll event on Windows
2013-04-22 11:08:02 +02:00
Maciej Suminski
1944fea398
Modified way of switching canvas
2013-04-22 11:07:38 +02:00
Maciej Suminski
ad4a72ff11
Cairo now renders layers properly (colors are not saturated after layer composition), but slower.
2013-04-19 18:19:50 +02:00
Maciej Suminski
062fc2d200
Some cleanup.
2013-04-19 18:19:20 +02:00
Dick Hollenbeck
a20c89288f
hide pageFmts[] since it is no longer NULL terminated and not global
2013-04-18 13:54:03 -05:00
Dick Hollenbeck
fb57b54be8
fix Lorenzo's bug introduced in rev. 4082
2013-04-18 12:03:25 -05:00
Maciej Suminski
5d704c9692
Turned on group recaching on GAL change.
2013-04-18 17:10:02 +02:00
Maciej Suminski
a96c5379b3
Fixed non-GAL build.
2013-04-18 11:46:23 +02:00
Maciej Suminski
e4bac0d91a
Fixed resize issue (moved GAL panel into pane).
...
Tidied up event handlers.
2013-04-18 11:20:19 +02:00
Maciej Suminski
fde71bdf33
Removed unnecessary calls to cairo drawing functions.
2013-04-17 12:50:38 +02:00
Maciej Suminski
16a28348b4
Added const(..)& in GAL methods' parameters and change iterators to constant iterators.
2013-04-17 12:48:37 +02:00
Maciej Suminski
520be6f67b
Added GAL::DrawSegment for drawing rounded segments (used for drawing tracks).
2013-04-17 12:38:00 +02:00
Maciej Suminski
6cf04e6820
Fixed drawing arcs in Cairo GAL.
2013-04-17 12:33:11 +02:00
Maciej Suminski
71a1ad6ff5
Fixed drawing polygons using Cairo-based GAL.
2013-04-16 14:55:21 +02:00
Maciej Suminski
4eadf2ef47
Removed flickering in Cairo-based rendering backend.
2013-04-16 11:43:13 +02:00
Maciej Suminski
bee0d69289
Cleanup
2013-04-16 11:16:27 +02:00
Maciej Suminski
01ebf03110
Inverted Y display axis while using Cairo-based rendering backend.
2013-04-15 17:59:38 +02:00
Maciej Suminski
820e6e5e16
Introduced Cairo-based rendering backend using GAL.
...
Moved switching canvas routines to pcbnew, as they are used only there right now (otherwise libgal would have to be linked to every Kicad application).
2013-04-15 17:57:03 +02:00
Maciej Suminski
5b9057823a
Introduced SetGAL() functions that will allow changing GAL backend for rendering on the fly.
2013-04-15 16:03:05 +02:00
Matthew Beckler
088832b8f6
Match 'new char[]' with proper delete[] char* rather than delete char*.
2013-04-13 23:07:04 -05:00