Jeff Young
1ed54d2314
Make sure find/replace respects different values in the hierarchy.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8328
2021-04-30 18:39:21 +01:00
Jon Evans
afe0c79a1e
Sheet pins need new UUIDs, too
2021-04-18 22:14:15 -04:00
Jon Evans
1e52f0a180
Make sure pasted symbols get new pin UUIDs
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8218
2021-04-18 21:53:38 -04:00
Wayne Stambaugh
2b86b34124
Eeschema: split out SCH_SHEET_PIN declarations into separate header.
2021-04-06 17:15:49 -04:00
Jeff Young
14e73d24dc
Naming conventions.
2021-03-29 11:46:05 +01:00
Roberto Fernandez Bautista
be51be22a7
Update Page Number when Duplicating or Pasting sheets
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7872
Also, update hierarchy before renaming pasted sheets
Avoids duplicate sheet names when pasting multiple sheets
2021-03-23 02:48:07 +00:00
Jeff Young
e34734c230
Make sure pasted sheet instances get added.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7872
2021-03-13 16:34:30 +00:00
Jeff Young
a3b9e8ddb4
Round 2 of Worksheet -> Drawing Sheet.
2021-02-23 11:57:44 +00:00
Marek Roszko
907e282347
Silence some msvc warnings
...
- exception variables that were unused
- RAYSEG2D improperly foward declared with class instead of struct
- unused vars
2021-02-20 11:58:55 -05:00
Jeff Young
2c4d53d994
Minor cleanup.
2021-02-16 21:11:36 +00:00
Jeff Young
cf42d692bf
Remove some dead code. A little bit of comment cleanup as well.
2021-02-15 14:13:43 +00:00
Jeff Young
ec20121114
Make sure schematic symbol fields get transferred to symbol editor.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7501
2021-02-14 18:30:14 +00:00
Jon Evans
abf0a46dce
Refactor PICKER_TOOL and push up snapping disable functionality
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7348
2021-01-31 09:50:41 -05:00
Jon Evans
1d12f3fe4a
Fix logic in selecting power symbols for net highlighting
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7339
2021-01-30 10:28:26 -05:00
david-beinder
2e21489acf
Copy unit numbers to symbol instances when pasting sheets
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5898 (B)
2021-01-26 18:12:49 +00:00
david-beinder
4bcd56b1f6
Always include unit number when copying to clipboard
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5898 (A)
2021-01-26 18:12:49 +00:00
Jeff Young
360953ba98
"comp" -> "symbol".
2021-01-19 23:50:40 +00:00
jean-pierre charras
e10025db64
Hierarchy navigation: keep the last used zoom level in a sheet when go back to this sheet.
...
Fixes #7107
https://gitlab.com/kicad/code/kicad/issues/7107
2021-01-17 09:41:49 +01:00
jean-pierre charras
77f651639d
Eeschema: fix crash using tune/probe function in spice simulator.
...
Fixes #6875
https://gitlab.com/kicad/code/kicad/issues/6875
2020-12-29 13:13:58 +01:00
Jeff Young
8a720ef305
Update naming.
2020-12-25 23:37:01 +00:00
Marek Roszko
9b0a137d6c
Stop bludgeoncompiling dialog_page_settings
...
Through the power of OOP!
Needs some more cleanup though
2020-12-19 10:40:37 -05:00
Jeff Young
91ab540d18
Naming conventions.
2020-12-18 00:30:26 +00:00
Jeff Young
9c7c05c161
Mostly formatting cleanup but a few type-casting cleanups too.
2020-11-24 22:16:41 +00:00
Jeff Young
dd60fd47b2
Cleanup and formatting.
2020-11-23 01:10:08 +00:00
jean-pierre charras
64636601b8
Eeschema: fix a Unicode/UTF8 management when pasting items from Clipboard.
...
Copy to clipboard save items (using S expr description) using wide strings
(not UTF8 encoding).
But Paste from clipboard was not converting the wide string to UTF8 string
when getting the stored data to send it as std::string to the S expr reader.
Fixes #6449
https://gitlab.com/kicad/code/kicad/issues/6449
2020-11-21 10:59:25 +01:00
Jeff Young
8c5c902fa3
Re-write IntersheetRefs on top of SCH_FIELDs and textVars.
...
1) Generalize SCH_ITEM owners (SCH_COMPONENT, SCH_SHEET, and now
SCH_GLOBALLABEL)
2) Generalize hypertext items
3) Use SCH_FIELD autoplace infrastructure for placing intersheet
references
4) Use textVar infrastructure for buildin intersheet references.
As an important side-effect this also fixes the undo issues with
intersheet refs.
2020-11-17 16:05:49 +00:00
Jeff Young
a207bd97bb
Naming conventions.
2020-11-17 16:05:49 +00:00
Jeff Young
6e6e0aa644
Naming conventions (including some component -> symbol).
2020-11-15 20:23:15 +00:00
Jeff Young
f0d0e17aab
Prepare for MODULE -> FOOTPRINT.
2020-11-13 15:16:24 +00:00
Jeff Young
bddc97df30
LibEdit -> SymbolEditor
2020-10-31 10:28:21 +00:00
Jeff Young
c5a86126d2
Be more clever about making sheet names unique.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6123
2020-10-23 23:55:45 +01:00
Seth Hillbrand
4085757aeb
Remove beginning/ending spaces in translations
...
Adding space padding makes translations more difficult by increasing
string counts
2020-10-20 12:08:04 -07:00
Wayne Stambaugh
8ff51d8899
Eeschema: add schematic sheet page number.
...
The groundwork has now been laid for per sheet instance data. Initially
this only supports sheet page numbers but could be expanded to include
other per sheet instance information.
ADDED: Support for user defined schematic page numbers.
2020-10-19 14:05:45 -04:00
Marek Roszko
a2c3bdec0d
Remove kicad_string.h from netlist_exporter.h
2020-10-15 18:48:53 -04:00
Marek Roszko
2c86363aa0
Relocate the page_layout includes to a page_layout folder
2020-10-13 20:33:33 -04:00
Michael Kavanagh
c40483d18a
Cleanup: Move KiCad files into plugins folder
2020-10-12 16:36:08 +00:00
Marek Roszko
03074ae6ed
Kick the selection tool to activate (and thus update cursors) on exiting some picker tools
2020-10-11 13:12:29 -04:00
Mark Roszko
d9485129c8
Implement more context specific cursors using both stock and custom cursors.
2020-10-08 00:50:28 +00:00
Jeff Young
4565631728
Finish moving eeschema assigned netclasses to sheet-path-relative.
...
Also adds code for the case where a new label is created on a net
with an existing netclass assignment.
Fixes https://gitlab.com/kicad/code/kicad/issues/5886
2020-10-07 16:31:55 +01:00
jean-pierre charras
bda275de46
more cleanup about removing useless include
2020-10-03 11:48:16 +02:00
Franck Jullien
2fc49045d1
ADDED: eeschema: Add intersheets references function
...
Add a new function to place intersheets references next to
global labels.
2020-10-01 20:39:32 +00:00
Jeff Young
fdbb28aea2
Treat Reference and Unit as separate words when searching.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4630
2020-09-20 18:57:33 +01:00
Jeff Young
d5fd09249b
Save instance info on clipboard and reapply it when keeping annotations.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5522
2020-09-06 11:32:28 +01:00
Wayne Stambaugh
c9fa46ace8
Eeschema: allow symbols to be edited in place.
...
ADDED: Support to allow schematic symbols to be edited in place.
2020-09-01 07:28:20 -04:00
Jeff Young
88635ee5b6
Clean up error messages.
...
Convert a lot of nags to InfoBar errors/warnings/messages, and some
that never should have been exposed to wxFAIL_MSGs.
2020-08-31 14:19:57 +01:00
Jon Evans
38a4e4ad5a
Remove the last bits of the old netlist system
2020-08-30 16:30:04 -04:00
Jon Evans
cf17a675b4
Port simulator probing to new connectivity info
2020-08-30 16:05:16 -04:00
Jeff Young
1bd7290309
Repair broken logic in ForceKeepAnnotations.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5382
2020-08-29 18:18:23 +01:00
Mark Roszko
1082402b33
Convert UNDO_REDO_T to an enum class
2020-08-26 18:04:32 +00:00
Ian McInerney
2f7094b352
Cleanup some unused variables
...
* Make the app progress indicator only have the indeterminate state
when the taskbar indicator is used (causes an uused variable warning
on wx<3.1)
* Remove unused dry run variable in pcb_netlist.h
* Remove unused forceDropAnnotations from the paste special dialog
since the dialog only controls keeping them.
2020-08-24 01:51:23 +01:00
Jeff Young
97c34e2516
ADDED alternate pin definitions and assignments.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/2002
2020-08-21 18:29:36 +01:00
Jeff Young
2b0b7a5153
Clear pin net-name-driving cache when changing annotation.
...
Also update connectivity after clear annotation, annotate or back
annotate.
Also update status bar for highlighted nets.
Fixes https://gitlab.com/kicad/code/kicad/issues/5170
2020-08-14 12:41:20 +01:00
Jeff Young
f4ab14f32d
Performance improvements for SchematicCleanup().
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4563
2020-08-10 12:41:52 +01:00
Jeff Young
5f3fd43b29
Fix uninitialized variable.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4948
2020-07-31 17:19:21 +01:00
Jeff Young
8a9fa53cd7
Clear annotations by default on copy/paste.
...
Folks didn't seem to like the "only clear when there are collisions"
behaviour. Paste Special remains available to "force keep".
Fixes https://gitlab.com/kicad/code/kicad/issues/4933
Fixes https://gitlab.com/kicad/code/kicad/issues/4744
2020-07-27 19:53:42 +01:00
Jeff Young
7340c97ef9
Undo for schematic-wide operations.
...
Editing value/footprint fields of multi-unit components.
Find/Change.
Annotation.
Back annotation.
Fixes https://gitlab.com/kicad/code/kicad/issues/2122
Fixes https://gitlab.com/kicad/code/kicad/issues/4869
Fixes https://gitlab.com/kicad/code/kicad/issues/3933
Fixes https://gitlab.com/kicad/code/kicad/issues/4871
Fixes https://gitlab.com/kicad/code/kicad/issues/3899
2020-07-13 12:32:17 +01:00
Jeff Young
358cccfd73
A bit of safety if realtime connection updating isn't on.
2020-07-07 14:45:14 +01:00
Jeff Young
e66523586b
Add Assign Netclass... to context menu.
...
ADDED Assign Netclass feature to EEschema.
Netclass assignments also now shown in status bar.
Fixes https://gitlab.com/kicad/code/kicad/issues/4581
2020-07-07 14:23:39 +01:00
Jon Evans
e9b99cc8b7
Fix grabbing connections from power components
2020-07-04 20:59:35 -04:00
Jon Evans
b94e29e3b1
Persist ERC pin table in project settings
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2066
Also a partial fix for https://gitlab.com/kicad/code/kicad/-/issues/4577
2020-07-03 17:11:42 -04:00
Jeff Young
c48f4272f3
Collapse a level out of the zoom settings.
...
The APP_SETTINGS_BASE now holds the list of zoom factors, and
the old legacy (screen-based) code has been removed.
2020-06-13 22:44:16 +01:00
Ian McInerney
4357c1d3b3
Coverity and compiler warning fixes
...
* Initialize variables
* Test dynamic casts
Fixes https://gitlab.com/kicad/code/kicad/issues/4620
2020-06-05 12:50:56 +01:00
Jon Evans
ae852e17f9
Re-add null component checking in UpdateNetHighlighting
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4606
2020-06-03 20:36:30 -04:00
Jeff Young
aadc926740
Coverity fixes and "auto" removal.
2020-06-02 17:22:23 +01:00
Jeff Young
160981ee71
Better error reporting for DRC rule parsing.
2020-05-25 22:51:47 +01:00
Mikołaj Wielgus
ecec7192fc
Add "Select All" in schematic & layout disambiguation popup menu
...
ADDED: "Select All" in schematic editor disambiguation menu
ADDED: "Select All" in layout edtor disambiguation menu
Fixes https://gitlab.com/kicad/code/kicad/-/issues/3877
2020-05-24 23:35:04 +00:00
Jon Evans
699985cd97
Check for nested buses when highlighting
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4531
2020-05-24 16:15:22 -04:00
Jon Evans
c7daf8a8f3
ADDED: Cross-probe highlighting of bus members
...
Note: this is a basic implementation but it could be
improved once we include bus information in the netlist
and pcbnew can natively keep track of buses and nets
instead of just nets.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4158
2020-05-24 13:30:23 -04:00
Jon Evans
1e69f592f6
Rework net highlighting to use connections instead of strings
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/1933
Fixes https://gitlab.com/kicad/code/kicad/-/issues/3921
2020-05-24 10:46:05 -04:00
Jon Evans
a63df2fbf0
Remove BuildNetListBase from netlisting paths
2020-05-23 13:14:05 -04:00
Jon Evans
7c7b7f41da
Move SCH_SCREEN project access to SCHEMATIC
...
SCH_SCREEN no longer needs to be a KIWAY_HOLDER
2020-05-20 22:27:48 -04:00
Ian McInerney
c4142a5842
Remaining part of code forgotten by 73a1ce3e
2020-05-20 11:43:50 +01:00
Jon Evans
e1476dea58
Fix build
2020-05-19 23:57:53 -04:00
Jon Evans
d7bd4c9b04
Move Eeschema globals to new SCHEMATIC object
...
Set up a new lineage for SCH_ITEMS to get back to the SCHEMATIC
they live on: Items will all be parented to the SCH_SCREEN that
they are added to, and each SCH_SCREEN will point back to the
SCHEMATIC that it is part of. Note that this hierarchy is not
the same as the actual schematic hierarchy, which continues to
be managed through SCH_SHEETs and SCH_SHEET_PATHS.
2020-05-18 13:04:56 -04:00
Wayne Stambaugh
980aefea4b
Eeschema: fix copy and paste bug.
...
Add required library symbols to new file formatter and parser when copying
schematic symbols to prevent missing library symbol when pasting into a
different schematic which may not have the same library symbol available.
Fix a minor bug where the default schematic symbol reference was not set
by the parser when loading.
Fixes https://gitlab.com/kicad/code/kicad/issues/4442
2020-05-15 15:53:59 -04:00
Wayne Stambaugh
ad88874adf
Use new file formats for copy and paste in schematic and symbol editors.
2020-05-13 18:56:19 -04:00
Jeff Young
724c669434
Move a few more commands to tool framework.
2020-05-12 18:12:38 +01:00
Wayne Stambaugh
590a101a88
Eeschema: fix update schematic symbol library link bugs.
2020-05-05 18:06:43 -04:00
Wayne Stambaugh
9c99286385
Fix a few Coverity warnings.
2020-05-05 16:42:59 -04:00
Wayne Stambaugh
7183e9f97e
Make the new schematic and symbol library file formats the default.
...
This is a very large and potentially disruptive change so this will be an
unusually long and detailed commit message.
The new file formats are now the default in both the schematic and symbol
library editors. Existing symbol libraries will be saved in their current
format until new features are added to library symbols. Once this happens,
both the legacy schematic and symbol file formats will be no longer be
savable and existing libraries will have to be converted. Saving to the
legacy file formats is still available for round robin testing and should
not be used for normal editing.
When loading the legacy schematic file, it is imperative that the schematic
library symbols are rescued and/or remapped to valid library identifiers.
Otherwise, there will be no way to link to the original library symbol and
the user will be required manually set the library identifier. The cached
symbol will be saved in the schematic file so the last library symbol in
the cache will still be used but there will be no way to update it from the
original library.
The next save after loading a legacy schematic file will be converted to
the s-expression file format. Schematics with hierarchical sheets will
automatically have all sheet file name extensions changed to .kicad_sym
and saved to the new format as well.
Appending schematics requires that the schematic to append has already been
converted to the new file format. This is required to ensure that library
symbols are guaranteed to be valid for the appended schematic.
The schematic symbol library symbol link resolution has been moved out of
the SCH_COMPONENT object and move into the SCH_SCREEN object that owns the
symbol. This was done to ensure that there is a single place where the
library symbol links get resolved rather than the dozen or so different
code paths that previously existed. It also removes the necessity of the
SCH_COMPONENT object of requiring any knowledge of the symbol library table
and/or the cache library.
When opening an s-expression schematic, the legacy cache library is not
loaded so any library symbols not rescued cannot be loaded. Broken library
symbol links will have to be manually resolved by adding the cache library
to the symbol library table and changing the links in the schematic symbol.
Now that the library symbols are embedded in the schematic file, the
SCH_SCREEN object maintains the list of library symbols for the schematic
automatically. No external manipulation of this library cache should ever
occur.
ADDED: S-expression schematic and symbol library file formats.
2020-05-04 12:40:03 +00:00
Jeff Young
2b6089240a
Change super/subscript syntax to ^{foo} and _{foo}.
2020-04-18 21:04:41 +01:00
Jeff Young
42cd604c3c
Expose Show Hidden Fields to GUI.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/2010
2020-04-18 16:36:51 +01:00
Jeff Young
d7d1cb6f78
A bunch of fixes to Eeschema Find/Replace.
2020-04-18 14:43:08 +01:00
Jeff Young
9c8941e040
Remove a bunch of globals.
2020-04-16 17:34:46 +01:00
Jeff Young
122b1ddaae
Unwrap an unnecessary layer now that we have new config stuff.
2020-04-13 20:58:12 +01:00
Jeff Young
c82679a6f2
Fix crash bug when highlighting no net (found by Coverity).
2020-04-12 11:19:44 +01:00
Jeff Young
292a9fadd9
Allow a click in the value field when searching for power nodes.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4180
2020-04-11 23:51:00 +01:00
Jeff Young
c4994eee7b
Fix a pair of bugs in the new highlight net logic.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4180
2020-04-11 13:02:18 +01:00
Jeff Young
962aa73e12
Improve EE_COLLECTOR to not miss children of sheets or symbols.
...
Also implements pin highlighting and special cases for power symbols.
Fixes https://gitlab.com/kicad/code/kicad/issues/4180
2020-04-10 14:09:26 +01:00
Jeff Young
132d4d3ffa
Clean up compiler warning.
2020-03-30 14:15:59 +01:00
Jeff Young
4990d1e7b2
Variable substitution framework.
...
This implements editing of variables and moving SCH_FIELDs,
TEXTE_MODULEs, TEXTE_PCB and worksheet items over to the new
framework.
2020-03-30 14:15:59 +01:00
Jeff Young
d69ebfae49
Push tool framework base down into TOOL_HOLDER.
...
This allows us to use it outside of EDA_BASE_FRAMEs (in this case, in
PANEL_PREVIEW_3D.)
2020-03-24 19:00:25 +00:00
Jeff Young
085d80e3f3
Remove duplicated settings from preferences.
...
These have now moved to project-specific settings.
2020-03-13 17:28:53 +00:00
Jeff Young
437f888c25
Schematic Setup dialog.
...
Includes:
- moving some of the project settings from the Preferences dialog
- ERC severites
- project-specific field-name templates
Fixes https://gitlab.com/kicad/code/kicad/issues/2145
2020-03-10 18:54:17 +00:00
Jeff Young
535033c5c9
Enable editing of sheet fields.
2020-03-07 18:52:30 +00:00
Jeff Young
fe3e0307d8
Move sheet name and filename to SCH_FIELD architecture.
...
Only internal storage architecture has changed (so far).
2020-03-06 16:23:44 +00:00
Seth Hillbrand
20fde2c16f
eeschema: Fix find from RTree change
...
The RTree doesn't keep pins and fields in the tree, so we need to search
for them differently.
Fixes #3979 | https://gitlab.com/kicad/code/kicad/issues/3979
2020-03-03 09:35:12 -08:00
Simon Richter
866aac9737
Clean up a few unused names of caught exceptions
2020-03-01 00:33:45 +00:00
Jeff Young
3f31d48b5e
Use a more friendly method of ensuring unique sheet names.
...
Also fixes a bug where we were failing to respect the
forceKeepAnnotations flag when processing content nested in
a sheet.
Fixes https://gitlab.com/kicad/code/kicad/issues/3681
2020-02-29 00:07:57 +00:00
Jeff Young
c7ec110fba
Only center focused items when they're not visible.
...
This includes outside the window and behind an occluding dialog.
This keeps the view from jumping around when focusing on nearby
objects.
2020-02-24 23:19:17 +00:00