Jeff Young
9c78e4cf54
Mac needs different font size handling than MSW & GTK.
...
Mac already uses diverse font sizes (for instance, smaller fonts for
radio button groups), and the anti-aliasing is a lot better. The
other platforms need a more limited range of sizes.
Fixes https://gitlab.com/kicad/code/kicad/issues/8608
2021-09-11 23:40:31 +01:00
Jeff Young
fbee62fc15
Tie font size scaling to when automatic icon scaling fails.
...
It appears that SetSymbolicSize() and ConvertDialogToPixes() fail
under the same circumstances.
2021-09-11 15:29:51 +01:00
Jeff Young
7a822b55aa
Another round of changes to attempt to fix the GTK font size issue.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8608
2021-09-10 15:59:50 +01:00
Jeff Young
e6ca9837a2
Clear numbers from non-numberable pads and don't run DRC on them.
...
This was also the last straw on the misnamed PAD::GetName() and
PAD::SetName(), which are now PAD::GetNumber() and PAD::SetNumber().
Fixes https://gitlab.com/kicad/code/kicad/issues/9017
2021-08-24 01:03:06 +01:00
Jeff Young
fec34e8dd8
Get rid of an extraneous layer parameter.
...
Also adds a bit of nullptr safety.
2021-08-23 20:00:17 +01:00
Jeff Young
54942a1401
Fix typos that would result in fp zone setting written into pads.
2021-08-08 18:12:29 +01:00
Jeff Young
a10f2b284c
Unify negative zero and percent handling in UNIT_BINDER.
...
Some values, such as solder mask margins, are usually negative and it
helps to display zero as "-0.0".
2021-08-06 18:16:38 +01:00
Jeff Young
0fb864d596
Pull some name changes back from 7.0 to ease merging.
2021-07-21 20:58:59 +01:00
jean-pierre charras
234b414e2c
Fix misplaced break after code cleanup.
2021-07-20 17:05:00 +02:00
Wayne Stambaugh
cf00319c85
More NULL expunging.
2021-07-20 07:27:18 -04:00
Jeff Young
0c2ac9a711
Move GUI font code to common.
...
This also allows the Mac fixes for font facenames to be more
compartmentalized.
Fixes https://gitlab.com/kicad/code/kicad/issues/8657
2021-06-29 18:27:58 +01:00
luz paz
f968fc8719
Fix source comment / documentation typos
2021-06-09 19:32:58 +00:00
Marek Roszko
10e60acf34
Clean up including of board_design_settings.h
2021-06-06 15:03:42 -04:00
Jeff Young
138a4b21c1
Smarten custom-pad-shape test for collapsing solder mask margins.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8413
2021-05-16 00:41:19 +01:00
jean-pierre charras
0427bda768
Remove useless wx/wx.h include, that create sometimes compil warnings on msys.
...
wx/wx.h includes all wxWidgets .h files, and sometimes creates collision
names in #define between kicad and windows headers
Moreover, blindly including a lot of useless files is compil time consuming
2021-05-01 19:32:15 +02:00
Marek Roszko
3a9a85b373
Enum class PAD_PROP_T
...
Renamed such that it does not affect python
2021-05-01 10:58:30 -04:00
Marek Roszko
03cf2b517f
Enum class PAD_ATTR_T
...
Renamed such that python stays the same
2021-05-01 10:51:54 -04:00
Marek Roszko
b243c2280d
enum class PAD_SHAPE_T
2021-05-01 08:22:35 -04:00
Marek Roszko
21fde9b629
enum class PCB_SHAPE_TYPE_T
2021-04-30 22:36:12 -04:00
Jeff Young
517bcb15b1
Formatting.
2021-04-25 17:55:43 +01:00
Jeff Young
953f579d59
Keep dialog fields in sync with dummyPad values.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8294
2021-04-25 14:19:38 +01:00
Jeff Young
faf9cca938
Fix many cases of old mils flag getting interpreted as allowEval flag.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7883
2021-03-12 15:15:50 +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
86aaa2e9cb
Rationalize footprint bounding boxes and cache all of them.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7720
2021-02-26 13:50:27 +00:00
jean-pierre charras
76cc7b98a7
Fp editor, DIALOG_PAD_PROPERTIES: do not disable posX and posY settings.
...
When a pad is locked, posX and posY settings in DIALOG_PAD_PROPERTIES must
be locked only for the board editor, not in the fp editor.
2021-01-12 20:33:52 +01:00
Seth Hillbrand
c09dc5abdd
Prevent locking items in footprint editor
...
Adding footprints to the board now has a preference for whether we want
pads locked or unlocked by default
2021-01-11 11:23:26 -08:00
Jeff Young
8fffb75347
Allow custom pads with 0-sized anchor pads.
...
(Surprisingly we used to in 5.1, so this is a regression.)
Also had to go back to the nag dialog as on a small screen the infobar
comes up behind the dialog. A lot of the errors have also been turned
into warnings, so the overall effect should still be to reduce nagging.
Fixes https://gitlab.com/kicad/code/kicad/issues/6992
2021-01-08 20:43:02 +00:00
Jeff Young
3467e643e5
Move pad locking from footprint to pads.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6997
2021-01-08 20:43:02 +00:00
Jeff Young
c09d3b765a
Slight improvement to error text for when drill is same size as pad.
2021-01-04 00:03:21 +00:00
jean-pierre charras
a6a2dae480
Footprint editor: ensure the pad editor is closed before load a new footprint.
...
When editing a new footprint from the board editor, if the Footprint editor has the pad editor
open, there is a risk of crash when replacing the footprint in edit.
Fixes #6892
https://gitlab.com/kicad/code/kicad/issues/6892
2020-12-31 10:53:14 +01:00
Jeff Young
1fc4523711
Remove pad-size-setting hack from PCB_PAINTER.
...
Also improves the pad warning and error messages, and moves a few
remaining nags from the setting infrastructure to the warning
infrastructure.
Fixes https://gitlab.com/kicad/code/kicad/issues/6141
2020-12-27 21:11:27 +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
a207bd97bb
Naming conventions.
2020-11-17 16:05:49 +00:00
Jeff Young
ec020dd19f
First-class support for filled shapes.
2020-11-14 01:40:32 +00:00
Jeff Young
bdbb68f813
MODULE -> FOOTPRINT.
2020-11-13 16:04:03 +00:00
Jeff Young
f5443de7f9
D_PAD -> PAD.
2020-11-13 15:16:24 +00:00
Jeff Young
84dd5108ba
Remove some "class_" prefixes from files.
2020-11-13 15:16:23 +00:00
jean-pierre charras
4d7aa2f9c9
Pcbnew, Pad properties dialogs: fix some issues related to chamfered rect shapes.
2020-11-12 20:13:28 +01:00
Jeff Young
82e495d202
Be more explicit about pad types to reduce fragility.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6300
2020-11-05 11:56:50 +00:00
Jeff Young
daa0c3aaa1
Switch pad preview canvas to that of parent.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6228
2020-11-04 21:06:46 +00:00
jean-pierre charras
2ffa88d076
DIALOG_PAD_PROPERTIES: fix a few issues and a crash when no copper layers selected.
...
Fixes #6280
https://gitlab.com/kicad/code/kicad/issues/620
2020-11-04 13:13:08 +01:00
jean-pierre charras
89e21d28f0
French translation update, and minor I18n fixes
2020-11-02 20:23:01 +01:00
Jeff Young
3b10d15835
Don't run hole offset check for pad with no copper.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6255
2020-11-02 12:53:02 +00:00
jean-pierre charras
0ef480dc84
DIALOG_FOOTPRINT_PROPERTIES: fix an issue when selecting 0.0 orientation.
...
Allows also entering a rotation angle in 0.001 degrees
(The limitation to 0.1 degree is outdated since years)
2020-10-29 18:33:28 +01:00
jean-pierre charras
a7ba5ea9c8
DIALOG_PAD_PROPERTIES: fix a few issues found for flipped pads after edition:
...
Incorrect y offset.
Incorrect rounded/chamfered corner positions
2020-10-27 15:32:29 +01:00
Roberto Fernandez Bautista
4ea8f29a43
Fix typo causing custom shaped pads to be flipped when opening the pad properties dialog
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6180
2020-10-27 11:33:35 +00:00
Roberto Fernandez Bautista
d75151a847
Replace some errors with warnings in pad properties dialog
2020-10-27 11:33:35 +00:00
Marek Roszko
e49ac45b84
HTML_MESSAGE_BOX is a dialog
2020-10-25 20:01:12 -04: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
Jon Evans
2e50723781
Ensure preview pad has access to parent board design settings
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6057
2020-10-18 15:27:30 -04:00
Jeff Young
92d84b0d67
Naming updates.
2020-10-15 01:35:16 +01:00
Jeff Young
37906511f5
Class renaming.
...
DRAWSEGMENT -> PCB_SHAPE
EDGE_MODULE -> FP_SHAPE
TEXTE_PCB -> PCB_TEXT
TEXTE_MODULE -> FP_TEXT
2020-10-05 11:55:33 +01:00
Jeff Young
7a4900b8dc
PCB_LINE_T -> PCB_SHAPE_T and PCB_MODULE_EDGE_T -> PCB_FP_SHAPE_T
...
Also updated footprint text and zone types for consistencey.
2020-10-04 16:49:04 +01:00
Mikolaj Wielgus
400c15b8eb
Add mils to units, remove useMils variables
2020-10-03 20:06:56 +00:00
Seth Hillbrand
12a30c43de
Fix missing refactor
2020-09-30 08:42:58 -07:00
Seth Hillbrand
bf3cb0b1d0
Standardize pad type enums
2020-09-30 08:38:35 -07:00
Jeff Young
e31705d4b3
More source reporting for clearance rules.
2020-09-10 20:58:38 +01:00
Jeff Young
59c6635286
Add restrictions on copper layers for NPTH pads.
...
Also updates the stackup graphics to include NPTH pads.
Fixes https://gitlab.com/kicad/code/kicad/issues/5477
2020-09-09 10:22:17 +01:00
Jeff Young
c090f1b646
Add restrictions on copper layers for NPTH pads.
...
Also updates the stackup graphics to include NPTH pads.
2020-09-09 01:49:50 +01:00
Jeff Young
ab71ef9ec5
Try a different strategy at getting wxWidgets to honor stackup bitmaps.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5559
2020-09-08 23:34:43 +01:00
Jeff Young
0ec4c4fe65
A more targetted fix at the focus issue.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5477
2020-09-08 22:35:04 +01:00
Jeff Young
5d304cfa2a
Uniformly apply focus hack to auto-preview.
...
Since the feature is controversial this also moves it into a single
function so that it's easy to disable.
Fixes https://gitlab.com/kicad/code/kicad/issues/5477
2020-09-08 22:19:29 +01:00
Jon Evans
11e61db03d
Don't change preview notebook selection when editing
...
This causes focus change (on GTK at least), plus the user might
not want the notebook to change in the first place.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5477
2020-09-07 12:08:40 -04:00
Jeff Young
a1e8ecc616
Beat wxWidgets into submission.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5534
2020-09-06 22:38:23 +01:00
Jeff Young
e535489a0a
Pad settings need to be copied to both master *and* edited pad.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5447
2020-09-03 15:03:09 +01:00
Jeff Young
450519a4bd
Sometimes a DRAW_PANEL_GAL wants its immediate parent and sometimes not.
...
For instance, we get things like high-contrast-mode from the pad
dialog when rendering a pad preview, but we want the colours from the
parent PCB_BASE_FRAME.
2020-09-03 15:03:09 +01:00
Jeff Young
2697fc3864
Remove canvas-switching from OSX.
...
The Cairo renderer doesn't work on Retina displays.
Fixes https://gitlab.com/kicad/code/kicad/issues/4788
2020-08-31 18:48:25 +01: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
Seth Hillbrand
f4e8c194be
Revise restriction on No Copper setting
...
This allows the user to specify a NPTH with "No Copper", allowing a pad
to retain the mask layer without a copper landing.
Fixes https://gitlab.com/kicad/code/kicad/issues/3407
Fixes https://gitlab.com/kicad/code/kicad/issues/5237
2020-08-26 18:09:06 +00:00
Reece R. Pollack
a9c835275a
Apply display origin transforms in Pcbnew dialog classes
...
This commit applies display origin transforms to all Pcbnew
dialog classes that use UNIT_BINDER for their formatting:
* DIALOG_CREATE_ARRAY
* DIALOG_FOOTPRINT_BOARD_EDITOR
* DIALOG_GRAPHIC_ITEM_PROPERTIES
* DIALOG_GRID_SETTINGS
* DIALOG_MOVE_EXACT
* DIALOG_PAD_PROPERTIES
* DIALOG_POSITION_RELATIVE
* DIALOG_TEXT_PROPERTIES
* DIALOG_TRACK_VIA_PROPERTIES
2020-08-26 17:54:22 +00:00
Jeff Young
49ac89f72c
Only paint pads on layers they appear on.
...
Also adds pad layer removal controls to Pad Properties dialog.
Fixes https://gitlab.com/kicad/code/kicad/issues/5320
2020-08-23 21:23:34 +01:00
Jeff Young
6edcc9d38f
Resolve textvars in Pad Settings dialog.
2020-08-23 21:23:34 +01:00
Jeff Young
393bb0fd83
Fix assert where geometry routine wasn't ready to handle layers.
...
This introduces layer handling to a lot of the geometry routines.
Many of them don't do much with it now, but it does help multi-layer
zones and will help when padstacks are implemented.
2020-08-12 22:20:08 +01:00
Jeff Young
8c16c60e42
Fix typo keeping aperture pads from working.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5036
2020-08-01 15:40:34 +01:00
jean-pierre charras
6f7d5f5e2b
Footprint editor: fix some issues in flip and mirror commands.
...
more about fixes #4958
https://gitlab.com/kicad/code/kicad/issues/4958
2020-07-25 18:10:24 +02:00
jean-pierre charras
b5960dfb40
class D_PAD: add Copy ctor and operator =.
...
Due to the fact basic primitives for custom pads are now managed by
a list of pointer, the default copy ctor and default operator = do not work
(the basic primitives list must be duplicated).
It fixes issues related to primitives list id pad edition, footprint edition
and undo/redo
Fixes #4958
https://gitlab.com/kicad/code/kicad/issues/4958
2020-07-24 18:02:56 +02:00
jean-pierre charras
c254b331f3
Pcbnew: Activate pad fabrication property in pad properties dialog.
...
It was previously an option of advanced config since 6 months.
It is now not optional.
2020-07-23 14:33:24 +02:00
Jeff Young
5bc6389477
Comments.
2020-07-05 19:53:04 +01:00
Jeff Young
edecfaa433
Minor code cleanup.
2020-07-05 19:53:04 +01:00
Jeff Young
32c3ea4edd
Flags cleanup.
...
Remove extraneous use of FLAG0 from tracks cleaner (it was checked but
never set).
Fix issue in expand connections where two parts of it couldn't agree
on the same flag (BUSY vs SKIP_STRUCT), and where the second part was
clearing the flag instead of setting it.
Remove obsolete HIGHLIGHT infrastructure (we now use selection).
Remove extraneous use of BUSY flag in several places (it was never
set).
2020-06-27 17:53:04 +01:00
Jeff Young
da2b7071b4
WYSISYG custom pad editor.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/2153
Fixes https://gitlab.com/kicad/code/kicad/issues/2305
2020-06-27 14:37:01 +01:00
Jeff Young
e376750f62
Flatten CS_PAD_PRIMITIVE out in favour of reusing DRAWSEGMENT.
...
(In prep for the eventual replacement of DRAWSEGMENT internals with
SHAPE.)
2020-06-24 12:22:42 +01:00
Jeff Young
d01b29ab37
Cleanup pad geometry handling.
...
There were a lot of plotters, exporters, etc. that were rolling their
own implementations.
This also introduces a lazily-built set of SHAPE objects for doing
collision detection and some forms of rendering (and later DRC).
2020-06-22 22:28:37 +01:00
jean-pierre charras
2b122892d3
DIALOG_PAD_PROPERTIES: fix some issues:
...
- fix many wxWidgets alerts.
- ensure pad offset wxTextCtrs are shown or not according to the wxCheckBox state.
- ensure there is room in dialog for some wxTextCtr when switched from Hide to Show
(resize it if it is too small)
2020-06-11 20:34:13 +02:00
Jeff Young
fb4f37f39c
Inherit GAL settings from parent's GAL.
2020-06-05 19:07:23 +01:00
Jeff Young
80c0e0080f
Move layout updating out of OnUpdateUI to prevent endless looping.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4623
2020-06-05 17:45:25 +01:00
jean-pierre charras
a29b3eb017
Eeschema, DIALOG_EDIT_ONE_FIELD: fix incorrect behavior for footprint field,
...
when initialized from the footprint viewer.
Fixes #4609
https://gitlab.com/kicad/code/kicad/issues/4609
2020-06-04 18:47:12 +02:00
Jeff Young
7876bab0e0
Implement another shape choice for Chamfer + Rounded.
2020-06-04 17:28:46 +01:00
Jeff Young
b8e4f4bfc4
Attempt #1 to fix layout issue on GTK (and perhaps MSW).
2020-06-03 16:28:08 +01:00
Jeff Young
7db4a3f702
Fix offset issue when pad edited from board instead of modEdit.
2020-06-03 13:50:50 +01:00
Jeff Young
3bd4c0c5dc
Don't allow the pad preview canvas to become too large.
...
Also offset canvas with pad so that hole stays in centre.
Fixes https://gitlab.com/kicad/code/kicad/issues/4185
2020-06-02 22:51:41 +01:00
Jeff Young
9ff09aa784
Progressive disclosure pad properties.
2020-06-02 17:22:24 +01:00
Jon Evans
a52435bbb0
ADDED: New mouse settings panel, expanded mouse settings
...
You can now choose the behavior of dragging with the
middle and right mouse buttons.
You can also choose which modifier keys to use for
panning and zooming with the scroll wheel or trackpad.
You can also customize the zoom speed, which makes
it possible to have a good zoom experience on a wider
range of input devices.
You can also now zoom by dragging with the right or
middle button if desired.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/3885
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4348
2020-05-24 14:38:28 -04:00
jean-pierre charras
acdfeee942
Footprint editor: fix crashes when trying to edit the Default Pad Properties.
...
The crsahes were due to a null pointer use.
Fixes #4379
https://gitlab.com/kicad/code/kicad/issues/4379
2020-05-09 11:15:28 +02:00
Jeff Young
1b5a6f8698
Fix crash bug when using Pad Properties in board editor.
2020-05-04 22:08:36 +01:00
Jeff Young
889b6cb1b1
Clean up some commenting and rename MODULE_EDITOR_TOOLs to match filename.
2020-05-03 20:56:32 +01:00
Jeff Young
56946f4db1
Fix pad name increment to use last edited pad.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/1882
2020-05-03 08:59:51 +01:00
Ian McInerney
99dcadf7e6
Introduce new KI_FALLTHROUGH macro
...
Annotate purposeful fallthroughs in switch statements with the
KI_FALLTHROUGH macro.
2020-04-25 00:44:09 +01:00
Michael Kavanagh
e800c47406
NPTH pads can have the hole offset from centre
...
Fixes https://gitlab.com/kicad/code/kicad/issues/3671
2020-04-22 21:50:51 +00:00
Michael Kavanagh
e4cbeeab4c
Remove dead code in pcbnew
...
* Remove dead zone printer
* Remove old canvas in pad properties window
2020-04-22 21:50:15 +00:00