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
jean-pierre charras
a0fbe422c7
Eeschema: Rework on netlist generator: code cleaning and enhancement.
...
Mainly, fix an annoying issue about not named nets:
now, these nets are named from the component references and pin names which are connected.
therefore, unless the net or the footprint references are modified, the net name is not modified between 2 netlist calculations.
Netlist generation code still needs some code enhancement (mainly removing the global g_NetObjectslist variable).
2013-09-25 21:37:28 +02: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
jean-pierre charras
daeeee5617
Eeschema: Rework on netlist generator: code clenenig and enhancement.
...
Fix an annoying issue about not named nets:
now, these nets are named from the component references and pin names which are connected.
therefore, unless the net or the footprint references are modified, the net name is not modified between 2 netlist calculations.
2013-09-25 21:09:57 +02: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
Maciej Suminski
d1578e4e1a
Fixed cvpcb build.
2013-09-24 16:12:02 +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
7837dfa3ac
Fixed build for Mac OS
2013-09-23 17:02:25 +02:00
Maciej Suminski
171857a7a8
FIxed TOOL_EVENT::Modifier() (now it returns value for current modifier, not only if there is one active or not).
2013-09-23 10:02:01 +02: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
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
b39d562aea
Restored previous function names.
2013-09-20 16:32:11 +02:00
Maciej Suminski
c00533a150
Merged kicad-gal
2013-09-20 15:48:27 +02:00
jean-pierre charras
0ae31f3ecb
Pcbnew: better dialogs to select the active layer or a layer pair. Add an option (hotkey+popup menu) to place a via and select the new active layer
...
(useful for boards having more than 2 layers)
Eeschema:fix compatibility with old schematic files, when they contain ERC markers.
Pcbnew: better test for allowed layers when creating/editing Dimensions and some other Graphic items
Drc: fix comments and messages for some drc tests.
Fix minor bugs in cleanup dialog options and plot solder mask function (thanks to Lorenzo to locate these bugs)
2013-09-20 12:52:33 +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
eb784536af
Moved GalLayersOrder from layers_id_colors_and_visibility.h to PCB_BASE_FRAME.
2013-09-19 09:55:37 +02:00
tomasz.wlostowski@cern.ch
0d4b71ef3c
Merged Orson's latest changes.
2013-09-18 20:10:55 +02:00
tomasz.wlostowski@cern.ch
87dccc9f81
P&S router: some missing files
2013-09-18 19:56:37 +02:00
tomasz.wlostowski@cern.ch
74f42a6241
geometry/rtree.h: fix compiler warnings
2013-09-18 19:37:56 +02:00
Maciej Suminski
9b16651607
Added limits for VIEW scale values & panning area.
2013-09-18 17:36:54 +02:00
Maciej Suminski
56c78d44bf
Moved Type() method from EDA_ITEM to VIEW_ITEM.
2013-09-18 17:04:07 +02:00
Maciej Suminski
dcb5d8f25c
Merged Tom's branch
2013-09-18 16:59:08 +02:00
tomasz.wlostowski@cern.ch
75b59d8fa4
PCB_EDIT_FRAME: public SetTopLayer() method
2013-09-18 13:37:20 +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
Maciej Suminski
3d0753c920
Added get functions for high contrast mode fields.
2013-09-17 11:19:15 +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
573f9841df
Better way of marking 'brightened' mode for items.
2013-09-16 11:00:59 +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
tomasz.wlostowski@cern.ch
299f424345
geometry: r-tree based shape index
2013-09-13 15:43:33 +02:00
Maciej Suminski
9adbdd803a
Added missing functions for checking type of keyboard event
2013-09-13 15:31:19 +02:00
tomasz.wlostowski@cern.ch
7b0531fdd1
SEG: added SquaredLength() method
2013-09-13 15:25:03 +02:00
Lorenzo Marcantonio l.
1883370387
Add export netlist IPC-D-356 from Lorenzo Marcantonio, with very minor fixes.
2013-09-13 11:49:55 +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
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
jean-pierre charras
c029dc398b
Eeschema: fix compatibility with old schematic files, which can contain markers.
...
Pcbnew: better test for allowed layers when creating/editing Dimensions and some other Graphic items
Drc: fix comments and messages for some drc tests.
To do: fix issues in active layer selection when creating a track and layer pair selection dialog
2013-09-11 17:30:21 +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
b73474bda6
VIEW_GROUP: added FreeItems() method
2013-09-10 19:25:02 +02:00
tomasz.wlostowski@cern.ch
9daa1ab52a
TOOL_DISPATCHER: improve mouse handling
2013-09-10 19:22:38 +02:00
Maciej Suminski
082f3f9bb4
Added const modifiers where applicable.
2013-09-10 14:31:52 +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
4f0aa1c07c
Changed D() macro to DBG() because of conflict with glm::D().
...
Added const to GetColor() and GetType() functions in WS_DRAW_ITEM.
2013-09-10 10:47:42 +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
tomasz.wlostowski@cern.ch
da2f63bf31
math/vector2d.h: removed unused code, correct rounding in Resize()
2013-09-09 16:56:18 +02:00
tomasz.wlostowski@cern.ch
20eedfd7dc
math/math_util.h: fixed signedness bug in rescale()
2013-09-09 16:55:01 +02:00
tomasz.wlostowski@cern.ch
6639c2d8db
math/box2.h: normalize on construction, minor compilation warning fix
2013-09-09 16:53:33 +02:00
Maciej Suminski
d0749a3a52
Small refactoring.
2013-09-09 14:31:27 +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
000f1122b1
Moved selection marking boxes to a different layer.
2013-09-04 16:18:37 +02:00
jean-pierre charras
902e5ccee5
pcb layer box selector: ajust size when modifying the layer names, to show the full name.
2013-09-02 17:26:52 +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
89849cdfa7
Unified Set/GetPosition() for BOARD_ITEMs.
2013-08-29 12:06:06 +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
6ee32b9912
Fixed the 64 bit build.
2013-08-26 14:08:32 +02:00
Maciej Suminski
3962464190
Fixed linking errors for apps other than pcbnew.
2013-08-26 10:43:22 +02:00
jean-pierre charras
8cca89ffbe
Pcbnew: read netlist enhancements: add option to remove single pads nets, add enforce tests to report non existing netnames in zones.
...
Fix also some very minor errors in comments.
2013-08-24 10:08:55 +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
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
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
aabd2a46d0
Build fix.
2013-08-15 16:23:54 +02:00
Maciej Suminski
9bd7ba36ac
Added resetting of tools after loading a new board.
2013-08-15 10:20:49 +02:00
jean-pierre charras
336d1b23f9
Pcbnew: fix Bug #1211468
...
Pl_Editor: fix copyright in files. Enhancement when creating new items.
2013-08-13 19:51:22 +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
16437e5d45
Added general purpose overlay layer and moved selection box to it.
2013-08-08 11:43:56 +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
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
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
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
jean-pierre charras
d68c727b0f
Pcbnew: add hotkey Z to reset grid origin.
...
Save grid origin in .kicad_pcb files only if not 0,0 (to keep compatibility with previous versions of pcbnew, mainly the stable version)
Very minor other fixes (set modify flag when grid origin is moved from the dialog grid)
2013-08-03 18:16:57 +02: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
tomasz.
8ea0f7ae5b
Merged Orson's changes
2013-08-02 17:28:09 +02:00
tomasz.
31389c4063
pcbnew: tool initialization should belong to PCB_EDIT_FRAME to avoid linking errors on cvpcb.
2013-08-02 17:25:53 +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.
cc6ca277e3
Added COROUTINE and DELEGATE class examples.
2013-08-02 16:50:29 +02:00
tomasz.
ca138b8e92
Increased number of layers in the view (for overlay objects)
2013-08-02 16:49:07 +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
8d7054a592
Added drawing of solderpaste layer for pads.
2013-07-31 14:51:20 +02:00
Maciej Suminski
544726e4f3
New display style for grid (dotted).
2013-07-31 10:28:23 +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
f9d74ccb70
Removed shaderless OpenGL backend.
2013-07-29 16:38:07 +02:00
Maciej Suminski
bd182aad9f
Fixed top layer pads netnames issue.
2013-07-29 14:20:40 +02:00
Maciej Suminski
be012cac94
Added initialization of variable, preventing unconditional jumps. Fixed typos in comments.
2013-07-29 14:12:27 +02:00
Maciej Suminski
ee1b8e2a80
Added display of soldermask for pads.
2013-07-26 18:15:11 +02:00
Maciej Suminski
862d5a4bf2
Added scalar addition and subtraction operators.
2013-07-26 18:12:22 +02:00
jean-pierre charras
3b246ca483
Pl_Editor: add undo/redo commands.
2013-07-26 14:50:29 +02:00
Maciej Suminski
1fa882db53
Moved multilayer pad netnames to the top.
2013-07-26 12:15:28 +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
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
d7f569ae78
Fix GOST compatibility.
2013-07-22 18:45:22 +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 Suminski
4d7db7171c
Fixed comments.
2013-07-19 09:35:25 +02:00
Maciej Suminski
bbc0e8eb74
Refactorization of VBO_CONTAINER.
2013-07-17 18:49:38 +02:00
Maciej Suminski
861ea0592e
Different approach to coloring netname labels.
2013-07-17 14:02:08 +02:00
Maciej Suminski
c5ca075e24
Added an interface for highlighting.
2013-07-17 10:21:46 +02:00
Maciej Suminski
aa6a5ab671
Moved bottom netnames layer over bottom tracks & pads. Changed int to LAYER_NUM where applicable.
2013-07-16 15:45:21 +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
0544134ae3
Moved rendering order settings to a more appropriate place.
2013-07-16 10:49:56 +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
9374d642bf
Fixind GLM headers problem.
2013-07-16 08:42:44 +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
e135b7f669
treat chars as unsigned when hashing
2013-07-09 00:18:03 -05:00
Maciej Suminski
6c3534bd35
Dynamic color setting for netnames.
2013-07-08 20:42:46 +02:00
Maciej Suminski
89637b89b8
Separate layers for each copper layer netnames.
2013-07-08 16:46:04 +02:00
Maciej Suminski
36f1147da1
Upstream merge.
2013-07-08 15:05:12 +02:00
Maciej Suminski
3841b0ac3a
Showing net names on pads.
2013-07-08 11:30:50 +02:00
Maciej Suminski
032ef3a74c
Showing net names on tracks.
2013-07-08 09:57:23 +02:00
Maciej Suminski
5a0869f2e2
Added 'required layers' option for drawn items.
2013-07-08 09:28:58 +02:00
Maciej Sumiński
07781d34be
Removed KICAD_GAL CMake option.
2013-07-07 02:30:28 +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
af5a695c85
Added functions for changing settings of used font in GAL.
2013-07-04 14:24:41 +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
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
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
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
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
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
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
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
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
dea9dd2361
better error reporting and parsing of bad legacy footprint libs
2013-06-13 11:09:35 -05: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
a287f89304
Custom page layout: add support for poly-polygons (useful for logos)
2013-06-08 20:19:09 +02:00
Dick Hollenbeck
515f5fbe5e
*) Introduce "invoke_a_dialog.h" to information hide between top frame
...
and various DIALOG classes called from top frames. See comments in
{eeschema,pcbnew}/invoke_a_dialog.h.
*) Move some dialog classes into *.cpp files from *.h files.
*) void SCH_EDIT_FRAME::OnErc( wxCommandEvent& event ) was opening the modeless
ERC dialog more than once if icon was clicked more than once.
*) Remove BOM stuff.
2013-06-07 15:56:55 -05: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
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
Dick Hollenbeck
0f1f0f92f1
downloads-by-cmake now configurable, fix wx2.8 compiler errors
2013-06-05 09:24:03 -05: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
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
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
Michal Jahelka
a23dcccce5
Add filtering footprint list by library to CvPcb
...
* Add third list control with library names.
* Add button to toolbar to select filter by library name.
* Add bitmap for filter by library name toolbar button.
* Remove custom UI colors from list controls.
2013-05-31 13:33:46 -04:00
Dick Hollenbeck
96f8f6066d
remove boost and make it an external project, so the procedure for upgrading is better documented
2013-05-30 23:46:02 -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
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
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
Dick Hollenbeck
dc9122c5b6
remove "~" from empty *.lib component fields, replace with "", doctor old *.lib fields to blank if that was the intention
2013-05-24 18:58:29 -05:00
jean-pierre charras
7080828fe2
More about worksheet code.
2013-05-24 10:59:40 +02:00