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
Jeff Young
cbe4b79107
Add syntax help for bus definitions (and upgrade parser to handle them).
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4233
2020-05-10 18:40:06 +01:00
Jeff Young
0370eff7ba
Add sheet number processing to sheet fields.
...
Also fixes a bug where we were depending on the old deque stuff's
deterministic traversal, which isn't provided by the new RTree stuff.
Fixes https://gitlab.com/kicad/code/kicad/issues/2433
2020-05-03 20:56:32 +01:00
Jeff Young
a56191b658
Add distances to a bunch of DRC violation reports.
2020-05-01 18:49:42 +01:00
Wayne Stambaugh
fa57c8a570
Eeschema: fix sheet bug in schematic editor drawing tool.
...
SCH_SHEET objects can only have another SCH_SHEET object as a parent
or nullptr for the root sheet so overload EDA_ITEM::SetParent() to
prevent the parent from being set to another type of object and add
some checks to the root sheet code just in case someone gets clever
and attempts to bypass the overloaded SetParent() call.
2020-04-26 14:27:51 -04:00
Jeff Young
1535c83b88
Lay some groundwork for adding distances to DRC errors.
...
modified: eeschema/lib_rectangle.cpp
2020-04-24 14:46:22 +01:00
Jeff Young
37023da56f
Tidy some compiler warnings.
2020-04-16 17:34:46 +01:00
Jeff Young
9c8941e040
Remove a bunch of globals.
2020-04-16 17:34:46 +01:00
Jeff Young
aba0fa7bf8
Allow cross-referencing text substitutions.
2020-04-07 17:29:58 +01:00
Wayne Stambaugh
2f682b6c5f
Eeschema: implement s-expression schematic file format parser.
...
Fix a few issues with the s-expression schematic file formatter.
2020-04-06 22:47:42 +00:00
Jeff Young
c663965498
Fix some issues with sheet border color handling.
2020-04-05 16:17:04 +01:00
Jeff Young
591428b0d9
Remove some problematic global variables.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4121
2020-04-05 16:17:04 +01:00
Jeff Young
a76ddb52a0
Add sheet borders and backgrounds to Edit Text & Graphics.
...
Also moves sheet border and sheet background colours to preferences
so it's clearer they're just for newly-created items.
Fixes https://gitlab.com/kicad/code/kicad/issues/4144
2020-04-02 14:01:30 +01:00
Wayne Stambaugh
7dc64f08b7
Eeschema: implement s-expression schematic file formatter.
...
Please note that the symbol cache is not embedded in the schematic file
to allow for round robin testing with the existing file format. Once
the parser round robin testing is complete, the symbol cache will be
embedded in the schematic file.
2020-03-16 09:05:16 -04:00