Jeff Young
3b35bfc0a5
Don't write out synthetic severities (they're headings).
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6726
2020-12-14 13:34:53 +00:00
Jeff Young
e32686a80b
Formatting.
2020-12-13 11:42:03 +00:00
Jeff Young
65f9212f46
Naming conventions.
2020-12-12 03:43:41 +00:00
Jeff Young
42d96fcadc
Naming conventions.
2020-12-12 03:43:41 +00:00
Jeff Young
412c9c8c4e
Save should be disabled only if the file is up-to-date.
...
Any other issues (such as locked files) need to produce a dialog
with info for the user.
2020-12-11 23:58:30 +00:00
jean-pierre charras
f26a1a32e0
UNIT_BINDER: better support of DEGREES units (and some fixes).
...
Especially, add a way to define the number of digits in mantissa.
base_units.cpp: set number of digits in mantissa to 3 instead of 1 for DEGREES
2020-12-11 16:26:58 +01:00
Jeff Young
73b7b104cd
Fix some issues with Infobar sizing.
...
This also commits to the new strategy as it wasn't really compatible
with if-def-ing anymore.
2020-12-11 12:39:40 +00:00
Marek Roszko
dd0ad8f3a1
Read the fp-info-cache on pcb file load rather than on frame open
...
Otherwise in standalone mode pcbnew will never load the cache files and also later erase them :/
2020-12-10 21:34:40 -05:00
Marek Roszko
0967995a80
Replace wxTextFile for writing fp info cache
...
wxTextFile uses wxFile which uses write syscalls which means its unbuffered.
This makes file IO more expensive against network shares where it will flush far too aggressively.
wxTextFile is fine for reads however.
2020-12-10 21:34:40 -05:00
Jeff Young
9113f93ebe
Uniformly apply current locking strategy.
...
I make no claims that this is the right strategy, but at least it's
consistent now.
Fixes https://gitlab.com/kicad/code/kicad/issues/6369
2020-12-10 01:34:37 +00:00
Marek Roszko
abb5cb8310
Fix up msg panel status on save slightly
...
- pcbnew should use status bar on success like eeschema
- Add a helper to clear msgpanel and set it in one go to avoid redraw delays due to doing processing in between
2020-12-08 00:28:07 -05:00
Ian McInerney
485106dc9f
Add missing include to minoptmax.h
...
GCC11 has reorganized headers again, so this is not being included properly.
2020-12-07 22:04:29 +00:00
jean-pierre charras
c47871e775
EDA_BASE_FRAME::ShowInfoBarMsg: add option to show a close button.
...
Same for EDA_BASE_FRAME::ShowInfoBarError and EDA_BASE_FRAME::ShowInfoBarWarning
2020-12-04 14:45:14 +01:00
Jeff Young
e882753ebf
Grid snapping fixes.
...
1) Uniformly honour the GAL grid snap settings
2) Make more uniform use of GRID_HELPERs
3) Smarten EDIT_LINE for mid-point snapping
Fixes https://gitlab.com/kicad/code/kicad/issues/6558
2020-12-03 19:55:58 +00:00
Jeff Young
599a33a9c6
Make PLEditor greedy selections of rectangles sparse.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6278
2020-12-02 23:18:33 +00:00
jean-pierre charras
64f555079a
Code cleanup related to zoom:
...
- remove outdated code or comment coming from old drawing code using wxDC
- move zoom values lists to zoom_defines.h
- fix incorrect zoom max and min values (gal scaling factor limits).
2020-12-02 18:35:28 +01:00
jean-pierre charras
fcce62f0a4
cleanup related to zoom definitions
2020-12-02 18:35:27 +01:00
jean-pierre charras
71ab42e60a
Minor fixes and cleanup related to zoom definitions.
...
Mainly move 2 define relative to Zoom from convert_to_biu.h to zoom_defines.h.
Will make some changes/fixes in zoom code more easy.
2020-12-02 10:14:35 +01:00
Jeff Young
df262eaa06
Make prev/next marker work reliably on all platforms.
...
Requires us to move from arrow-keys to our own commands (the only
way that the OSX wxWidgets impl doesn't eat the keys when the dataVIew
has focus).
While there we might as well add a command to exlucde markers.
ADDED Prev Marker, Next Marker, Exclude Marker
Fixes https://gitlab.com/kicad/code/kicad/issues/6575
Fixes https://gitlab.com/kicad/code/kicad/issues/5501
2020-12-01 22:37:07 +00:00
Jeff Young
3c521942ed
Smarten isEmpty checks to include nothing-but-whitespace.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6567
2020-12-01 16:39:06 +00:00
Jeff Young
d50d1d84da
Fix some issue with group in selection logic.
2020-12-01 14:04:01 +00:00
Jeff Young
3ad5bce67f
Rewrite connected-lines dragger to not use EDA_ITEM flags.
...
We had some spurious bugs where both ends would get dragged to a
single point (making them disappear). While I never caught it
in the debugger, I'm guessing that the flags weren't getting
cleared properly or were getting overwritten or something. Anyway,
it now uses std::pair instead.
Fixes https://gitlab.com/kicad/code/kicad/issues/6550
Fixes https://gitlab.com/kicad/code/kicad/issues/6431
2020-11-30 19:30:03 +00:00
Jeff Young
3a9a6e22bc
Fix issues in reporting netclasses.
...
1) make sure we get the default netclass when we want it
2) escape for HTML (particularly important for "<invalid>", but also
for reporting user rule names, netclass names, etc.)
2020-11-30 14:38:06 +00:00
Jeff Young
e09271ca0e
Fixes for hole clearance and hole-to-hole tests.
...
1) Separate out CONSTRAINT types
2) Filter both source and dest pads/vias for drilled holes when doing
hole-to-hole checks. We were checking the items being put into the
DRC RTree, but not the items we were scanning.
3) Add hole clearance to Board Setup Constraints panel.
Fixes https://gitlab.com/kicad/code/kicad/issues/6546
Fixes https://gitlab.com/kicad/code/kicad/issues/4683
2020-11-29 23:35:23 +00:00
Jeff Young
b171d381f0
Collapse Redraw3DView and Update3DView into a single routine.
...
Also fixes some errors about what the flag meant (model changed,
NOT redraw immediately).
Fixes https://gitlab.com/kicad/code/kicad/issues/6478
2020-11-29 21:08:30 +00:00
Jeff Young
f57cd91cb3
Formatting.
2020-11-29 10:57:45 +00:00
jean-pierre charras
005c3b84ad
Better fix for incorrect page preview in Page Settings when the worksheet contains a bitmap
...
The actual size of pixels was incorrectly set.
Fix also bad names for a few vars and methods in BITMAP_BASE.
2020-11-28 10:53:26 +01:00
Jeff Young
fc2bdc49de
Once more into the depths of hell... er, I mean fix a focus issue.
...
So the new steals-focus protection stuff works well when there's a
focused control, but not as well when there's a modal dialog up which
happens not to have a focused control (or worse, a focusable control).
This adds a second mechanism for also checking to see if a modal dialog
is up (something that wxWidgets, true to form, makes very difficult).
Fixes https://gitlab.com/kicad/code/kicad/issues/6520
2020-11-26 16:47:40 +00:00
Jeff Young
050d9e37ec
Fix rotation bugs in Eeschema.
...
Rotate text using the Rotate90() function which gets the orientation
right.
Also, when calculating the center point for rotation, don't include
labels if the selection contains other stuff. It just makes the
rotation odd, and tends to cause walking when continuing to rotate
(due to keep-upright being non-symmetrical).
Fixes https://gitlab.com/kicad/code/kicad/issues/git
2020-11-24 18:19:35 +00:00
qu1ck
b32c2a6c90
Refactor EDA_TEXT::TransformToSegmentList() to return a vector of points
...
This allows reading text object as it is rendered through python API.
2020-11-23 07:50:54 +00:00
jean-pierre charras
64636601b8
Eeschema: fix a Unicode/UTF8 management when pasting items from Clipboard.
...
Copy to clipboard save items (using S expr description) using wide strings
(not UTF8 encoding).
But Paste from clipboard was not converting the wide string to UTF8 string
when getting the stored data to send it as std::string to the S expr reader.
Fixes #6449
https://gitlab.com/kicad/code/kicad/issues/6449
2020-11-21 10:59:25 +01:00
Jeff Young
b123318cf6
Encourage use of full DRC for board & footprint malformed outlines.
...
It shows much more detail. Removes some nag dialogs and places
hypertext links in others.
Also fixes the auto-layer-showing to correctly show Edge.Cuts or
F.CrtYd or B.CrtYd for errors relating to them.
Fixes https://gitlab.com/kicad/code/kicad/issues/6446
2020-11-20 17:24:52 +00:00
Jeff Young
0a7ef25453
Replace STROKE_FONT performance fix, this time with correct type.
...
Also this time with a fixed Cairo implementation and an implemented
BASIC_GAL implementation.
Fixes https://gitlab.com/kicad/code/kicad/issues/6447
2020-11-20 11:24:52 +00:00
Werni
0e44f5128c
Add const specifiers
2020-11-18 19:50:36 +00:00
Jeff Young
c1d1c12b41
Simplify message panel code.
...
We've had the colours turned off for two releases now without any
screaming or gnashing of teeth, so it's time to clean up the code.
2020-11-18 17:32:40 +00:00
Marek Roszko
f19440f72e
Update comments for arrayDim and mirror
2020-11-18 00:11:03 -05: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
795e45836d
Fix assert in DRC.
2020-11-17 17:41:57 +00: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
a207bd97bb
Naming conventions.
2020-11-17 16:05:49 +00:00
jean-pierre charras
a431fd99ca
Fix crash when converting a Eagle board to a Kicad board.
...
During conversion a illegal layer number was used without filtering
2020-11-17 10:23:44 +01:00
Jeff Young
7933935b4a
Naming conventions.
2020-11-16 00:04:55 +00:00
Jeff Young
1ce1e493d6
A rule zone is not really a BOARD_CONNECTED_ITEM.
...
Or at least it shouldn't always be treated as one.
Fixes https://gitlab.com/kicad/code/kicad/issues/6382
2020-11-15 20:23:15 +00:00
Jeff Young
61bca4aaa4
A bit of "module" erradication, nameing conventions, and formatting.
2020-11-14 21:21:54 +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
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
3451ac3088
PCB_MODULE_T -> PCB_FOOTPRINT_T
2020-11-13 15:16:24 +00:00
Jeff Young
63a54d003e
More module -> footprint.
2020-11-13 15:16:24 +00:00
Jeff Young
522d64968e
Yet more module -> footprint.
2020-11-13 15:16:24 +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
Simon Richter
731e56a474
Use <wx/platform.h> instead of <wx/setup.h>
...
On non-Unix, the platform selection is in platform.h, not on the command
line using the preprocessor macros from wx-config.
<wx/setup.h> relies on the platform being selected correctly, if it is
included directly, it cannot determine the correct configuration with
Visual Studio.
2020-11-12 12:05:19 +00:00
Jeff Young
f7333ad64a
Update some classnames including archaic zone names.
2020-11-12 10:31:25 +00:00
Ian McInerney
11e6cac42b
Introduce EGL backend support for the OpenGL canvas
...
wxWidgets 3.1.5+ on Linux will compile with the Wayland EGL
canvas as the backend instead of the X11 backend. This requires a
version of GLEW compiled with the proper EGL defines and a different
header/code for certain parts that are X11 GLEW specific.
This introduces an in-tree version of GLEW that will be built with the
GLEW_EGL flag then statically linked into the KiCad executables when
EGL support is needed.
2020-11-11 00:41:02 +00:00
Jeff Young
13e939ffa0
More Module -> Footprint.
2020-11-10 21:20:03 +00:00
Jeff Young
812b714ccd
More Module -> Footprint and a bit of formatting cleanup.
2020-11-10 20:53:12 +00:00
Jeff Young
4dc877d0e9
Module -> Footprint.
2020-11-08 21:43:19 +00:00
Jeff Young
1f5213946e
Restore accidentally-removed allowsSpaces architecture.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6252
2020-11-08 00:34:04 +00:00
Jeff Young
ad1e8ebda8
Cleanup formatting.
2020-11-07 21:40:56 +00:00
Jeff Young
bfd8a62852
Formatting and naming conventions.
2020-11-07 18:50:30 +00:00
Mark Roszko
356584d454
Correct function doc block
2020-11-06 15:24:54 +00:00
Jeff Young
69c1171320
Add PDFWriter debug mode (ie: uncompressed output).
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5593
2020-11-06 10:56:45 +00:00
Marek Roszko
08ca80a2d8
Smooth out redrawing of toolbars by not letting wx pointlessly calculate both orientations
...
Monkey patch
Fix #5705
2020-11-05 20:56:14 -05:00
Marek Roszko
262bb06d91
Avoid stealing focus from text controls when hovering over canvas
...
Fix #4879
Fix #4888
2020-11-04 22:22:45 -05:00
Jeff Young
8c782506b9
Appy units updating more consistently to editing assistants.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6283
2020-11-04 14:11:25 +00:00
Jeff Young
f6c17001e4
Formatting
2020-11-04 13:46:51 +00:00
Oleg Endo
a238209f3f
Add group-by-suffix display option in net inspector
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2469
2020-11-04 02:49:19 +00:00
Jeff Young
5507575d64
Move ERC dialog to EE_INSPECTION_TOOL and kill when resetting.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6111
2020-11-03 20:27:44 +00:00
Marek Roszko
3b2b8ec229
Centralize/fix duplicated canvas type resolution between gerbview and pcbnew
2020-10-31 16:42:24 -04:00
Jeff Young
bddc97df30
LibEdit -> SymbolEditor
2020-10-31 10:28:21 +00:00
Jeff Young
de013ee60a
Selection center is center of visible items.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6188
2020-10-30 23:37:35 +00:00
Seth Hillbrand
75e46a0037
Fix sizing of Configure Paths
...
On GTK, the grid shoudl not be marked dirty unless the size of the grid
actually changes. Doing so prevents focus loss on the edit field
2020-10-30 10:56:43 -07:00
Seth Hillbrand
9ed6cdd943
Remove GITHUB plugins
...
KiCad github downloads are no longer supported
Fixes https://gitlab.com/kicad/code/kicad/issues/6182
2020-10-29 16:45:04 -07:00
Werni
a7d5d1f091
Add more consts all over the place
2020-10-27 11:03:35 +00:00
Ian McInerney
e739d5ba65
Don't make a copy of the collection when using alg::contains
2020-10-27 00:41:18 +00:00
jean-pierre charras
c092e3f8b7
Fix a few minor Coverity warnings
2020-10-26 10:46:08 +01:00
Marek Roszko
ee6c8b60ac
Strip wx.h from color_swatch.h
2020-10-25 22:42:05 -04:00
Marek Roszko
1984581c46
Remove common.h from more headers
2020-10-25 22:29:53 -04:00
Marek Roszko
9de0ff22c1
Rename Mirror template to MIRRORVAL to avoid shadowing
...
I am bad at naming creativity here, but hey, it's unique
2020-10-25 20:44:22 -04:00
Marek Roszko
49607be57b
Kick NAMELESS_PROJECT to project.h
2020-10-25 20:21:21 -04:00
Marek Roszko
b043b5b5c6
Nip 3 no longer needed common includes
2020-10-25 20:01:13 -04:00
Marek Roszko
1167862c86
Split wx_filename out of common
2020-10-25 20:01:13 -04:00
Marek Roszko
36e4b318f0
Add missing includes for gcc
2020-10-25 20:01:13 -04:00
Marek Roszko
14c18b7e64
Move ui functions out of common and into ui_common
2020-10-25 20:01:12 -04:00
Marek Roszko
91e5611341
Move dialog_configure_paths.h and dialog_edit_library_tables.h to dialogs folder
2020-10-25 20:01:12 -04:00
Marek Roszko
e49ac45b84
HTML_MESSAGE_BOX is a dialog
2020-10-25 20:01:12 -04:00
Marek Roszko
a785f70ea1
msgpanel is a widget, shove it to the right folder.
2020-10-25 20:01:12 -04:00
Jon Evans
c085375531
Create color settings path if missing
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5274
2020-10-25 17:09:58 -04:00
Jeff Young
386cefbe84
Do footprint keepouts by courtyard.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6162
2020-10-25 18:17:58 +00:00
Jon Evans
09ade9fe51
Inhibit point editor while drag-selecting
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6155
2020-10-25 12:13:25 -04:00
Marek Roszko
dbcb1ecdb7
Move TEXT_ANGLE defines to eda_text.
2020-10-25 00:12:20 -04:00
Marek Roszko
1fd43b4dc2
Add missing include for gcc
2020-10-25 00:02:53 -04:00
Marek Roszko
f0f54ba4f9
Add missing include for gcc
2020-10-25 00:02:53 -04:00
Marek Roszko
133b011124
Move StripTrailingZeros to kicad_string.h
2020-10-25 00:02:53 -04:00
Marek Roszko
e928b2d8fd
Split EDA_UNITS out from common.
2020-10-25 00:02:52 -04:00
Wayne Stambaugh
16b0689841
Make HTML message box close on escape key.
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/6110
2020-10-24 15:58:30 -04:00
Marek Roszko
81a7afc76e
Use kicad_algo directly rather than common.h
2020-10-24 08:53:11 -04:00
Marek Roszko
68484e9b38
Nix some global richio.h
2020-10-24 08:44:03 -04:00
Marek Roszko
8d7feb3d72
Nip some common.h from headers
2020-10-24 08:28:03 -04:00
Marek Roszko
77ece552f7
Remove macros.h from files that don't need it
2020-10-24 08:28:02 -04:00
Marek Roszko
fde4e247d8
Add missing include
2020-10-24 00:44:25 -04:00
Marek Roszko
eeac3cb4d5
Nix some more common.h includes
2020-10-24 00:38:25 -04:00
Marek Roszko
64484f5fc4
Split KIID out of common.h
2020-10-24 00:17:08 -04:00
Marek Roszko
4d5796fb9a
Extract swig binding macros to their own header
2020-10-24 00:17:07 -04:00
Marek Roszko
304e5faf36
Move wxStringSplit to kicad_string
2020-10-24 00:17:07 -04:00
Marek Roszko
1d559108c8
Move LOCALE_IO out of common.h
2020-10-23 21:49:42 -04:00
Jeff Young
41fd8293e8
Don't apply clearance to keepout zones.
...
Also improves the clearance and keepout reporting.
Fixes https://gitlab.com/kicad/code/kicad/issues/6118
2020-10-22 21:29:04 +01:00
Jeff Young
9ff49277e1
Add implicit rule generation for keepout areas.
...
Also implements collision detection for SHAPE_POLY_SET.
Fixes https://gitlab.com/kicad/code/kicad/issues/6105
2020-10-22 10:41:21 +01:00
Seth Hillbrand
ae1004776f
Correct Cairo GAL dot rendering
...
This matches the OpenGL dot rendering. Patch from dsa-t with minor
changes
Fixes https://gitlab.com/kicad/code/kicad/issues/5832
2020-10-21 12:31:21 -07:00
jean-pierre charras
c87faad344
Python compatibility: move DXF_PLOTTER::DXF_UNITS to DXF_UNITS in pcb_plot_params.h
...
Fixes #6034
https://gitlab.com/kicad/code/kicad/issues/6034
2020-10-21 18:29:53 +02:00
jean-pierre charras
b907f79485
python wrap: fix undefined FILLED/SKETCH constants in pcbnew.py
...
Fixes #6070
https://gitlab.com/kicad/code/kicad/issues/6070
2020-10-21 13:23:06 +02:00
Seth Hillbrand
f8a4edb1c9
First pass renaming module to footprint
...
This is mostly in comments and the few remainin text strings that
reference module
2020-10-20 20:49:11 -07:00
Jeff Young
e5089d783d
Remove multi-label entry feature.
...
It was causing problems with surprising behaviour and issues with
allowing spaces in existing labels. We'll work on something better
for 7.0....
Fixes https://gitlab.com/kicad/code/kicad/issues/6073
2020-10-20 22:53:44 +01:00
Seth Hillbrand
2a43b88115
Standardize PostScript capitalizaiton
2020-10-20 13:09:13 -07:00
Ian McInerney
7c9acc605d
Introduce a new number badge UI element for DRC and ERC reporting
...
This new badge allows for proper UI scaling and will not cut off
the number being displayed.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5734
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6011
2020-10-20 02:35:48 +01:00
Jeff Young
4233886a05
Repair drill mark printing.
...
1) Make sure that layer dependencies don't prevent us from drawing
drill marks.
2) Don't draw pad shapes when their particular layer isn't enabled
(a side effect from the above)
3) Allow the printout painter to set a different hole colour (the
special case for through-hole pads was handled twice anyway -- once
in LoadColors() and once in draw( D_PAD ).
4) Replace the call to getDrillSize() which handles swapping in the
small mark size if set.
Fixes https://gitlab.com/kicad/code/kicad/issues/4847
2020-10-19 23:58:07 +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
jean-pierre charras
539ac4c214
Remove a few include<wx/wx.h> in many files that do not actually use this include.
2020-10-19 09:00:50 +02:00
Jon Evans
e735d21824
Maximize main editors by default if config is missing
...
Also set default size for other windows to something slightly
larger than it was before
2020-10-18 14:38:55 -04:00
Jon Evans
c388bf0f92
Update default color theme
...
Blue is the new green :)
ADDED: built-in read-only color themes support
Classic theme is still available for those who love it
Fixes https://gitlab.com/kicad/code/kicad/-/issues/1991
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4259
2020-10-18 14:12:54 -04:00
jean-pierre charras
f6b4b66a86
Avoid include wx/wx.h in many files that do not actually use this include.
...
Including wx.h includes the full set of wxWidgets include files, that is not good,
and can create some conflicts with some Windows headers on msys2.
2020-10-18 18:21:34 +02:00
Marek Roszko
a5c9151800
Move the dock art provider to a pointer instance
2020-10-18 11:31:44 -04:00
Marek Roszko
29577a571d
Add a custom dock art provider for aui manager with slight improvement
2020-10-18 10:36:42 -04:00
Mikolaj Wielgus
d82ad7cfe3
PCBNew: Fix values displayed in the bottom panel
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6046
2020-10-18 06:16:19 +02:00
Jeff Young
948036372e
Ban unitless numbers in DRC rules.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6029
2020-10-17 10:58:08 +01:00
Marek Roszko
c56f616954
Nix rogue forward declaration
2020-10-16 23:25:15 -04:00
Marek Roszko
c372a77d6c
Fix focus theft, Windows sends mouse events to windows regardless of focus.
...
We need to check if the window is foreground before fight over focus which will make the window foreground if it wasn't.
Fixes #4099
Fixes #5958
2020-10-16 23:25:01 -04:00
Jeff Young
eea7957e16
Inform user of bad DRC rules when filling zones.
...
ADDED: facility for hypertext links in infobar.
Also made use of this for via constraint errors when routing.
Fixes https://gitlab.com/kicad/code/kicad/issues/5800
2020-10-16 12:44:20 +01:00
Jeff Young
834c7bbe05
Report lexer issues through error reporter.
2020-10-16 12:44:20 +01:00
Jon Evans
4b436fa573
PcbNew: Improved DRC marker display
...
Add shadows and slightly reduce size
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5936
2020-10-15 22:39:13 -04:00
Marek Roszko
a1c75748a0
Remove GetChars(), a wxWidgets 2.9 compatibility hack
2020-10-15 20:53:25 -04:00
Marek Roszko
b9f1601418
Rename PLOT_MODE to OUTLINE_MODE
2020-10-15 19:33:18 -04:00
Marek Roszko
eb33c33f15
Rename EDA_DRAW_MODE_T to PLOT_MODE
2020-10-15 19:30:07 -04:00
Marek Roszko
ed968ebd2c
Split EDA_DRAW_MODE_T to its own header
2020-10-15 19:10:12 -04:00
Marek Roszko
52a12c6ccd
Remove kicad_string.h from footprint_info.h
2020-10-15 18:39:43 -04:00
Thomas Pointhuber
b8453d1b6b
Fix compilation issues
2020-10-15 09:33:14 +02:00
Marek Roszko
afa9344444
Relocate AccumulateDescription to kicad_string.h
2020-10-14 22:13:01 -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
Marek Roszko
5a0281d4ab
Remove common.h from eda_item.h
2020-10-14 21:10:50 -04:00
Marek Roszko
3bbc4f6cf8
Remove common.h from eda_text.h
2020-10-14 21:04:41 -04:00
Marek Roszko
84fbb0e382
Remove some includes in random pcbnew files
2020-10-14 20:47:48 -04:00
Jeff Young
92d84b0d67
Naming updates.
2020-10-15 01:35:16 +01:00
Marek Roszko
f0ef18fb9e
Put back a render_settings.h include until we untangle more headers
2020-10-14 19:40:18 -04:00
Marek Roszko
f59551d6ad
Remove painter.h from eda_text.h
2020-10-14 19:18:38 -04:00
Marek Roszko
5302f7ce73
Remove kicad_string.h from eda_text.h
2020-10-14 19:18:38 -04:00
Jeff Young
90da5fccbd
Disambiguate backannotation (Update Schematic from PCB) from Cvpcb.
2020-10-14 21:07:10 +01:00
Marek Roszko
12d21e34e2
Remove trigo.h from eda_text.h
2020-10-13 23:37:48 -04:00
Marek Roszko
9656bd310b
Remove eda_item and gr_basic from eda_text.h
2020-10-13 22:46:39 -04:00
Marek Roszko
ad191fda52
Unwrap eda_base_frame from base_screen
2020-10-13 21:52:57 -04:00
Marek Roszko
b2e9f6987d
Split base_struct into eda_item and eda_rect
2020-10-13 21:24:50 -04:00
Marek Roszko
2c86363aa0
Relocate the page_layout includes to a page_layout folder
2020-10-13 20:33:33 -04:00
Marek Roszko
efa28d3357
Untangle pl_editor includes
2020-10-13 20:33:33 -04:00
Jeff Young
ef3b7052e0
Remove layer nag dialogs and just ignore non-shapes on Edge_Cuts.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5812
2020-10-13 20:22:31 +01:00
Jeff Young
1703729269
Require explicit decl of maxError and errorLocations.
...
This should reduce both performance issues and clearance issues.
2020-10-13 13:49:07 +01:00
Jon Evans
74e86a289d
Remove all instances from a collector when requested
...
Perhaps COLLECTOR should use a set, but going for the
less invasive change for now.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5934
2020-10-12 20:06:55 -04:00
Jeff Young
32dffd27ab
Add silk clearance to board setup constraints.
2020-10-12 18:31:00 +01:00
jean-pierre charras
380534807b
Plotters: better support of filled circles having a thickness set to 0.
...
Setting a line thickness = 0 for graphic objects (circle, rect, line) is
allowed but creates issues for circles that were plotted a non filled shapes
but having a outline thickness = 0.
2020-10-12 11:30:43 +02:00
Marek Roszko
558f4b4b51
Add new place cursor, fix cursor hotpoints again
2020-10-10 23:45:21 -04:00
Jeff Young
614d452f12
Resolve trackwidth[0]/viasize[0] to be the netclass values.
...
If we don't have a netclass use the default netclass.
Fixes https://gitlab.com/kicad/code/kicad/issues/5957
2020-10-11 00:54:49 +01:00
Marek Roszko
310786333d
Add missing cursors for bus, graphic lines, and hier labels
...
Fix #5949
2020-10-10 18:25:44 -04:00
Jeff Young
04c4012ee6
Make track/via sizes UI more predictable and compatible with DRC.
...
Two main changes: netclass values need to go through the DRC engine
so they can interact with other rules. They're also now dependent
on the layer being routed as well as the start object.
Also make the controls adjust to each other better. For instance,
copy-track-width needs to turn off when you select a particular
track width, and a particular track width needs to zero out when
you choose copy-track-width.
Fixes https://gitlab.com/kicad/code/kicad/issues/5951
2020-10-10 19:32:30 +01:00
Michael Kavanagh
5e0baa2c4a
Cleanup: remove dead code
2020-10-09 02:28:32 +00:00
Marek Roszko
bd30a4a406
Add selection lasso and window cursors
2020-10-08 21:25:21 -04:00
Marek Roszko
f238d05ead
Add COMPONENT cursor
2020-10-08 20:52:58 -04:00
Marek Roszko
6cf4016a64
Add net and global label cursors
2020-10-08 20:52:58 -04:00
Marek Roszko
8fa42a74bd
Add zoom cursors
2020-10-08 20:52:58 -04:00
Tomasz Wlostowski
5e4fb46aef
MINOPTMAX: added OptThenMin() method as syntax sugar
2020-10-09 00:01:26 +02:00
Jeff Young
2f49db49bf
Fix fly-off arc handles and move Arc Properties to start/end/angle.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5791
2020-10-08 11:33:32 +01:00
Mark Roszko
d9485129c8
Implement more context specific cursors using both stock and custom cursors.
2020-10-08 00:50:28 +00:00
Jeff Young
4565631728
Finish moving eeschema assigned netclasses to sheet-path-relative.
...
Also adds code for the case where a new label is created on a net
with an existing netclass assignment.
Fixes https://gitlab.com/kicad/code/kicad/issues/5886
2020-10-07 16:31:55 +01:00
Tomasz Wlostowski
30f8cc1346
VIEW_OVERLAY: added Cross() method
2020-10-07 16:36:37 +02:00
Tomasz Wlostowski
719363fa4a
Factor out class MINOPTMAX<> into a separate header
2020-10-07 16:36:37 +02:00
Tomasz Wlostowski
be0688726c
NETCLASS: initial support for net classes with empty clearance/width values
2020-10-07 16:36:37 +02:00
Tomasz Wlostowski
bd27d38d9a
DRAW_PANEL_GAL: added DebugOverlay() method, creating a temporary overlay for drawing debug graphics
2020-10-07 16:36:37 +02:00
Jeff Young
7c46cb0a05
Make GetCenter() return the boundingbox center by default.
...
Leaves pads and markers returning the position.
Fixes https://gitlab.com/kicad/code/kicad/issues/1924
2020-10-06 18:00:18 +01:00
Jeff Young
ee95d8fe2e
Improve SNR in status bar (and use common code).
2020-10-06 12:08:31 +01:00
Jon Evans
728c207105
Deduplicate settings migration handling
2020-10-05 23:21:57 -04:00
Jon Evans
76bfa47a77
Allow creating new projects when doing a Save As in eeschema
2020-10-05 22:36:26 -04:00
Ian McInerney
43c14face0
Switch to showing metric/imperial units in comboboxes and menus
...
This will always show 1 unit from each system, with the primary unit
being the current frame unit and the secondary unit being the
most recent unit used from the other system. These are saved in
the settings, so they are saved between runs.
2020-10-05 20:26:33 +01:00
Michael Kavanagh
1416280662
Cleanup: Move Eagle files into plugins folder
2020-10-05 14:19:07 +00: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
Mark Roszko
a28a0e14ba
Fix conversion warnings
2020-10-05 10:41:14 +00:00
Ian McInerney
3a570c27f0
Update unit handling in the preview ruler
...
* Make the ruler able to switch to mils after creation
* Cleanup an unused flag in Pcbnew dimensions
* Move unit changed notification into EDA_DRAW_FRAME so more
frames to use it.
* Allow switching units when GerbView ruler tool is active
2020-10-04 17:53:55 +01:00
Ian McInerney
122bd7ca7c
Make the statubar aware of mils units
...
Switch Eeschema to use the built-in printing routines
because its precisions are close to those and it is
cleaner.
Give mils a precision of 2 decimal places to match
the precision shown in inches.
2020-10-04 17:53:55 +01:00
Ian McInerney
b1bd1f2a97
Introduce new action to switch to mils as a unit
2020-10-04 17:53:55 +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
Marek Roszko
9e115a548e
Add advance config variable to skip bounding box loading on footprints
2020-10-03 22:01:42 +00:00
Jeff Young
bb753aaadf
Clean up terminology around active & high contrast layers.
2020-10-03 22:55:34 +01:00
Jeff Young
70f329df91
Fix two-point assistant drawing layers to be in correct order.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5654
2020-10-03 22:55:34 +01:00
Mikolaj Wielgus
d9fd6e549b
Remove "useMils" variable from numeric evaluator
2020-10-03 20:06:56 +00:00
Mikolaj Wielgus
400c15b8eb
Add mils to units, remove useMils variables
2020-10-03 20:06:56 +00:00
Ian McInerney
b69d396afc
Turn the toolbar context menus into unique_ptr for easier management
2020-10-03 19:09:18 +01:00
Jeff Young
ba26e056ec
Implement groups for modedit.
...
This uncovered a memory corruption bug in MODULE's move operator,
several bugs in MODULE's move and copy constructors, and a bug in
BOARD's GetItem() call.
It also bumps the file format for saving/restoring groups inside
footprints.
2020-10-03 12:19:50 +01:00
jean-pierre charras
b38cef409b
Rename CopyFile() to KiCopyFile() to avoid name colliding with a windows header.
...
Using CopyFile() that can collide with a windows header create hard to
understand errors, including link errors.
Renaming this function avoids these strange errors.
2020-10-03 10:08:21 +02:00
Jon Evans
3e49669304
Clean up some unused things
2020-10-02 21:12:59 -04:00
Jon Evans
45d7f2b6f5
Expose via holes to color theme properly
2020-10-02 21:12:59 -04:00
Jon Evans
3b252c696d
Make tool init order dependent on registration order
...
Previously, init order depended on the ordering of the
tool state map, which is opaque from the point of view of
registration. This makes it challenging to make one tool's
init depend on another. With this change, registration
order defines init order.
2020-10-02 18:42:41 -04:00
Jeff Young
4c5db9681c
Naming conventions.
2020-10-02 21:25:14 +01:00
Jeff Young
cc617b715f
Implement hypertext links for intersheet references.
2020-10-02 21:18:34 +01:00
jean-pierre charras
36bc44e6d7
more cleanup about removing useless include
2020-10-02 19:56:10 +02:00
Jeff Young
0052954046
Try to make rulers draw right on Cairo as well as OpenGL.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5654
2020-10-02 13:50:16 +01:00
Franck Jullien
2fc49045d1
ADDED: eeschema: Add intersheets references function
...
Add a new function to place intersheets references next to
global labels.
2020-10-01 20:39:32 +00:00
Tomasz Wlostowski
e884f6d67b
tool: fixed missing include
2020-10-01 19:37:14 +02:00
Tomasz Wlostowski
9b470b6c09
EDA_TEXT: Use actual draw rotation angle to generate the effective shape.
...
Fixes : #5814
2020-10-01 18:55:53 +02:00
Jeff Young
612411a87b
Give assistant graphics a max bounding box.
...
They're only on screen when they're being used, and we don't have
a GAL available to calculate their actual extents from (since their
text scales with zoom).
Fixes https://gitlab.com/kicad/code/kicad/issues/5845
2020-10-01 17:53:44 +01:00
jean-pierre charras
35e129ed47
Minor code cleanup, step3: remove more useless include.
2020-10-01 18:28:12 +02:00
jean-pierre charras
f702da95c7
Minor code cleanup, step2: remove more useless include.
...
fix also a minor compil warning
2020-10-01 15:39:47 +02:00
Jeff Young
c7802e7ff8
Adjust ruler text on non-HDPI displays.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5654
2020-10-01 14:35:30 +01:00
jean-pierre charras
42350a4928
Minor code cleanup: remove useless include or useless code.
...
fix also a minor compil warning
2020-10-01 11:36:15 +02:00
Ian McInerney
5482307ac8
Allow edge cuts to be drawn in the footprint editor
2020-09-30 23:33:30 +01:00
Jeff Young
6abe68fff0
Cleanup. No changes to execution.
2020-09-30 23:07:12 +01:00
Jon Evans
7c003f98d5
ADDED: Appearance panel for footprint editor
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5643
2020-09-30 17:46:58 -04:00
Jeff Young
626bcea8ce
Move ruler drawing to the stroke font.
...
We don't need to be fast, and this allows us to implement drop
shadows for better readability.
Fixes https://gitlab.com/kicad/code/kicad/issues/5654
2020-09-30 20:38:20 +01:00
jean-pierre charras
3f8c9d49f8
Revert "Code cleanup: remove useless wx/wx.h include inside a few files."
...
due to compil issue on Linux
This reverts commit cffccc3970
.
2020-09-30 20:47:20 +02:00
jean-pierre charras
cffccc3970
Code cleanup: remove useless wx/wx.h include inside a few files.
...
in most of files, including wx.h is not necessary, when only 2 or 3 wx files must be included.
Moreover, on windows, including wx.h sometimes create compil warnings about
shadowed vars defined in some specific windows headers.
2020-09-30 20:03:27 +02:00
Seth Hillbrand
bf3cb0b1d0
Standardize pad type enums
2020-09-30 08:38:35 -07:00
Jon Evans
74b0e1fa47
Break apart locked items from the rest of the selection filter
...
Disable selection of locked items by default
See discussion in https://gitlab.com/kicad/code/kicad/-/issues/5793
2020-09-28 21:38:08 -04:00
PJM
258d1a1971
Pcb: Get proper "Break Track" location when invoked from RMB context menu
...
When invoking "Break Track" from the RMB context menu, Pcbnew
gets and uses the current position of the mouse to figure out where to
break the track. The problem is that the mouse has to be moved to select
the "Break Track" menu item, and the mouse position used is wrong. This
can result in the break in the wrong location or not happening at all.
CHANGED: This commit determines if the "Break Track" was invoked from a
context menu or a hotkey. If a hotkey, it uses the current mosue position.
If a context menu, it uses the original postion of the mouse when the menu
was opened.
2020-09-28 16:56:02 +00:00
Jon Evans
f745036d82
Fix a minor warning
2020-09-27 22:31:34 -04:00
Mario Luzeiro
a1e94c2583
3D-Viewer: request a redraw when a footprint is selected in pcbnew
2020-09-28 02:26:25 +00:00
Roberto Fernandez Bautista
72b904a978
ADDED: CADSTAR Archive project importer
2020-09-27 23:50:20 +00:00
Ian McInerney
6dfe7b6eb0
Switch toolbar palettes to use AUI drag event
...
This isn't as much a hack as trying to detect it ourselves and
hope we don't clobber the internal toolbar workings.
2020-09-27 23:20:17 +01:00
Jeff Young
09ab269770
Support for 'L' in DRC expression language.
...
Also make layer testing work again against both canonical names and
user names.
2020-09-27 21:33:37 +01:00
Roberto Fernandez Bautista
721cba32d5
ADDED: CADSTAR Schematic Archive Importer
...
Initial commit to trigger the importer
2020-09-27 18:13:57 +01:00
Tomasz Wlostowski
0c885c9c31
libeval_compiler: == operator now does wildcard string comparison
2020-09-27 16:45:46 +02:00
Tomasz Wlostowski
5023d9a780
libeval_compiler: initial support for multiple (>1) function/method arguments
2020-09-27 16:45:46 +02:00
Tomasz Wlostowski
a01e4f19b4
eeschema: allow exporting netlists through UI-less KIFACE API function
2020-09-27 16:45:46 +02:00
jean-pierre charras
6b958ff4e0
Move specialized plotter classes from plotter.h to specific plotter_xx.h
...
plotter.h contains now only a header common to all plotters.
The code does not actually change, but it allows modifying a specific plotter
without recompiling most of kicad files.
2020-09-27 09:54:39 +02:00
Ian McInerney
d5f781c7ca
Allow dragging on the toolbar item to open a group
2020-09-27 02:22:22 +01:00
Ian McInerney
fc565edb33
Add a palette to the toolbars to display groups of actions
...
This adds a palette to toolbar items that displays groups
of actions when long-pressed on a button.
2020-09-27 01:00:44 +01:00
Jeff Young
4c21668940
Use high-contrast layer to inform clearance rules for outline.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5797
2020-09-27 00:11:51 +01:00
Jeff Young
7f33c229d8
Allow selection of nested items (ie: pads) inside an entered group.
...
Also moves some group-related functionality from BOARD to PCB_GROUP.
2020-09-26 20:35:52 +01:00
Jeff Young
f8875bc5a6
Move std::contains to alg::contains.
2020-09-26 14:42:40 +01:00
Jeff Young
1844e8e0df
Fix compilation under ++20.
2020-09-26 13:12:46 +01:00
Jeff Young
d7e80f8008
Add std::contains() to simplify a lot of code.
2020-09-26 12:40:32 +01:00
Jeff Young
44af3978af
Re-implement undo/redo of group ops in a pointer-safe way.
2020-09-26 10:03:13 +01:00
Jeff Young
6fde9ea8a5
Don't leave stale pointers in groups when exchanging modules.
...
Also simplifies groups so that other areas of code that have to know
about them at least don't have to know as much. One of the simplifications
is to not worry so much about empty groups until save time; others are in
the access logic to parent groups.
Also simplifies user model slightly by removing Merge and Flatten
(which are just ungroup/group and ungroup/ungroup/.../group).
Also allows multiple groups to have the same name. This is useful when
using groups for a classification system.
Fixes https://gitlab.com/kicad/code/kicad/issues/5788
2020-09-25 18:43:19 +01:00
PJM
d1322e7d1d
Refactor GetDocumentExtents()
...
CHANGED: GetDocumentExtents() in 'eda_draw_frame.h' now has a bool
parameter "aIncludeAllVisible" with a default value "true" which makes
it behave as it did before adding parameter. If "aIncludeAllVisible"
is false, the returned bbox ignores some items depending on which
program it is running in.
CHANGED: Made "Zoom to Objects" use only PCB edge in Pcbnew. This
allows text, notes, etc outside the PCB edge to be excluded in the
zoom calculation.
CHANGED: Added "Zoom to Objects" to Pcbnew main menu, and to RMB context
menus for Eeschema and Pcbnew.
Fixes https://gitlab.com/kicad/code/kicad/issues/5787
2020-09-25 00:31:56 -07:00
Jon Evans
0783669633
CHANGED: Design rules files now use .kicad_dru extension
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5763
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5444
2020-09-24 21:26:23 -04:00
Jon Evans
0c5aabc7f7
Add an option to not migrate library tables when migrating settings
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/3924
2020-09-24 20:54:31 -04:00
Seth Hillbrand
d535a4b833
When showing/hiding infobar, keep position
...
The infobar changes the size of the visible screen, so adding/removing
it will shift the screen center, causing the position of onscreen
objects to move up/down. This changes the sizing to pin the bottom
corner position when showing/hiding the infobar
Fixes https://gitlab.com/kicad/code/kicad/issues/5776
2020-09-24 15:57:49 -07:00
Jeff Young
dba42ebed0
ADDED Properties Dialog for groups.
...
ADDED memberOf() function for DRC rule expressions.
Also fixes a bug in several of the pickers where the event wasn't
being correctly passed.
Fixes https://gitlab.com/kicad/code/kicad/issues/5647
2020-09-24 14:41:02 +01:00
Jon Evans
690575e2b6
Improve edit point legibility with a hover state
2020-09-23 21:27:23 -04:00
Wayne Stambaugh
188232de6f
Pcbnew: add user defined layers and allow all layers to have user names.
...
This changes the file format. All previous copper layers that had a user
defined name are forced back to the canonical name and the user defined
name is stored as an optional quoted string in the layer definition and
only used for UI and plotting purposes. All copper object layer names
are now the canonical name for internal file use.
ADDED: Nine new user definable non-copper layers that can be optionally
added to the board layer stack.
CHANGED: All board layers can now be renamed by the user.
CHANGED: User defined layer names can now contain space characters.
Fixes https://gitlab.com/kicad/code/kicad/issues/1969
2020-09-23 15:41:43 -04:00
Jeff Young
7d3eee8cf9
Move DebugZoneFiller to advanced config.
...
This will hopefully keep it from accidentally getting checked in
again.
2020-09-23 10:52:44 +01:00
Jeff Young
6d18f20093
ADDED constraints reporter for diagnosing constraints.
...
Also fixes an issue with via type property and makes property
comparisons in rule case-insensitive.
Fixes https://gitlab.com/kicad/code/kicad/issues/5754
2020-09-23 01:14:35 +01:00
Jon Evans
b439c169ff
Fix two-point assistant shape enum
2020-09-22 18:06:57 -04:00
Mark Roszko
7656663a2f
Fix Python integration to build with vcpkg
...
* Add vcpkg support to find Oython using CMake
* Fix pid_t conflict with python
* Fix COMPILER conflict with python
2020-09-22 12:39:05 +00:00