Commit Graph

4616 Commits

Author SHA1 Message Date
Jeff Young acfbcb4beb Make distinction between PCBNew-wide tools and Board-specific tools.
The old names were really hard to keep straight (even for me, who named
many of them).
2020-12-16 13:32:46 +00:00
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