Jeff Young
122a6d7f46
Move hypertext linking to user-page-numbers.
...
Also moves most navigation code to SCH_NAVIGATION_TOOL.
Also changes page number href to anchor syntax ('#foo').
Also adds hypertext processing to SCH_TEXTBOXes.
Also adds combobox with schematic pages to text properties dialog.
2022-08-27 19:17:43 +01:00
Roberto Fernandez Bautista
a78cefc7d4
ADDED: Plotting of sheet objects with go to page hyperlinks (pdf for now)
2022-08-27 19:17:42 +01:00
Marek Roszko
e0f28fc4e1
Replace wxFindReplaceData with our own container
...
By dropping the flags, we can be strict with options.
Also it makes future usage of search functionality a little more "UI" framework independent
2022-08-23 22:16:51 -04:00
Jeff Young
4f0136db3b
Attempt to fix std::initializer_list lifetime issue.
2022-08-21 20:54:41 +01:00
Jeff Young
aa2ad3b44c
Move KICAD_T[] to std::initializer_list<KICAD_T>.
2022-08-20 10:28:11 +01:00
Jeff Young
6f49b57f9b
Cleanup & performance enhancements.
2022-08-01 13:09:51 +01:00
Marek Roszko
a8505d9c76
SEARCH_RESULT -> INSPECT_RESULT
...
To fix the name squatting it's doing for future functionality
2022-07-29 20:01:10 -04:00
jean-pierre charras
993c446fdf
Fix some warnings detected by PVS-STUDIO (most are not used vars)
2022-07-25 18:23:52 +02:00
Jeff Young
d5a6452934
Get rid of special default line style for Eeschema.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11882
2022-06-27 19:12:45 -06:00
Marek Roszko
88c7322a0d
EDA_TEXT Get/SetTextSize should use VECTOR2I
2022-05-14 08:16:15 -04:00
jean-pierre charras
20d1d0705e
Fix a few issues related to field names and their translation. - Do not use translated field names outside strings displayed in dialogs. - fix code that does not work well with default locale. - fix some (not all) I18n issues in DIALOG_UPDATE_SYMBOL_FIELDS.
2022-05-13 11:45:37 +02:00
Roberto Fernandez Bautista
0015574a60
${SHEETNAME} represents the sheet name + introduce ${SHEETPATH}
...
CHANGED: The text variable ${SHEETNAME} now always represents the name of the
sheet when used anywhere in the schematic editor, including the title block
ADDED: A new text variable ${SHEETPATH} which is replaced with the path to the
current sheet - e.g. "/Sheet 1/Sheet 2".
To ensure backward compatibility, the default drawing sheet now uses
${SHEETPATH}. Custom drawing sheets will need to be manually edited.
2022-04-09 15:45:58 +01:00
Wayne Stambaugh
7da7864f5e
Fix some Coverity issues.
2022-03-25 15:51:05 -04:00
Seth Hillbrand
984eb0fb40
Handle locally-coded file names for sheets
...
Windows can accidentally create forward slash-coded files. This simply
converts them to the proper unix-coded value when set
Fixes https://gitlab.com/kicad/code/kicad/issues/10964
(cherry picked from commit 429544c188
)
2022-03-01 17:23:30 -08:00
Seth Hillbrand
eb06ecab10
Avoid resolving text vars without screen
...
We need to keep the screen blank while initially loading a sheet before
the hierarchy is developed. Avoid resolving text variables during this
process
Fixes https://gitlab.com/kicad/code/kicad/issues/11000
(cherry picked from commit 63b06af6b1
)
2022-02-28 12:28:02 -08:00
Jeff Young
f11b8011cd
Separate plotting into background and foreground.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10390
2022-02-10 20:33:06 +00:00
Jeff Young
60bcfd1bf1
Bug fixes in arc & textbox printing.
...
Also removal of the no-longer-used clipping code from GR*.
2022-01-31 20:00:47 +00:00
Seth Hillbrand
be5bb8c4bd
Enforce strictly weak ordering in sheets
...
This ensures that irreflexivity is given in sort ordering. This may
have been triggering issues in MacOS when adding sheets
Fixes https://gitlab.com/kicad/code/kicad/issues/10557
(cherry picked from commit a1615cce7e
)
2022-01-24 10:41:21 -08:00
Jeff Young
e61144d45a
Finish with EDA_ANGLE.
2022-01-16 21:15:40 +00:00
Jeff Young
e048e51f5d
Improve SNR of EDA_ANGLE stuff.
2022-01-14 16:08:18 +00:00
Marek Roszko
c4c56de708
Neurotically update position wxPoint usages
2022-01-01 11:55:51 -05:00
Marek Roszko
347e03363a
Convert wxPoint/wxSize starting from EDA_RECT usages
2022-01-01 11:30:33 -05:00
Jeff Young
86cb57f4a7
Cherry-pick TEXT_ATTRIBUTES and EDA_ANGLE from rockola/kicad-strokefont
2021-12-28 22:15:20 +00:00
Jeff Young
889970a449
SCH_NETCLASS_FLAGs and SCH_FIELDs for labels.
...
ADDED: a new label type for netclass flags.
ADDED: the ability to define fields on labels.
2021-12-24 16:13:27 +00:00
Jeff Young
832eb0d019
Fix off-by-one error in grid snapping.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9013
2021-12-09 16:35:11 +00:00
Wayne Stambaugh
b7af66e3f9
Eeschema: fix broken page numbers when renaming a sheet file name.
...
Always use full sheet paths when storing sheet instances. Partial sheet
paths cannot be full resolved resulting in lost page numbers when renaming
sheet file name.
Fixes #9782
2021-12-09 12:56:03 +00:00
Wayne Stambaugh
a03e6e4926
Revert "Eeschema: fix broken page numbers when renaming a sheet file name."
...
This reverts commit a468a79948
.
2021-12-06 07:47:18 -05:00
Wayne Stambaugh
5ae844ba93
Revert "Fix SCH_SHEET object assignment operator bug."
...
This reverts commit 37d53a7147
.
2021-12-06 07:47:02 -05:00
Wayne Stambaugh
37d53a7147
Fix SCH_SHEET object assignment operator bug.
2021-12-01 07:19:30 -05:00
Wayne Stambaugh
a468a79948
Eeschema: fix broken page numbers when renaming a sheet file name.
...
Remove duplicate instance data saved in both root SCH_SCREEN and SCH_SHEET
objects that was causing them to be out of sync. All sheet instance data
is stored in the SCH_SHEET object itself and rebuilt on the fly so it is
always current.
Remove Get/SetPageNumber from SCH_SHEET_PATH object so it doesn't obfuscate
where the actual sheet page number information exists.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9782
2021-11-30 08:11:24 -05:00
Mikolaj Wielgus
9bb370e6b4
SCH_SHEET_PIN: Rename GetEdge, SetEdge to GetSide, SetSide
2021-11-28 20:07:06 +01:00
Mikolaj Wielgus
2e1862de1c
Run AutoAutoplaceFields() in SCH_SHEET constructor
...
A constructor should create a fully initialized object.
2021-11-28 18:46:28 +01:00
Roberto Fernandez Bautista
3660597082
Use canonical names when saving sheet name and filename fields
2021-11-27 20:38:51 +00:00
Jeff Young
fe6cb7dbb4
Mirror sheet fields when mirroring sheet.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9479
2021-10-28 21:45:22 +01:00
Jeff Young
b52529521e
Replace individual LIB_* shapes with LIB_SHAPE (based on EDA_SHAPE).
...
Also moves to more capable FILL_T model that can be shared.
2021-10-15 12:45:43 +01:00
Jeff Young
935a307674
Formatting and iterator safety.
2021-10-06 11:13:16 +01:00
Jeff Young
5f3c67bd2b
Fill in some missing GetMsgPanelItems and make some others consistent.
...
Also expunges a std::vector<MSG_PANEL_ITEM> cover type.
2021-09-27 00:23:40 +01:00
Seth Hillbrand
871bdbc952
Search sheets in hierarchy-order
...
Also fixes an issue where multiple sub-sheets were skipped in certain
cases
Fixes https://gitlab.com/kicad/code/kicad/issues/8972
2021-08-27 13:03:18 -07:00
Jeff Young
69fac89e86
Fix some issues with incorrectly scaled defaults given in mils.
2021-08-25 20:04:06 +01:00
Wayne Stambaugh
46b959c3e3
Move plotter headers into include folder.
2021-08-18 16:38:31 -04:00
Jeff Young
fc4d748bdc
Fix bugs in sheets.
...
1) Default_line_width is in mils, not IU.
2) Plot sheet fields.
Fixes https://gitlab.com/kicad/code/kicad/issues/8984
2021-08-17 13:21:52 +01:00
jean-pierre charras
8c9b0bdba4
Eeschema: plot missing sheet fields.
...
Fixes #8984
https://gitlab.com/kicad/code/kicad/issues/8984
2021-08-17 13:30:23 +02:00
jean-pierre charras
76bdb423d7
Minor changes: minor code cleanup and fix minor Coverity warning
2021-08-04 16:47:41 +02:00
Jeff Young
6aaf4413b3
Fix kicad_string.h / string.cpp mismatch.
...
They don't define a KiCad string class, so the header file name was
somewhat misleading. But the fact that they didn't match definitely
made coding more difficult.
2021-07-29 16:03:25 +01:00
Wayne Stambaugh
37b200cb3e
Pass wxString objects by reference instead of on the stack.
2021-07-27 08:41:27 -04:00
Wayne Stambaugh
cb72da294a
More NULL expunging.
2021-07-16 16:13:41 -04:00
Jeff Young
d51ac65349
Don't try to resolve variables before the schematic is set up.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8746
2021-07-07 22:04:00 +01:00
Wayne Stambaugh
fbc135e69f
Rename SCH_COMPONENT to SCH_SYMBOL.
2021-06-10 10:34:49 -04:00
Wayne Stambaugh
9ebabb222c
Pass objects by reference instead of on the stack.
2021-06-08 10:09:38 -04:00
Marek Roszko
4df3cb912d
Remove another leaky wx/log.h header
2021-06-03 08:11:15 -04:00
Marek Roszko
3ac5aa5369
enum class SHEET_SIDE
2021-05-30 21:23:46 -04:00
Jeff Young
2e3860de6f
Naming conventions.
2021-05-05 22:58:40 +01:00
Roberto Fernandez Bautista
2c75911669
Fix SortByPageNumbers: use Sheet Name when page numbers are equal
2021-05-03 16:54:42 +01:00
Wayne Stambaugh
2b86b34124
Eeschema: split out SCH_SHEET_PIN declarations into separate header.
2021-04-06 17:15:49 -04:00
Jeff Young
7a13ad7b17
Consistent naming.
2021-03-19 23:06:19 +00:00
Jeff Young
7e682e9948
Don't allow pins on corners.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7917
2021-03-16 22:03:08 +00:00
Jon Evans
18037e2f65
Rework bitmap system to load from archived PNGs
...
Bitmaps are now identified by an enum class instead of by pointers.
Bitmap loading and caching is now handled by a class in common, and
we no longer compile most bitmaps into the binary, so there is no
longer a bitmaps static library.
Instead, bitmaps are archived to a .tar.gz file which is installed
in ${KICAD_DATA}/resources/images.tar.gz
The source PNGs are checked in to Git as the original CPP files were,
so that people can build without the required dependencies to convert
SVGs to PNGs.
Initial support is also added for dark theme icons, although this
is not yet exposed in the GUI.
Stubs are present for multi-resolution image resources, but this is
not fully-baked yet and could use some refinement.
2021-03-11 08:37:35 -05:00
Dominik Wernberger
e2aa7be4b3
Added a lot of consts and refactored a few lines
2021-03-08 12:49:48 -08:00
Jon Evans
720147d272
Remove transitive inclusion of bitmaps.h
2021-03-07 16:08:57 -05:00
Wayne Stambaugh
1786ae8773
Eeschema: use symbol nomenclature for object file naming.
2021-02-24 08:48:02 -05:00
Jeff Young
2a7e60960a
Use standard mirror icons & terminology.
...
Also use standard group icons.
Also put both (and rotate commands) in toolbar.
Fixes https://gitlab.com/kicad/code/kicad/issues/7504
2021-02-16 21:11:36 +00:00
Zoltan Gyarmati
f997deec75
eeschema: fixing title block variable expanding in text objects
...
Also fixing an off-by-one error, which also affects pcbnew.
Fixes https://gitlab.com/kicad/code/kicad/issues/7489
2021-02-15 22:24:05 +00:00
Jon Evans
09bd66477d
Make sure sheet field parents are up to date
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7251
2021-01-24 12:59:42 -05:00
Jon Evans
4052b2153a
Fix an ASAN issue in SCH_SHEET
2021-01-18 21:50:26 -05:00
Dominik Wernberger
ac94d72d2d
Add more const specifiers
2021-01-12 20:51:31 +00:00
Dominik Wernberger
ec0af24f13
Make wxFindReplaceData argument const
2021-01-12 20:51:31 +00:00
Dominik Wernberger
bb2881a5ab
Make RENDER_SETTINGS argument const
2021-01-12 20:51:31 +00:00
Jeff Young
4cc43b3bd3
Don't print sheet backgrounds when printing in black & white.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6746
2020-12-15 17:11:09 +00:00
Jeff Young
9dae57ae9d
Fix several bugs in SCH color printing and plotting.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6723
2020-12-13 22:43:09 +00:00
Jeff Young
9720fc80fe
Print sheet background colour if specified.
2020-12-13 22:43:09 +00:00
Marek Roszko
cbda1d7bf1
Remove more vestiges of old colored msg panel messages
2020-12-08 00:50:25 -05:00
Roberto Fernandez Bautista
9380d6f533
eeschema page numbers: match ordering in hierarchy navigator to sheet page number ordering
...
- update hierarchy navigator after any modifications to the SCH_EDIT_FRAME
- do not generate ghost selection events after updating hierarchy tree
- use Human Readable path in SCH_EDIT_TOOL::EditPageNumber
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5760
2020-11-30 16:49:33 +00:00
Jeff Young
9c7c05c161
Mostly formatting cleanup but a few type-casting cleanups too.
2020-11-24 22:16:41 +00:00
Marek Roszko
16e3e59495
Split out arrayDim and MIRROR templates from macros.h
...
These were not macros
2020-11-17 20:21:04 -05: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
d616d5ad1f
Naming conventions.
2020-11-17 16:05:49 +00:00
Jeff Young
b227d2b910
More component -> symbol.
2020-11-15 20:23:15 +00:00
Jeff Young
8bae52d1c3
Correct naming conventions.
2020-11-14 14:29:11 +00:00
Jeff Young
f0d0e17aab
Prepare for MODULE -> FOOTPRINT.
2020-11-13 15:16:24 +00:00
Michael Kavanagh
20bb3b194f
Eeschema: Display the root sheet name to the user
...
Instead of just `/` denoting the root sheet, use the filename
in preparation for non-hierarchical multi-sheet schematics
2020-11-02 17:50:13 +00:00
Michael Kavanagh
644546cd83
Cleanup PathHumanReadable and remove dead code
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6152
2020-11-02 17:50:13 +00:00
Jeff Young
c9d7bdc340
Hook up AutoplaceFields for sheets.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6197
2020-10-28 22:32:36 +00:00
Marek Roszko
a785f70ea1
msgpanel is a widget, shove it to the right folder.
2020-10-25 20:01:12 -04:00
Jeff Young
51dff1c822
Live update sheetpath.
...
Also makes it a static text to get rid of the spacing/clipping
problems it has been having.
Fixes https://gitlab.com/kicad/code/kicad/issues/6152
2020-10-25 13:37:40 +00:00
Ian McInerney
06bf7943b7
Minor warning fixes
2020-10-21 00:30:50 +01: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
a1c75748a0
Remove GetChars(), a wxWidgets 2.9 compatibility hack
2020-10-15 20:53:25 -04:00
Marek Roszko
1538d737e7
Split out FILL_T to its own header to avoid spreading eda_item everywhere
2020-10-14 21:51:23 -04:00
jean-pierre charras
7865d8de43
more cleanup about removing useless include
2020-10-02 15:50:46 +02:00
Jeff Young
64fa400b19
Ease translation a bit.
...
Also improves the SNR and consistency of the menu item text. For
instance, a position is rarely useful, while relative sizes can be.
Also removes some unnecessary repitition, such as "Graphic Rectangle"
when "Rectangle" communicates the necessary information.
2020-09-19 18:49:06 +01:00
Jeff Young
f347118ce3
Add a min pin width advanced config for plotting.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5546
2020-09-08 20:19:54 +01:00
Seth Hillbrand
02a5d47de9
Avoid passing references in EESchema
...
This returns the connection list by value. This allows easier Python
use
Also renames m_End() to GetEnd()
2020-09-08 06:29:27 -07:00
Jeff Young
b28332c5f1
Minor code cleanup.
2020-09-06 13:04:52 +01:00
Jon Evans
38a4e4ad5a
Remove the last bits of the old netlist system
2020-08-30 16:30:04 -04:00
Wayne Stambaugh
ede39780e2
Remove all debugging output that cannot be disabled.
...
The use of printf, wxLogDebug, and std::err/std::out causes excessive
debugging output which makes finding specific debugging messages more
difficult than it needs to be.
There is still some debugging output in test code that really needs to
be moved into a unit test.
Add debugging output section to the coding policy regarding debugging
output.
2020-08-18 10:17:36 -04:00
Jeff Young
55784afbfe
Allow text variables to reference parent sheet's fields.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/2466
2020-07-28 13:35:37 +01:00
jean-pierre charras
039b6fd5cf
Eeschema plot: do not plot the hierarchy sheet symbol background in B&W mode.
...
if the the hierarchy sheet symbol background is not white, in B&W mode it is black,
and texts are not readable.
Fixes #4987
https://gitlab.com/kicad/code/kicad/issues/4987
2020-07-28 10:13:56 +02:00
Jon Evans
202b55f4d2
Plot sheet background colors if present
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4697
2020-06-21 20:43:47 -04:00
Jeff Young
8b084c373e
Autocomplete for text variables.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4190
2020-05-27 23:29:51 +01: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