Commit Graph

47 Commits

Author SHA1 Message Date
Jeff Young 1f27b7e7df Don't render hole walls when no physical layers are visible.
Fixes https://gitlab.com/kicad/code/kicad/issues/7369
2021-02-01 17:14:30 +00:00
Jeff Young a235103e48 Redo pad & via painting (again).
New strategy isolates all draw/don't draw decisions to the ViewGetLOD
routines, and all dimmed/not dimmed to PCB_RENDER_SETTINGS::GetColor.
The actual drawing in PCB_PAINTER is more-or-less conditon free.

Also adds new layers for pad and via hole walls so that they can be
controlled for high-contrast mode.

Also changes the drawing paradigm so that the pads are drawn even when
not on the high contrast layer, just in low contrast.  The hole wall
is drawn in high contrast.  This actually makes things clearer to the
user (although to be honest was done to keep from having to re-render
pads when the high contrast layer changes since we have two separate
layers now that we can adjut colours on).

Fixes https://gitlab.com/kicad/code/kicad/issues/7328
2021-01-30 16:31: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 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
Ian McInerney 5482307ac8 Allow edge cuts to be drawn in the footprint editor 2020-09-30 23:33:30 +01:00
Wayne Stambaugh 564f363c57 Pcbnew: fix user defined layer bugs. 2020-09-24 10:19:10 -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
Jon Evans 8945f8865b Add PCB_LAYER_IDs to LayerName() and reformat for readability
LayerName() can now be called to get the default, translatable name
for any board layer.  LSET::Name() is used for the untranslated
names required for parsing board files.
2020-08-30 20:20:45 -04:00
Jon Evans f5a6492f85 Fix load/save of layer presets
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5322
2020-08-23 11:59:40 -04:00
Wayne Stambaugh ede39780e2 Remove all debugging output that cannot be disabled.
The use of printf, wxLogDebug, and std::err/std::out causes excessive
debugging output which makes finding specific debugging messages more
difficult than it needs to be.

There is still some debugging output in test code that really needs to
be moved into a unit test.

Add debugging output section to the coding policy regarding debugging
output.
2020-08-18 10:17:36 -04:00
Jon Evans bd14f8a82a ADDED: New appearance control widget for PcbNew
Featuring:
- Layer view presets
- Per-type opacity for tracks, vias, pads, zones
- Net and netclass color and visibility controls

CHANGED: Simplified object visibilty controls

