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
516c4cb2d3
wip refactoring: use virtual page numbers for page navigation
...
"Real" page numbers are just strings and could be duplicated. Virtual page
numbers are guaranteed to be unique, since they indicate a sequence.
2022-08-27 19:17:43 +01:00
Roberto Fernandez Bautista
51bcfaafd7
start moving to virtual page numbers
2022-08-27 19:17:42 +01:00
Roberto Fernandez Bautista
840bcffefb
ADDED: Hyperlinks on text items in Schematic Editor
2022-08-27 19:17:42 +01:00
Marek Roszko
bf964d8678
Commonize page_info by simply making the Iu scale a parameter on call.
2022-08-27 13:36:00 -04: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
f42b66bc1c
Regularize ellipsization of menu and status text.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12257
2022-08-22 17:52:58 +01:00
Jeff Young
aa2ad3b44c
Move KICAD_T[] to std::initializer_list<KICAD_T>.
2022-08-20 10:28:11 +01:00
Jeff Young
3589eb33f0
Handle text color when printing and plotting.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11491
2022-04-29 10:51:00 +01:00
Jeff Young
47e002a33d
Add font to status bar for text objects.
2022-04-26 18:52:53 +01:00
Jeff Young
63b5ad7df1
Fix some issues with global-label fields' bounding boxes.
2022-03-19 19:37:01 +00:00
Jeff Young
082c6f5bd6
Make sure plotter uses default font when specified.
2022-02-10 20:33:06 +00: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
3d0b03515d
Fix bad field names when ID == -1.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10548
2022-02-03 12:38:56 +00:00
Jeff Young
5739505aa3
TextBoxes for PCBNew.
2022-01-31 20:00:47 +00:00
Jeff Young
3409783d9f
Break sch_text.h/.cpp into sch_text and sch_label.
...
Also moves SCH_NETCLASS_FLAG to SCH_DIRECTIVE_LABEL, and remaps Altium
harnesses from SCH_TEXT to SCH_DIRECTIVE_LABEL.
2022-01-28 21:38:15 +00: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
Jeff Young
7d032f9c2f
Outline font rendering for Cairo, plotter, printer and 3D viewer.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10319
2022-01-10 01:54:28 +00:00
Jeff Young
04c76f10e9
Performance enhancements for fonts.
2022-01-08 16:47:45 +00:00
Jeff Young
aef2a3fca4
Default font for eeschema.
2022-01-08 16:47:45 +00:00
Marek Roszko
ac715d2e51
Scoop up some more wxPoint instances
2022-01-03 20:00:53 -05:00
jean-pierre charras
797de9d327
Fix some issues (but not all) in qa tests for eeschema
...
The main fix is for errors in SCH_TEXT and derived:
qa test expects 4 rotations is an identity transform:
This is false if the item has autoplaced fields.
The fix clears autoplaced flags.
2022-01-02 14:54:27 +01:00
Jeff Young
93018375f8
Fix some test errors and update gold files for better netnames.
2022-01-01 20:46:45 +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
ccb94fd1a7
APIs for passing KIFONT::FONT pointers around.
...
Also some clean-up and bug fixes.
2021-12-29 17:32:19 +00:00
Jeff Young
dd6cd7d184
Pull some more improvements in from rockola/kicad-strokefont.
...
This one is primarily about pushing TEXT_ATTRIBUTES in to the GAL
API, but it also includes adding EDA_ANGLE signatures to some trig
routines to ease integration.
2021-12-29 17:32:19 +00: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
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
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
Jeff Young
179628d1d2
Repair field properties dialog for rotation and mirroring.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9508
2021-11-03 18:11:59 +00:00
Jeff Young
40b4052ad4
Improve text hittesting in schematics.
...
Text has a fairly big bounding box to account for descenders, overbars,
etc., but it makes it feel too sloppy for hittesting. This change
allows selection disambiguation to look at the actual strokes of the
text when deciding what's "closest".
Fixes https://gitlab.com/kicad/code/kicad/issues/9506
2021-11-01 21:13:12 +00:00
Jeff Young
f724fe7eff
Move bbox padding to RTrees so it doesn't interfere with hittesting.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9361
2021-10-26 13:46:30 +01:00
Jeff Young
f606679164
Proper numeric sorting for intersheet refs.
...
Also expunges the horrifically named std::remove and std::remove_if
(neither of which remove anything).
2021-10-01 18:29:21 +01:00
Jeff Young
f73042fe24
Some minor performance enhancements.
2021-09-28 14:28:35 +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
Wayne Stambaugh
46b959c3e3
Move plotter headers into include folder.
2021-08-18 16:38:31 -04: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
cb72da294a
More NULL expunging.
2021-07-16 16:13:41 -04:00
Jeff Young
64f07ea9c6
Update text variables after changes.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8697
2021-06-29 13:55:06 +01:00
Wayne Stambaugh
ff099453c8
Rename class_library.[h|cpp] to symbol_library.[h|cpp].
2021-06-15 09:24:55 -04:00
Wayne Stambaugh
ee3eac325d
Expunge the use of the word part from Eeschema code.
2021-06-15 08:32:11 -04:00
Wayne Stambaugh
71c183d7bb
Rename LIB_PART to LIB_SYMBOL.
2021-06-14 07:11:17 -04:00
Jeff Young
ceb23c3aac
Don't display legacy placeholder for empty string ("~").
2021-06-12 18:58:15 +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
Jeff Young
2e3860de6f
Naming conventions.
2021-05-05 22:58:40 +01:00
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
c04e19f9ac
Include optimization: move some things from common.h to point-of-use
2021-03-20 12:09:18 -04:00
Jeff Young
2e129d9b47
Naming conventions and other cleanup.
2021-03-19 23:06:19 +00:00
Jeff Young
30ac8de734
Honour component transforms when rotating fields.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7964
2021-03-19 19:33:36 +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
Jeff Young
3c8e35249c
Mac doesn't like menus that start with ID 0.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7845
2021-03-09 12:08:33 +00:00
jean-pierre charras
ae15098a5d
Make a menuitem name translatable and understandable.
2021-03-09 12:53:44 +01:00
Dominik Wernberger
e2aa7be4b3
Added a lot of consts and refactored a few lines
2021-03-08 12:49:48 -08:00
Franck Jullien
c16199c3f9
eeschema: add a setting to allow intersheets to not list their own page
...
Also disable inter-sheet options when "Show inter-sheet references" is
not checked.
2021-03-08 20:40:37 +00:00
Wayne Stambaugh
1786ae8773
Eeschema: use symbol nomenclature for object file naming.
2021-02-24 08:48:02 -05:00
Jeff Young
8dfd297ee2
Show all pages for intersheet refs, and use IDs in hypertext menu.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7253
2021-01-25 00:55:38 +00:00
Jeff Young
f1221a9ca3
Resolve text variables in title blocks for outputing to netlist.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7153
2021-01-17 16:24:22 +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
Michael Kavanagh
2a24886d47
Icons: remove more duplicates
2021-01-06 00:35:20 +00:00
Jeff Young
10e68daa37
Fix some bugs in Change Symbol and Update Symbols.
...
In particular, there was a typo that kept library values from being
updated, and there was missing logic to fetch the various field names
from the library parts (and the change-to part).
Also implements some performance gains by desisting from copying
LIB_FIELDs around every time we want to look at them.
Fixes https://gitlab.com/kicad/code/kicad/issues/6733
Fixes https://gitlab.com/kicad/code/kicad/issues/6749
2020-12-15 16:12:17 +00:00
Jeff Young
3da0ab1a9a
Fix a couple of bugs in intersheet references.
...
1) init reference pages before trying to draw the SCH_FIELDs when
turning intersheet references on
2) don't double redraw because we accidentally cleared the last
hover item on a non-mouse-moved event.
3) make sure the root sheet gets a name for the hypertext menu.
2020-11-29 16:53:18 +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
b227d2b910
More component -> symbol.
2020-11-15 20:23:15 +00:00
Jeff Young
7bd31d5237
Naming conventions.
2020-11-14 18:26:03 +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
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
Marek Roszko
12d21e34e2
Remove trigo.h from eda_text.h
2020-10-13 23:37:48 -04:00
Marek Roszko
b2e9f6987d
Split base_struct into eda_item and eda_rect
2020-10-13 21:24:50 -04:00
Jeff Young
e9d372f4b7
Allow spaces in sheet filenames.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5736
2020-10-06 14:21:18 +01:00
jean-pierre charras
7865d8de43
more cleanup about removing useless include
2020-10-02 15:50:46 +02: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
13f1de8e73
Forgot a bunch of files from last commit.
2020-09-19 19:53:58 +01: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
826f81f57d
eeschema: Don't error when replacing references
...
Avoids an unneeded error message when checking the validity of the
replace action
2020-08-12 07:04:51 -07:00
Jeff Young
0804f487ec
Add text var cross-reference processing to SCH_FIELDs.
2020-07-30 14:27:42 +01: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
Tomasz Wlostowski
c1d5394e46
properties: post-rebase fixes
2020-07-05 22:44:38 +02: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
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
1f9723cf62
Reconcile new Sheet Fields and new S-expr file format.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4327
2020-05-06 15:48:58 +01:00
jean-pierre charras
687c2f3e82
eeschema: fix a readability issue for small texts.
...
Texts were drawn with a minimal line thickness = GetDefaultPenWidth().
The default pen width can be to large for small texts.
So the actual text thickness is now always clamped.
2020-04-30 09:38:23 +02:00
jean-pierre charras
4f369801f2
Fix a few compil and Coverity warnings.
2020-04-25 08:49:16 +02:00
Jeff Young
2fb2eac4d5
Performance enhancements.
2020-04-24 22:17:45 +01: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
2b6089240a
Change super/subscript syntax to ^{foo} and _{foo}.
2020-04-18 21:04:41 +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
jean-pierre charras
952e7a5fb4
Eeschema: move some default values to default_values.h.
...
These default values are used in many files, and some files were using
magic numbers.
2020-04-14 20:15:18 +02:00
jean-pierre charras
6148461484
Eeschema plot: fix (temporary) line 0 thickness.
...
Plotting lines having 0 thickness is not acceptable and create issues.
2020-04-14 12:43:51 +02:00
Jeff Young
6e800bddae
Rationalize penWidth processing as first step in removing some globals.
2020-04-13 20:58:13 +01:00
Jeff Young
aba0fa7bf8
Allow cross-referencing text substitutions.
2020-04-07 17:29:58 +01:00