Commit Graph

1639 Commits

Author SHA1 Message Date
jean-pierre charras 2a40ddd5f9 Pcbnew: Fix issue when displaying net names and/or pad numbers including the "<" char in drc dialog, because drc dialog uses an wxHtmlWindow to display drc messages, and the "<" char has a special meaning and is not allowed in texts (now replaced by the" &lt;" sequence in messages displayed in html)
Eeschema: replace "<" and ">" by "(" and ")" in autogenerated net names, to avoid other issues in html messages.
Very minor other fixes.
2013-10-14 18:03:38 +02:00
Wayne Stambaugh efcd8987d9 Fix Pcbnew block rotate hot key and minor code cleaning. 2013-10-14 11:29:16 -04:00
Maciej Suminski e66a4ce337 Namespace KiGfx->KIGFX.
template<> -> template <>
Some more reformatting according to uncrustify results.
2013-10-14 16:13:35 +02:00
Maciej Suminski 8253899a70 Converted tabs to spaces. Removed trailing whitespaces. 2013-10-14 13:43:57 +02:00
Dick Hollenbeck de90187eb0 *) 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 9e28d91879 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 2e89516b6e 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 e5cb41601e 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 f9d8e64a31 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 d6cad30c9f FP_LIB_TABLE::ROW::SetType() ensures sensible value of "KiCad" if nothing good comes in. 2013-10-04 17:40:25 -05:00
Dick Hollenbeck ed22433178 Rebase a subset of Footprint*() PLUGIN API onto FP_LIB_TABLE 2013-10-04 14:09:10 -05:00
Dick Hollenbeck 127876bd1b Fix FP_LIB_TABLE::ROW operator=(), was not copying "description" field.
Remove tooltips from fp_lib_table wxGrid, were annoying and munging wxGrid's grid.
Change initial size of DIALOG_FP_LIB_TABLE.
2013-10-04 10:58:32 -05:00
jean-pierre charras 731b356c95 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 3ec06fa3cc 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
Dick Hollenbeck 5a1d4ad491 if https:// GET fails, report the URL 2013-10-03 10:12:25 -05:00
Maciej Suminski ebb42aa419 Renamed WORKSHEET_ITEM to WORKSHEET_VIEWITEM. 2013-10-02 14:26:14 +02:00
Maciej Suminski 8223f9742e Fixed memory leak caused by ViewUpdate() with VIEW_ITEM::GEOMETRY/LAYER parameters. 2013-10-02 13:57:21 +02:00
Maciej Suminski eeeffd1ad1 Removed SELECTION layer. 2013-10-02 11:39:08 +02:00
Maciej Suminski 3cdc207b50 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 5acd895e0d 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 3715af2172 Comments, refactoring 2013-10-01 10:21:32 +02:00
Maciej Suminski 5f1a04cfa0 Fixed Mac OS build & removed one warning. 2013-09-30 09:45:42 +02:00
Maciej Sumiński db4903cdc4 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 5c0bc4913e wxWidgets 2.8 compatibility fix (removed wx/kbdstate.h) 2013-09-29 14:25:04 +02:00
Maciej Suminski a3a73426bf Even more code comments and reformatting. 2013-09-27 18:51:21 +02:00
Maciej Suminski 276d867ab2 Some more comments and code formatting. 2013-09-27 16:23:43 +02:00
jean-pierre charras 49b6a1725f 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 4c67f4cc26 Added missing header 2013-09-27 14:29:07 +02:00
Maciej Suminski b369cc4afc Merge kicad-pns-mac 2013-09-27 12:06:59 +02:00
Maciej Suminski 9bef4cb797 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 39edd3bdcd comment/doc cleanups 2013-09-26 10:02:46 -05:00
Maciej Suminski 5098088237 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 b1c0d614a3 Added some const modifiers. 2013-09-26 11:22:59 +02:00
Dick Hollenbeck 66c9d29539 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 655c8e609d 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 948a0713d5 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 b43d883db6 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 17a33166a4 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 8ea74c38c3 Fixed cvpcb build. 2013-09-24 16:12:02 +02:00
Maciej Suminski 57a8622e9a Added functions for refreshing the layer set occupied by a VIEW_ITEM. 2013-09-24 15:48:04 +02:00
Maciej Suminski 5e3f579431 Fixed build for Mac OS 2013-09-23 17:02:25 +02:00
Maciej Suminski e9e4df8d01 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 c46b8aecbc 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 a010b6177c Fix some minor issues in hotkey dialogs 2013-09-21 19:09:08 +02:00
Maciej Suminski 607fe8ed4b Added missing files 2013-09-20 18:21:01 +02:00
Maciej Suminski a0a479eb53 Merged upstream. 2013-09-20 17:54:35 +02:00
Maciej Suminski 04cdb15ceb Changed the way of refreshing canvases (both standard & GAL). 2013-09-20 17:29:32 +02:00
Maciej Suminski c931800642 Restored previous function names. 2013-09-20 16:32:11 +02:00
Maciej Suminski e839d1a129 Merged kicad-gal 2013-09-20 15:48:27 +02:00
jean-pierre charras 3799481c35 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 e07a8fbe31 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 2d52cb1d55 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 f6a3bc9168 Merged Orson's latest changes. 2013-09-18 20:10:55 +02:00
tomasz.wlostowski@cern.ch dca79490da P&S router: some missing files 2013-09-18 19:56:37 +02:00
tomasz.wlostowski@cern.ch 1b29805fc9 geometry/rtree.h: fix compiler warnings 2013-09-18 19:37:56 +02:00
Maciej Suminski fcd3bbecdf Added limits for VIEW scale values & panning area. 2013-09-18 17:36:54 +02:00
Maciej Suminski 3d767ffcc7 Moved Type() method from EDA_ITEM to VIEW_ITEM. 2013-09-18 17:04:07 +02:00
Maciej Suminski f88711ebf9 Merged Tom's branch 2013-09-18 16:59:08 +02:00
tomasz.wlostowski@cern.ch 17cd564ba6 PCB_EDIT_FRAME: public SetTopLayer() method 2013-09-18 13:37:20 +02:00
tomasz.wlostowski@cern.ch 5d3dda7a9d VIEW_CONTROLS: added ForceCursorPosition() and ShowCursor() methods 2013-09-18 13:15:42 +02:00
tomasz.wlostowski@cern.ch 0e23e23a7c VIEW: added GetTopLayer() method 2013-09-18 13:14:57 +02:00
tomasz.wlostowski@cern.ch e2736f4db1 geometry: killed compiler warnings 2013-09-18 13:14:13 +02:00
Maciej Suminski ee84127892 Added get functions for high contrast mode fields. 2013-09-17 11:19:15 +02:00
Wayne Stambaugh 3724c40afd 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 033b25de32 Reenabled snapping for tools. 2013-09-16 16:46:02 +02:00
Maciej Suminski b579262869 Better way of marking 'brightened' mode for items. 2013-09-16 11:00:59 +02:00
Wayne Stambaugh cecd75063e 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 4aae4489b9 Merged Orson's branch 2013-09-13 15:45:03 +02:00
tomasz.wlostowski@cern.ch 1b00dede02 geometry: r-tree based shape index 2013-09-13 15:43:33 +02:00
Maciej Suminski 5700075b7a Added missing functions for checking type of keyboard event 2013-09-13 15:31:19 +02:00
tomasz.wlostowski@cern.ch 128b1a423f SEG: added SquaredLength() method 2013-09-13 15:25:03 +02:00
Lorenzo Marcantonio l.marcantonio@logossrl.com a06134cd6c Add export netlist IPC-D-356 from Lorenzo Marcantonio, with very minor fixes. 2013-09-13 11:49:55 +02:00
Maciej Suminski fa57fee9bb Removed VIEW_LAYER.isDirty flag. 2013-09-13 11:38:16 +02:00
Maciej Suminski 404bfdcf30 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 87d81a6d92 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 7d41dc1616 Currently selected layer is displayed on the top. 2013-09-12 18:24:53 +02:00
Maciej Suminski c1e1502d35 Merged Tom's branch 2013-09-12 17:42:28 +02:00
tomasz.wlostowski@cern.ch 61778974a4 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 802a0117a7 COLOR4D: added Saturate(), FromHSV(), ToHSV() methods.
Used in highlighting/routing code.
2013-09-12 11:35:42 +02:00
Maciej Suminski 944a61100b Fixed memory leaks in containers. 2013-09-12 09:44:57 +02:00
Maciej Suminski f8ae1a9997 Removed some potential memory leaks. 2013-09-11 19:37:52 +02:00
jean-pierre charras 8ea015aaab 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 e38019d74e Removed some dead code. 2013-09-11 16:38:40 +02:00
Maciej Suminski 7da892b49a Added drawing of worksheet layout. 2013-09-11 14:42:12 +02:00
Maciej Suminski 60c84abfe4 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 efa1ac3807 Moved GetColor() from PAINTER to RENDER_SETTINGS. Fixed recaching of custom items. 2013-09-11 11:39:46 +02:00
Maciej Suminski f6b7ab7994 Changed some 'magic numbers' into constants. Added const modifier in appropriate spots. 2013-09-11 11:34:10 +02:00
Maciej Suminski c0b6d159fc Added one more function to convert colors. 2013-09-11 11:11:27 +02:00
Maciej Suminski fa85685baa Fixed COLOR4D( EDA_COLOR_T aColor ) and added asserts. 2013-09-11 10:30:39 +02:00
tomasz.wlostowski@cern.ch d1883bdd9d Merged kicad-gal-orson 2013-09-10 19:32:19 +02:00
tomasz.wlostowski@cern.ch 3254bfa619 VIEW_GROUP: added FreeItems() method 2013-09-10 19:25:02 +02:00
tomasz.wlostowski@cern.ch 2c287965fc TOOL_DISPATCHER: improve mouse handling 2013-09-10 19:22:38 +02:00
Maciej Suminski eac742e3db Added const modifiers where applicable. 2013-09-10 14:31:52 +02:00
Maciej Suminski 57a1201b11 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 85a8a71fc5 common: minimum version of the shape library 2013-09-10 13:43:09 +02:00
Maciej Suminski bd6bb510f8 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 0cf8221e62 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 a384290356 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 8b9226d820 math/vector2d.h: removed unused code, correct rounding in Resize() 2013-09-09 16:56:18 +02:00
tomasz.wlostowski@cern.ch 35e639c599 math/math_util.h: fixed signedness bug in rescale() 2013-09-09 16:55:01 +02:00