Seth Hillbrand
76dbbfdf92
Eeschema: Clarify disambiuation of entry types
...
Replace the disambiguation menu entry for
wire2bus and bus2bus entries with their menu icon.
2017-12-01 08:19:52 +01:00
Seth Hillbrand
069448f20e
Eeschema: Automatically manage junctions
...
CHANGE: eeschema automatically adds and removes junctions
when required by the schematic
Fixes: lp:593888
* https://bugs.launchpad.net/kicad/+bug/593888
Fixes: lp:1482111
* https://bugs.launchpad.net/kicad/+bug/1482111
Fixes: lp:1563153
* https://bugs.launchpad.net/kicad/+bug/1563153
Fixes: lp:1730219
* https://bugs.launchpad.net/kicad/+bug/1730219
Fixes: lp:1491052
* https://bugs.launchpad.net/kicad/+bug/1491052
2017-11-30 10:02:24 -05:00
Seth Hillbrand
b5ec5f9a73
Eeschema: Moving BreakSegment into SCH_EDIT_FRAME
...
BreakSegment now breaks a known segment and BreakSegments
breaks all segments. This allows functions to break a
segment without needing to iterate through the whole list.
2017-11-30 10:02:15 -05:00
Seth Hillbrand
e9a297de5b
Eeschema: Removing DC dependencies
2017-11-30 10:02:05 -05:00
Seth Hillbrand
bf32cc2555
Eeschema: Moving SchematicCleanup to SCH_EDIT_FRAME
...
SchematicCleanup function moved from SCH_SCREEN to
SCH_EDIT_FRAME to allow access to the undo stack as we
are changing the schematic.
2017-11-30 10:01:58 -05:00
Seth Hillbrand
c6632bdded
Eeschema: Remove zero-length wires in RemoveBacktracks
...
RemoveBacktracks call removes zero-length wires as well
2017-11-30 10:01:50 -05:00
Seth Hillbrand
692fecea9a
Eeschema: don't cleanup unseen schematics
...
Changes to the schematic shouldn't be made
where the user isn't looking. Removing the
cleanup in ERC and netlisting prevents
unintended consequences
CHANGE: ERC and Netlist calls do not modify schematic
2017-11-30 10:01:34 -05:00
Seth Hillbrand
0fd2405c00
Eeschema: Add two utility functions to sch_line
...
Add IsSameQuandrant and IsParallel functions
2017-11-30 10:01:26 -05:00
Seth Hillbrand
d0b2f078fe
Eeschema: Unify delete operations
...
DeleteItemsInList now shares the code for DeleteItem.
SCH_FRAME::DeleteItem removes junctions that are no longer needed.
2017-11-30 10:01:21 -05:00
Seth Hillbrand
f8e0099ecc
Eeschema: Add 'append' option to undo
...
Allows eeschema to add elements to previous undo commits,
permitting stacking of changes through multiple calls
2017-11-30 10:01:15 -05:00
Seth Hillbrand
7b1938d999
Eeschema: IsCorner check for layer match
...
SCH_LINE can represent a bus, wire or graphic line. Checking
for the corner needs to distinguish between these types.
Fixes: lp:1635984
* https://bugs.launchpad.net/kicad/+bug/1635984
2017-11-29 08:54:00 -05:00
jean-pierre charras
f992d144d9
Eeschema, LIB_PIN::SetNumber(): ensure spaces are replaced by _ and set modify flag on change.
...
Fixes: lp:1734187
https://bugs.launchpad.net/kicad/+bug/1734187
2017-11-28 21:02:29 +01:00
Wayne Stambaugh
0acdd9f02e
Remove obsolete symbol library item load code.
2017-11-27 14:42:22 -05:00
Maciej Suminski
480b1c2592
Fixed a crash when _cvpcb.kiface is not available when opening cvpcb
2017-11-27 17:11:12 +01:00
Wayne Stambaugh
b4e9d9b6f7
Symbol rescue dialog improvements.
...
Make the user prompt an HTML control for improved layout.
Fix some column title sizing issues. This is not a complete fix but
it seems better than the default sizing done by wxWidgets.
Use symbol terminology instead of part and/or component.
Create trace string source files for a common place for them and their
Doxygen comments.
2017-11-26 18:14:10 -05:00
jean-pierre charras
6e728739bb
Eeschema: multi part with empty value (~) generates incorrect netlist
...
Fixes: lp:1734453
https://bugs.launchpad.net/kicad/+bug/1734453
2017-11-26 10:51:14 +01:00
Wayne Stambaugh
84e360dd0d
Symbol library table remapping improvements.
...
Don't back up schematic files unless the user requests a remap.
Back up all files that could be changed by a remap including the
schematic file(s), cache library, project file, and rescue library
files.
Use an HTML control instead of a static text control for improved layout
of the user remap prompt.
Improve the user prompt in the remap dialog to make it clear that changes
will be made to project files.
2017-11-24 11:43:42 -05:00
Maciej Suminski
1d48fd28e3
Generate safe alias names in case of name collisions
...
Duplicated aliases were given " (copy x)" suffix. There are two
problems: aliases cannot contain spaces and the string was translatable
which could create more issues. Now duplicated aliases receive "_x" suffix.
2017-11-24 17:39:58 +01:00
jean-pierre charras
37f68f824b
minor cosmetic enhancement: menu "Edit Components to Symbol Library Links": add specific icon.
2017-11-24 10:19:23 +01:00
jean-pierre charras
cd9d81d720
dialog_edit_components_libid: add a tool to remap orphan components.
...
Orphan components are components that have a link (lib_id) pointing to a non existent symbol in any loaded libraries.
2017-11-23 19:49:53 +01:00
Wayne Stambaugh
b82bd8e0c5
Fix symbol names with illegal library ID characters.
...
Change the legacy schematic plugin to preserve illegal LIB_ID characters
when load schematics prior to version 4.
Check for illegal LIB_ID symbol names during project rescue. Rename and
rescue any symbols with illegal LIB_ID names.
Add static methods to LIB_ID object for testing for and fixing names
with illegal characters so there is uniform code for doing so.
Update the Eagle plugin symbol loader to fix symbol names using the new
LIB_ID fix illegal names method.
Fixes lp:1732236
https://bugs.launchpad.net/kicad/+bug/1732236
2017-11-23 10:52:55 -05:00
jean-pierre charras
d52fd5769d
Show a tooltip if dialog_choose_component has no symbol selected.
2017-11-23 13:24:02 +01:00
jean-pierre charras
1aff677562
Eeschema, getpart.cpp: fix incorrect call to lib browser
...
(was not called if a symbol was not previously selected)
2017-11-23 12:09:35 +01:00
jean-pierre charras
fea9d121b7
dialog_edit_components_libid: UI enhancements, and use viewlib for LIB_ID selection
2017-11-23 10:40:14 +01:00
jean-pierre charras
c3015f4671
Fix incorrect LIB_ID exported by viewlib when used as component chooser
...
(was not to the new format libname::symbol_name)
2017-11-23 10:40:13 +01:00
Seth Hillbrand
faadbea10e
Eeschema: Select component connections in drag
...
Dragging a full line that is connected to a component
now drags the component as part of the block, maintaining
connections.
Fixes: lp:1167714
* https://bugs.launchpad.net/kicad/+bug/1167714
2017-11-22 12:01:58 -05:00
jean-pierre charras
76d08c8bd2
UI fixes and enhancements in dialog_edit_components_libid.
2017-11-22 17:54:17 +01:00
jean-pierre charras
4d0d56fbd7
Fix incorrect handling of the last component in the component list.
2017-11-22 17:54:16 +01:00
Maciej Suminski
6b74f8ef48
Library Editor: fixed an assert after removing libraries with Symbol Library Table dialog
2017-11-22 14:15:51 +01:00
Maciej Suminski
d76f7d7bd2
Library Editor: fixed an assert after canceling add library action
2017-11-22 14:03:01 +01:00
Maciej Suminski
baec127852
Library Editor: show also empty libraries
2017-11-22 13:40:14 +01:00
Maciej Suminski
aaabf8ab78
Library Editor: fixed a crash when creating a new library with existing file
2017-11-22 13:40:14 +01:00
Maciej Suminski
8b0041bf9a
Library Editor: progress dialog when loading libraries
2017-11-22 13:40:14 +01:00
Maciej Suminski
1625129054
Library Editor: removed duplicated 'Duplicate Block' (doh..)
2017-11-21 23:40:21 +01:00
Maciej Suminski
e25a1feb25
Component Tree: restore expanded nodes after search query is cancelled
2017-11-21 23:18:55 +01:00
Maciej Suminski
4a942a9810
Library Editor: do not change background for the active part/library
2017-11-21 23:18:55 +01:00
Maciej Suminski
ed059383c7
Library Editor: removed library actions from the part context menu
2017-11-21 23:18:55 +01:00
Maciej Suminski
0b7ab40288
Updated cut/copy/paste toolbar icons
...
Removed cut & copy toolbar icons in the schematic editor, as they
were inaccessible. One cannot have an item selected and move the
mouse outside the canvas area due to autopanning.
Added paste icon to the library editor.
2017-11-21 23:18:55 +01:00
Maciej Suminski
256276cf1c
Library Editor: copy/cut/paste for graphical items
2017-11-21 23:18:55 +01:00
Maciej Suminski
4fe06656a6
Minor refactor in LIB_EDIT_FRAME::Process_Special_Functions()
...
Shortened 'screen->m_BlockLocate' to 'block'.
2017-11-21 23:18:55 +01:00
Maciej Suminski
6b87c2d6b1
Library Editor: faster filtering on Windows
...
Preventing redraw by freezing wxDataViewTreeCtrl significantly
improves the performance.
2017-11-21 23:18:55 +01:00
Maciej Suminski
e0e4e5f1be
Library Manager: alternative way to manage dynamic fixes
...
Tree nodes now have an additional field 'InTree' to determine
if the view is aware of its existence. This way, there is no need
to rebuild the data structures from scratch when they need to be
filtered.
2017-11-21 23:18:55 +01:00
Maciej Suminski
db4bd0c2db
Library Editor: fixed dynamic updates
...
Duplicate entries were caused by multiple model assignment done by
CMP_TREE_MODEL_ADAPTER_BASE::AttachTo().
2017-11-21 23:18:55 +01:00
Maciej Suminski
891cf783fb
Library Editor: Windows fixes
2017-11-21 23:18:55 +01:00
Maciej Suminski
d3d2770093
Library Editor: fixed library manager synchronization to sym-lib-table
2017-11-21 23:18:55 +01:00
Maciej Suminski
b229286313
Library Editor: fixed a crash after a library is removed
2017-11-21 23:18:55 +01:00
Maciej Suminski
6400e31d5b
Library Editor: more coherent icons for part import/export
2017-11-21 23:18:55 +01:00
Maciej Suminski
8dabcc0125
Fixed signed vs unsigned integer comparisons
2017-11-21 23:18:55 +01:00
Maciej Suminski
658dd362cd
Library Manager: clear the deleted part buffer when original file is saved
2017-11-21 23:18:55 +01:00
Maciej Suminski
86f71a9eb4
Library Editor: notify is library is read-only
2017-11-21 23:18:55 +01:00
Maciej Suminski
d2d3680774
Library Editor: more descriptive symbol table picker dialog
2017-11-21 23:18:55 +01:00
Maciej Suminski
50dc0ffd9d
libedit: Call OnModify after a pin has been moved
...
Library Editor updates its working copy of the edited part every time
it is modified. If LIB_EDIT_FRAME::PlacePin() calls OnModify() too early,
the working copy does not include the last change.
2017-11-21 23:18:55 +01:00
Maciej Suminski
95754632c2
Library Editor: renamed 'component' to 'part'
2017-11-21 23:18:55 +01:00
Maciej Suminski
a4f475c97d
Library Editor: icon improvements
...
- new icons: 'save part', 'add library'
- added a toolbar icon for 'add library'
- made icons on toolbar and menu consistent
2017-11-21 23:18:55 +01:00
Maciej Suminski
44117a7d5e
Library Editor: added a hotkey to save a component
2017-11-21 23:18:55 +01:00
Maciej Suminski
d900e89382
Library Editor: fixed a bug when multiple components were shown as active
2017-11-21 23:18:55 +01:00
Maciej Suminski
ba4515885b
Library Editor: select part in the widget component on create/paste/duplicate component
2017-11-21 23:18:55 +01:00
Maciej Suminski
7d45d8b23c
Library Editor: made the component tree pane resizable
2017-11-21 23:18:55 +01:00
Maciej Suminski
076633bb5e
Library Editor: disable 'save component' for read-only libraries
2017-11-21 23:18:55 +01:00
Maciej Suminski
33242fd111
Library Manager: do not clear modified flag on 'save library as' action
2017-11-21 23:18:55 +01:00
Maciej Suminski
df8dc01e8d
Library Manager & Editor: comments
2017-11-21 23:18:55 +01:00
Tomasz Włostowski
7fc1e1d53c
Library Editor: component cut/copy/paste/duplicate
2017-11-21 23:18:55 +01:00
Maciej Suminski
2ed19668cd
Eeschema: removed protos.h
...
Contained duplicated function declarations with invalid comments.
2017-11-21 23:18:55 +01:00
Maciej Suminski
8f1897adfd
minor refactor
2017-11-21 23:18:55 +01:00
Maciej Suminski
3ace948197
block_libedit.cpp: minor refactor
...
Replaced numerous GetScreen()->m_BlockLocate with a shorter reference.
2017-11-21 23:18:55 +01:00
Tomasz Włostowski
72de4e1857
libedit: field edition should be undoable
2017-11-21 23:18:55 +01:00
Maciej Suminski
f2257ccccc
Eeschema: created a header for list operations
2017-11-21 23:18:55 +01:00
Maciej Suminski
03c5620efe
Library Editor: removed 'load component' hot key
2017-11-21 23:18:55 +01:00
Maciej Suminski
73ec145c33
Library Manager: wrapped risky calls with try..catch
2017-11-21 23:18:55 +01:00
Maciej Suminski
fb4875c681
Library Editor: refactored code for creating backup files
2017-11-21 23:18:55 +01:00
Maciej Suminski
f6f1dff9d0
Library Editor: enable part buffering for faster save, better 'save as' implementation
...
Previous 'save as' implementation simply copied the original file, so
the buffered changes were not save.
2017-11-21 23:18:55 +01:00
Maciej Suminski
9fcaa83b7d
Library Manager: fixed a memleak in LIB_EDIT_FRAME::OnCreateNewPart()
2017-11-21 23:18:55 +01:00
Maciej Suminski
a2b6c8e20a
Library Manager: select library when none is set for import/create new part
2017-11-21 23:18:55 +01:00
Maciej Suminski
bb83b73f76
Library Editor: mark the current library/part with a different color
2017-11-21 23:18:55 +01:00
Maciej Suminski
dfcd42f5ef
Library Editor: save libraries added in the editor to sym-lib-tables
2017-11-21 23:18:55 +01:00
Maciej Suminski
26304c54ed
Library Editor: fixed update UI event handlers
2017-11-21 23:18:55 +01:00
Maciej Suminski
24ddbbaf25
Library Editor: display a list of libraries to save on close
2017-11-21 23:18:55 +01:00
Maciej Suminski
2c20a10242
Removed friendship in LIB_PART and LIB_ALIAS classes.
...
It is not required and may a source of unnecessary temptation. There is
no place for friendship in rough C++ world.
2017-11-21 23:18:55 +01:00
Maciej Suminski
aa81f5b98d
Removed LIB_PART::SetLibId()
...
To avoid potential incoherency, LIB_ID is defined by setting the part
name and library.
2017-11-21 23:18:55 +01:00
Maciej Suminski
445ac50588
Keep LIB_ID and LIB_PART name/library in sync
...
Updates LIB_ID::LibItemName field when a part is renamed and LIB_PART
name when a new LIB_ID is set.
Similarly, LIB_ID::LibNickName field is updated when a library set, but
there is no easy way to assign library when LIB_ID::LibNickName is
modified.
2017-11-21 23:18:55 +01:00
Maciej Suminski
4c4f5ae962
Unified way of setting LIB_PART name
...
LIB_PART name is stored in three places that might be changed
independently:
- the first LIB_ALIAS in m_aliases
- LIB_FIELD with VALUE ID
- m_name wxString field
This is potentially leads to an incoherent LIB_PART state. To prevent
this, all fields are changed using only one method: LIB_PART::SetName().
LIB_PART::m_name has been removed as the same information is available
in two other variables.
2017-11-21 23:18:55 +01:00
Maciej Suminski
3589244ff3
Library Editor field edit dialog takes data from LIB_MANAGER
2017-11-21 23:18:55 +01:00
Maciej Suminski
5c61b61c27
Improved synchronization algorithm for LIB_MANAGER<->COMPONENT_TREE
2017-11-21 23:18:55 +01:00
Maciej Suminski
a789b735e9
Library Manager: logic
2017-11-21 23:18:55 +01:00
Maciej Suminski
769c6a8d51
Library Manager: user interface
2017-11-21 23:18:55 +01:00
Maciej Suminski
d29e115804
CMP_TREE_MODEL: set LibID for library nodes
...
LibID needs to be set for libraries as well to be able to tell which
library has been selected in the component tree widget.
2017-11-21 23:18:55 +01:00
Maciej Suminski
0d190639f1
Extracted CMP_TREE_MODEL_ADAPTER_BASE class
2017-11-21 23:18:55 +01:00
Maciej Suminski
3288a5f8b8
Right-click context menus for COMPONENT_TREE widget
2017-11-21 23:18:55 +01:00
Maciej Suminski
42220579df
Const modifiers
2017-11-21 23:18:55 +01:00
Maciej Suminski
3bdcdd808b
Fix minor warnings
2017-11-21 23:18:55 +01:00
jean-pierre charras
945325d63a
Eeschema: fix incorrect display of pin number in ERC messages and marquers.
2017-11-21 18:39:59 +01:00
jean-pierre charras
656d4d0dff
dialog_edit_components_libid: shows orphan components (components with no symbol found in library)
2017-11-21 18:06:37 +01:00
Wayne Stambaugh
8de70f3dd0
Fix symbol library viewer crash.
...
Handle exception in best zoom method when a symbol could not be loaded
from the symbol library table. This was triggered by an empty symbol
library table but could be triggered by any exception thrown while
loading the symbol.
Fixes lp:1733111
https://bugs.launchpad.net/kicad/+bug/1733111
2017-11-21 09:30:56 -05:00
Oliver
e25a777c41
Add progress dialog when loading symbol libraries
...
- Provides UX feedback for user
2017-11-21 08:18:51 -05:00
Oliver
f85ce87e44
Toggle LIB_TABLE_ROW enabled/disabled in grid editor
...
- Checkbox editor for enabled / disabled status
2017-11-21 08:18:17 -05:00
Oliver
7cdb78e852
Added "enabled" parameter for LIB_TABLE_ROW
...
- Read and write from lib-table working
2017-11-21 08:18:06 -05:00
jean-pierre charras
f17f604072
Add warning message in dialog_edit_components_libid
2017-11-21 13:09:13 +01:00
jean-pierre charras
8507ea45fc
Add a dialog to edit/change components LIB_ID inside a schematic.
...
This is useful for instance after moving a symbol from a lib to an other lib.
2017-11-21 11:52:40 +01:00
Maciej Suminski
422b7dd551
Removed declaration of non-existent method (SCH_SHEET::Load())
2017-11-20 09:16:13 +01:00
Julius Schmidt
375a4e28d6
fix MANDATORY_FIELDS comparisons (need to exclude -1)
2017-11-20 08:48:01 +01:00