183 Commits

Author SHA1 Message Date
Jeff Young
dedc10a163 The Include "Exclude from BOM" setting is for editing, not exporting.
There's no reason to put items marked "Exclude
from BOM" into the BOM.
2025-09-08 20:44:32 +01:00
jean-pierre charras
46c8a6ee95 DIALOG_LIB_FIELDS_TABLE & DIALOG_SYMBOL_FIELDS_TABLE: avoid empty m_viewControlsGrid.
The fix is more a workaround: if all columns of m_viewControlsGrid are removed by
the right click menu and the grid is empty, there are no way to re-add a column.
When happens, this workaround re-add a column when reopening the dialog to avoid
a empty grid.
2025-09-07 18:26:48 +02:00
Jeff Young
5489daf279 ADDED: collapse/expand for view controls in SYMBOL_FIELDS_TABLE...
... and LIB_FIELDS_TABLE.
2025-09-06 19:06:49 +01:00
Jeff Young
702f774a1f Bring DIALOG_LIB_FIELDS into line with DIALOG_SYMBOL_FIELDS_TABLE. 2025-09-06 15:10:30 +01:00
jean-pierre charras
c889a7fa16 DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE: fix a incorrect widgets type
Fix also a minor issue in DIALOG_FOOTPRINT_PROPERTIES_BASE

Fixes https://gitlab.com/kicad/code/kicad/-/issues/21662
2025-09-06 13:09:39 +02:00
Jeff Young
c163f0a24c CHANGED: better real-estate usage in Edit Symbol Fields dialog.
1) Moved view controls list to a wx_grid.
2) Allow show/hide of columns in view controls.
3) Allow editing of BOM Names in grid without long-click on Mac.
3) Added column show/hide states and sash pos to prefs.
4) Decreased mininum sash pane width to allow wider main grid.
5) Simplified presentation by moving "include" and "cross-probe"
   settings to config menu.
2025-09-05 13:00:50 +01:00
dsa-t
1af8722b0f Disable ibeam cursor setter for search fields on non-OSX.
The ibeam cursor gets stuck on MSW when mouse leaves the field.


(cherry picked from commit 47381f3d90f08ca832dd1152d02fdaa01dc3a52a)

Co-authored-by: Alex Shvartzkop <dudesuchamazing@gmail.com>
2025-08-18 15:56:06 +03:00
Jeff Young
cf5c00bcf2 Make more use of shared dialogs. 2025-08-10 21:32:10 +01:00
Jeff Young
51e244d7d4 Don't remove nonexistent entries from wxArrayStrings (KICAD-PG7) 2025-07-28 19:37:52 +01:00
Jeff Young
a9ab850f93 Don't bother with save changes for a kill. 2025-07-12 16:38:21 +01:00
jean-pierre charras
c44a477823 DIALOG_SYMBOL_FIELDS_TABLE: minor enhancements and fix a minor issue
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19145
2025-06-26 18:24:01 +02:00
Jeff Young
1faa9800dc Row height consistency.
Rats.  Also got tangled up in another commit which
removes some dead code.
2025-06-19 14:29:37 +01:00
Jeff Young
fb9500a6df Readability (no functional changes). 2025-04-28 17:39:54 +01:00
Jeff Young
66bacb3ea5 Honour template fieldname vis flag when adding fields.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20575
2025-04-28 17:39:54 +01:00
Jeff Young
2b33a03954 Make Edit Text & Graphics dialogs more similar.
Also a bunch of cleanup for dialog heading
format and info sizes.

Also fixups for consistency of syntax help
(should be a link, not a button)

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20790
2025-04-27 17:34:18 +01:00
Jeff Young
be4a851186 Allow embedded files to come from components
as well as parent containers.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20530
2025-04-23 15:14:58 +01:00
Jeff Young
8113824f7c Don't conflate generated fields (${DNP}) and fields with variable references.
They're not quite the same thing as the later
can have un-applied values which require expanding.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20417
2025-04-18 13:41:18 -07:00
Mike Williams
5fd294cad2 eda frame: hoist FocusItem calls up a layer
Prep for SCH_GROUPs
2025-04-01 14:34:20 -04:00
jean-pierre charras
c8b57c50dc DIALOG_SYMBOL_FIELDS_TABLE: fix a ugly look issue specific to wxMSW
The recent change use a two lines title in a widget. It works fine on Linux
and MAC, but is not supported on Windows.
So, on Windows, a one line title is used.
2025-03-31 18:46:47 +02:00
Jeff Young
14ca6e7b08 Clearer column titles.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20509
2025-03-31 15:14:59 +01:00
Jeff Young
0d6838b803 Add support for mixed-state checkboxes in grids.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17730
2025-03-21 13:49:07 +00:00
Jeff Young
6708f7b10c Fix off-by-one error when dragging to the left.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20307
2025-03-16 12:16:47 +00:00
Jeff Young
5996cffabc EE -> SCH (no functional changes) 2025-03-13 13:15:47 +00:00
Jeff Young
c5bb59468d Get rid of assumptions about field order. 2025-02-24 11:08:29 +00:00
Jeff Young
3c71e7ab09 Auto-recognize URLs in SCH_FIELD and PCB_FIELD grids.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17066