Fixes https://gitlab.com/kicad/code/kicad/-/issues/1951
Fixes https://gitlab.com/kicad/code/kicad/-/issues/1981
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2003
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2173
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2254
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4325
2020-08-15 15:24:28 -04:00
Jeff Young 9716c62e32 Performance enhancements for PCBNew scrolling and zooming.
Fixes https://gitlab.com/kicad/code/kicad/issues/5136
2020-08-10 23:43:24 +01:00
jean-pierre charras 8226e5f0e2 Minor fix: add Fab layers to the assembly layers list. 2020-05-26 19:57:22 +02:00
Stefan 7e6b2211e0 Add Assembly pcbview to pcb_layer_widget 2020-05-22 20:40:53 +00:00
Ian McInerney 13b6028e1b Refactor all math into a new kimath library
* Split up the thirdparty code into the thirdparty folder (#3637)
* Create a new kimath static library containing all the math functions

This is part of cleaning the build system for #1906.
2020-01-07 17:12:59 +00:00
jean-pierre charras 3543de039b More about code cleaning.
Remove useless includes and dead code
2019-12-31 13:08:50 +01:00
Mark Roszko d4dee3c5a0 Inner loop iterator should be size_t as well 2019-12-26 13:10:18 +00:00
Mark Roszko a418242ca7 Prevent oob on LSET::FmtHex call when BITSET size is not a multiple of 4 (which it isn't usually) 2019-12-26 13:10:18 +00:00
Jon Evans 2ea565473f LSET: Prevent assertion in MSW when size is not a multiple of 4 2019-12-25 11:34:12 -05:00
Seth Hillbrand 4d2e953f42 Cleanup: Replace C-only deprecated headers
This replaces headers deprecated by C++14 with their equivalent
replacement
2019-12-05 11:03:15 -08:00
Seth Hillbrand 1e5ba6f1b1 Replace DIM() macro
The standard DIM() macro was not typesafe as it happily deferred errors
to runtime that can be caught at compile time.  Replacing it with a
generic C++11 constexpr allows for typecasting, comparison and compile
time error checking.
2019-01-06 08:43:12 -08:00
Jeff Young 78daaa8825 Allow cancel, delete or rescue when opening pcbs with undefined layers.
Fixes: lp:1796596
* https://bugs.launchpad.net/kicad/+bug/1796596
2018-12-07 00:26:10 +00:00
Jeff Young d7ff3f8af5 Allow text on margin layer. 2018-11-02 19:55:30 +00:00
Jeff Young a860a8db54 Enable user layers in footprint editor.
Fixes: lp:1746279
* https://bugs.launchpad.net/kicad/+bug/1746279
2018-08-27 18:38:56 +01:00
Jeff Young d10bfb13d6 Re-enable text layers now that DRC & zone fills are fixed.
Fixes: lp:1788268
* https://bugs.launchpad.net/kicad/+bug/1788268
2018-08-24 10:56:13 +01:00
Andrew Zonenberg 60a55d75fa Split prohibited text layers for footprints and the rest of the PCB
Fixes: lp:1788268
* https://bugs.launchpad.net/kicad/+bug/1788268
2018-08-21 16:34:53 -07:00
Jeff Young aab97c8385 Consolidate design rules UI.
Implement new Board Setup paged dialog which includes:
  Layers Setup
  Design Rules
  Solder Mask & Paste
  Text & Drawings

Moves line width and text properties to a layer-class-based
system.  Renames unlocked to upright (which also reverses the
logic).

New Edit Text and Graphic Properties dialog which replaces
Edit Footprint Text and adds layer-class-based editing and the
italic, upright and visibility properties.

Adds Import Settings functionality which allows settings to
be imported from another project at page granularity.

Also UNIT_BINDERizes the dialog and adds editing of pcb text.

Fixes: lp:1731952
* https://bugs.launchpad.net/kicad/+bug/1731952

Fixes: lp:1743464
* https://bugs.launchpad.net/kicad/+bug/1743464

Fixes: lp:1664761
* https://bugs.launchpad.net/kicad/+bug/1664761

Fixes: lp:1753362
* https://bugs.launchpad.net/kicad/+bug/1753362

Fixes: lp:1545427
* https://bugs.launchpad.net/kicad/+bug/1545427

Fixes: lp:1753775
* https://bugs.launchpad.net/kicad/+bug/1753775

Fixes: lp:1777692
* https://bugs.launchpad.net/kicad/+bug/1777692

Fixes: lp:1780670
* https://bugs.launchpad.net/kicad/+bug/1780670

Fixes: lp:1519601
* https://bugs.launchpad.net/kicad/+bug/1519601

(cherry picked from commit 3944a5e)
2018-07-17 15:12:34 +01:00
Jeff Young ae2cb331b1 Merge PCBnew text edit dialogs.
(cherry picked from commit 63b7738)
2018-07-17 15:12:24 +01:00
Jeff Young 0010ad37d1 In-place editing for footprint TEXTE_MODULEs.
Fixes: lp:1102168
* https://bugs.launchpad.net/kicad/+bug/1102168

Fixes: lp:1779913
* https://bugs.launchpad.net/kicad/+bug/1779913

(cherry picked from commit 83781ab)
2018-07-17 15:11:04 +01:00
Seth Hillbrand eeb273faa0 Partial revert of 3804f6 to correct assert change
ToLayerID function converts to PCB_LAYER_ID and needs to check against
that enum instead of GAL_LAYER_ID.
2018-05-30 09:17:51 -07:00
Jeff Young e1c01e1e7f Render transparent layer colors over the correct background.
This fixes the layer comboboxes, the copper zones properties
dialog, and the differental-pair icon in the htoolbar.

Fixes: lp:1741049
* https://bugs.launchpad.net/kicad/+bug/1741049
2018-01-17 11:36:37 -05:00
Jon Evans 6eb5733a0b LSET::UIOrder and LSET::Technicals now match layer widget order
Fixes: lp:1673792
* https://bugs.launchpad.net/kicad/+bug/1673792
2018-01-15 10:08:30 +01:00
jean-pierre charras b4a59eb96d Fix minor issues in DIALOG_KEEPOUT_AREA_PROPERTIES.
Fix keepout zone creation in legacy canvas.
Add a comment in lset.cpp
2017-09-27 16:54:28 +02:00
Oliver Walters 363fc598c0 Fixed bug in FlipLayerMask
- Offset for internal copper layers was incorrect
- Incorrect mask was used
2017-09-27 10:35:00 +02:00
Oliver Walters 0f6ec7632b Enable multi-layer for keepout zones
- Load / save from PCB file correctly
- Doesn't display properly yet
- Keepout only actually applies to one layer (for now)
2017-09-27 10:34:59 +02:00
Jon Evans 3ec28e2acf Refactor layer enumerations to all live in the same place 2017-03-30 16:01:48 -04:00
Chris Pavlina 200c3f78a0 LSET: undefined behavior in va_start() 2017-03-17 22:43:54 -04:00
jean-pierre charras 6edee2ae1d Prepare Plot Gerber file to include advanced aperture and net attributes.
This option is not yet activated because the net attributes are not yet fully fixed by Ucamco, in Gerber file format specifications.
(To activate it, see dialog_plot.cpp, line 43)
2016-09-19 13:01:36 +02:00
jean-pierre charras 9d994663f1 Fix Bug #1527446 (Flipping a block in pcbnew doesn't flip inner layers nor their connected microvias).
Also fix a few typos and remove dead code.
2015-12-27 16:51:13 +01:00
unknown 84a985f8af Pcbnew: Commit patch (with very minor changes) about SVG file export with the layers ordered from bottom to top. ( bug 1286646 ), from Thiadmer Riemersma. 2014-08-10 16:15:02 +02:00
Dick Hollenbeck d6a8696a99 typo on B_CrtYd, F_CrtYd, B_Fab, F_Fab 2014-07-06 11:59:26 -05:00
Lorenzo Marcantonio 89f14906a4 - Added the courtyard/fabrication layer to the layer combo and layer
panel
- Corrected handling of scrollability in layer panel (fixes 1336996)
2014-07-04 10:55:51 +02:00
Dick Hollenbeck 06bf0821b9 fix LSET() constructors, formatting 2014-06-29 15:33:29 -05:00
Dick Hollenbeck add4d5eb6f re-work the LSET(int,...) constructor 2014-06-29 13:09:32 -05:00
Dick Hollenbeck ad750defb6 LAYER_ID work 2014-06-29 08:05:51 -05:00
Dick Hollenbeck 8b6c569aef copyright 2014-06-25 09:24:02 -05:00
Dick Hollenbeck b76d0c533b add lset.cpp 2014-06-24 13:31:41 -05:00