Fixes https://gitlab.com/kicad/code/kicad/-/issues/17745
2025-02-19 23:43:53 +00:00
Jeff Young
f65d260961 Pretty-print cross references in Symbol Fields Table.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19941
2025-02-19 23:43:53 +00:00
Jeff Young
fec6882e0a Fix row shading.
Don't use the wxGrid convenience covers.  They assume
you're doing nothing else with attributes.
2025-02-03 20:06:30 +00:00
Jeff Young
e19bce2f93 Reduce reliance on MANDATORY_FIELDS and their implied order. 2025-01-22 17:51:57 +00:00
Jeff Young
a0dd0485e9 Pull a little harder on the MANDATORY_FIELDs string.
We still conflate the fieldID, the position in the
array of fields, and whether or not that means the
field is mandatory.  But this attempts to clean up
*some* of that, without introducing too much risk.
2025-01-21 16:48:13 +00:00
Jeff Young
d50b69f1ae Reconcile divergence of MANDATORY_FIELDS between symbols and footprints.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19697
2025-01-21 13:28:28 +00:00
Wayne Stambaugh
d53ed205f2 CvPcb and Eeschema part 1 housekeeping. 2025-01-18 14:31:15 -05:00
Marek Roszko
5c3004b96e Avoid altering the configured output path during run in case of empty paths 2025-01-14 20:44:51 -05:00
Jeff Young
799dadeeec Save bom & bom_fmt preset names for jobs.
Also re-fronts Kicad manager frame after editing
job settings.

Also fixes a bug where group-by (but non-shown)
fields didn't get restored.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19627
2025-01-14 14:38:58 +00:00
Jeff Young
c2a3bfa477 Formatting. 2025-01-06 11:56:51 +00:00
Jeff Young
5c80f6c7d8 Honour private flag in Symbol Fields Table. 2025-01-05 20:48:49 +00:00
Jeff Young
ad513345fe Ugh. Once more into the breach to try and get our terminology consistent. 2025-01-04 15:41:05 +00:00
Seth Hillbrand
0b2d4d4879 Revise Copyright statement to align with TLF
Recommendation is to avoid using the year nomenclature as this
information is already encoded in the git repo.  Avoids needing to
repeatly update.

Also updates AUTHORS.txt from current repo with contributor names
2025-01-01 14:12:04 -08:00
Jeff Young
c5ae32c51c Auto-edit job properties and then description after creation. 2025-01-01 19:17:11 +00:00
Jeff Young
d7eed69831 Job-specific option dialog titles. 2025-01-01 16:33:57 +00:00
Marek Roszko
42b204fc74 Hookup the bom dialog to job
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19368
2024-12-27 23:00:08 -05:00
Wayne Stambaugh
a6923b3de3 Cache full schematic sheet list sorted by sheet page number.
The sheet list is returned as a copy of the cached list rather than a
reference to prevent external code from changing the list.  While not as
performant, it eliminates the risk of the sheet list being altered in
ways that could break the schematic.  The sheet list should only be
updated by calling SCHEMATIC::RefreshHierarchy() when any appropriate
sheet changes are made.

Note to developers: there is something inherently different about how the
QA tests are loading and handling schematics versus the schematic editor.
Using the cached sheet list for the SCHEMATIC object will cause some QA
test to fail.  This is why SCHEMATIC::Hierarchy() has not replaced
SCHEMATIC::BuildSheetListSortedByPageNumbers() everywhere.
2024-10-09 09:58:50 -04:00
Jeff Young
5ad8f0e387 Better OnModify() handling for Symbol Fields Table. 2024-08-11 12:45:36 -06:00
Seth Hillbrand
69849ba3ca Replace custom Clamp with std::clamp
Fixes bug in parser that had the elements in the wrong order due to our
custom version not matching the standard order
2024-07-25 19:17:17 +02:00
Seth Hillbrand
77797103f7 Add ability to embed files in various elements
Schematics, symbols, boards and footprints all get the ability to store
files inside their file structures.  File lookups now have a
kicad-embed:// URI to allow various parts of KiCad to refer to files
stored in this manner.

kicad-embed://datasheet.pdf references the file named "datasheet.pdf"
embedded in the document.  Embeds are allowed in schematics, boards,
symbols and footprints.  Currently supported embeddings are Datasheets,
3D Models and drawingsheets

Fixes https://gitlab.com/kicad/code/kicad/-/issues/6918

Fixes https://gitlab.com/kicad/code/kicad/-/issues/2376

Fixes https://gitlab.com/kicad/code/kicad/-/issues/17827
2024-07-15 16:06:55 -07:00
Jeff Young
86a8bc3a1f Improved error message. 2024-07-07 22:21:22 +01:00
Mike Williams
a5e2615251 Revert "SCH/LIB SYMBOL: never allow null LIB_SYMBOLs in SCH_SYMBOL"
This reverts commit 0b187e71227d2129d271f24fb92ae0b99b6f93bd.
2024-06-12 13:30:29 -04:00
Mike Williams
0b187e7122 SCH/LIB SYMBOL: never allow null LIB_SYMBOLs in SCH_SYMBOL
Also always always flatten incoming lib symbols.
2024-06-10 08:36:42 -04:00
Jeff Young
edc7603d2a Make it clear that GetSheets() is heavy.
Also removes the side-effect that SCH_SHEET_LIST's
c'tor would sort the list (and write virtual page
numbers) anytime the starting sheet was the root.

Also, definitely don't build a SHEET_LIST (sorted or
otherwise) if you're not even going to use it.

Also don't build SCH_SHEET_LISTs on idle events.  Better
to just always have the Next Sheet button enabled (we
already beep if you click it and there's no next sheet).

Also, use a SCREEN_LIST when you can.  It's much cheaper
to create.
2024-06-06 18:00:59 +01:00
Jeff Young
cbfc692e24 Performance for large hierarchies: symbol fields table
Don't bother to sort sheet list when we're going to
sort the symbols anyway.
2024-06-06 11:53:01 +01:00
Mike Williams
cc350cf279 symbol fields table: remember includeExcludedFromBOm correctly 2024-05-29 08:41:25 -04:00