Jon Evans
3625668ff5
PcbNew: Fix ordering of fab and courtyard layers
...
Fixes: lp:1829511
* https://bugs.launchpad.net/kicad/+bug/1829511
(cherry picked from commit eb4aded5d6
)
2019-05-27 13:06:26 -04:00
Jeff Young
6936effaa7
Implement undo for Page Settings in PlEditor, Eeschema and PCBNew.
...
Fixes: lp:1820059
* https://bugs.launchpad.net/kicad/+bug/1820059
2019-05-27 11:58:55 +01:00
Jeff Young
bdd44ce88c
Use consistent PageLayout data structure names.
2019-05-27 11:55:58 +01:00
Jon Evans
549b76739e
Exclude invisible items from view bounding box for zoom-to-fit
...
Fixes: lp:1116457
* https://bugs.launchpad.net/kicad/+bug/1116457
(cherry picked from commit ede2575018
)
2019-05-26 13:03:23 -04:00
Jeff Young
323bb0f8e1
Moving PageLayout editor to GAL canvas and modern toolset.
2019-05-24 19:49:09 +01:00
Jeff Young
dae41b7460
Remove legacy segment-based zones.
...
Give the user the option of cancelling a file open if there are
segment zones; otherwise they're converted to polygon fills.
Fixes: lp:1823087
* https://bugs.launchpad.net/kicad/+bug/1823087
2019-04-12 20:19:23 +01:00
Seth Hillbrand
08c944a467
cairo: Ensure Courtyard drawing order
...
Prevent courtyard from being raised twice
Fixes: lp:1811821
* https://bugs.launchpad.net/kicad/+bug/1811821
2019-02-03 11:27:31 +01:00
Seth Hillbrand
a8e920bdef
std-ize layer lists
...
Cleanup of list work to use std models.
2019-02-03 11:27:31 +01:00
Seth Hillbrand
55f2a79957
pcbnew: locking connectivity using RAII
...
Rather than depend on proper unlocking for each exit, we move the
connectivity lock mutex into an RAII-type configuration that
automatically unlocks on exit.
2018-12-20 11:04:08 -08:00
Seth Hillbrand
ad9916a93d
ratsnest: Fix state issue switching in local tool
...
The ratsnest layer needs to be always enabled in GAL rather than taken
from the board settings. This also adds a finalize handler to the
picker tool that allows a picker-caller to perform a specific action
when the picker tool exits. In this case, we use it to clear the local
ratsnest selections back to the default.
Fixes: lp:1800301
* https://bugs.launchpad.net/kicad/+bug/1800301
(cherry picked from commit c0d9b9ab81
)
2018-11-20 20:49:18 -08:00
jean-pierre charras
240051fb26
Worksheet display in GAL mode: fix missing filename and (in Eeschema) sheet full name.
2018-11-19 10:21:28 +01:00
Maciej Suminski
64da77538f
Fix bitmap scale in printouts
...
Display GALs had an incorrect world unit value set. Now the world unit
value says how many internal units are in an inch, in accord with the comments
in the GAL header. Bitmap drawing code relied on the information about DPI,
so scaling worked differently for display and print GALs.
2018-10-31 19:17:30 +01:00
Seth Hillbrand
4460313104
pcbnew: Separating connectivity to subdir
2018-10-12 16:31:09 -07:00
Seth Hillbrand
808a7d9483
pcbnew: Fix crash when GAL fallback fails in some cases
2018-10-09 09:05:14 -07:00
jean-pierre charras
f283667fb0
add option to switch between opengl and cairo in eeschema (step 1)
2018-10-09 11:08:56 +01:00
Jeff Young
9a5334478b
Careful of net[0]; it's "No Net", not a real net.
...
Fixes: lp:1792235
* https://bugs.launchpad.net/kicad/+bug/1792235
2018-09-21 20:40:04 +01:00
Seth Hillbrand
a04ef37d67
pcbnew: Parallelize initial board triangulation
...
Triangulation of zones can be time consuming for large boards. This
adds a std::thread implementation of parallel zone loading to speed this
process on multi-core machines.
2018-09-12 15:28:13 -07:00
Seth Hillbrand
0109641c2f
gal: correct layer ordering
...
Net labels need to be rendered under the selected item.
Fixes: lp:1790016
* https://bugs.launchpad.net/kicad/+bug/1790016
2018-08-30 16:55:48 -07:00
Seth Hillbrand
dc4125206b
GAL: Add a selected item layer
...
The selected items should be displayed above the rest of the items but
below informational overlays.
Fixes: lp:1789505
* https://bugs.launchpad.net/kicad/+bug/1789505
2018-08-28 15:00:05 -07:00
Jeff Young
0a35c5c97e
Convert Footprint Editor to component tree.
...
Fixes: lp:1784178
* https://bugs.launchpad.net/kicad/+bug/1784178
Fixes: lp:1780363
* https://bugs.launchpad.net/kicad/+bug/1780363
2018-08-01 09:35:46 +01:00
Tomasz Wlostowski
516cf47946
OPENGL_GAL: optimized JP's bitmap drawing function to use textures
2018-07-30 00:13:37 +02:00
Jeff Young
df863e44e2
Wire m_showPageLimits control up to GAL canvas.
...
Fixes: lp:1499285
* https://bugs.launchpad.net/kicad/+bug/1499285
(cherry picked from commit 4cb7442)
2018-07-17 15:13:29 +01:00
Jeff Young
eacaa39aa2
Remove global units usage from GetSelectionText...
...
... and GetMsgPanelInfo.
Step 4 in the g_UserUnit eradication effort.
Also removes a couple of conversion routines that were close
enough to extinction.
(cherry picked from commit c75da51)
2018-07-17 15:11:09 +01:00
Maciej Suminski
b43b78bdd2
pcbnew: Prevent double items recaching on start
...
Thanks to Seth Hillbrand for pointing out the issue.
Fixes: lp:1779002
* https://bugs.launchpad.net/kicad/+bug/1779002
2018-06-29 08:51:46 +02:00
jean-pierre charras
e57cd291ff
class BOARD: rename m_Zone to m_SegZoneDeprecated to avoid mistakes in code.
...
m_Zone is a fully deprecated list of SEG_ZONE items (similar to TRACK), used to fill copper zones in *very old* boards.
it is even unlikely there are still boards that use them.
So it should be removed one day.
2018-05-13 08:39:36 +02:00
Jeff Young
69a31242b9
Change status bar Unconnected to Unrouted.
...
This should help make it clear that this is not the same as the
more authoratative DRC unconnected count.
2018-05-02 10:34:33 +01:00
Andrzej Wolski
370232f70d
Do not draw pads on hidden copper layers.
2018-02-21 14:18:51 -05:00
Andrzej Wolski
4c19606eb7
Fix pads and footprints rendering switches behavior
...
Pads and footprints rendering switches in Render tab were working incorrectly, as described in bug report:
https://bugs.launchpad.net/kicad/+bug/1743890
This patch fixes it and makes GAL behave as the legacy canvas.
Fixes: lp:1743890
2018-02-21 13:44:52 -05:00
Jeff Young
ce0d1aca8d
Draw the grid and the grid origin in the grid colour.
...
Fixes: lp:1749564
* https://bugs.launchpad.net/kicad/+bug/1749564
2018-02-15 18:29:56 -05:00
jean-pierre charras
39b4afecfa
fix code after file renaming
2018-01-31 09:24:02 +01:00
jean-pierre charras
5d72aebd22
Fix code after renaming files
2018-01-29 16:40:22 +01:00
Maciej Suminski
7d821cb08c
Fix netname layers visibility when copper layers are initially off
...
Fixes: lp:1744183
* https://bugs.launchpad.net/kicad/+bug/1744183
2018-01-19 10:03:42 +01:00
Maciej Suminski
d87a7ae58e
Fallback to Cairo when OpenGL is not supported
...
Fixes: lp:1741787
* https://bugs.launchpad.net/kicad/+bug/1741787
2018-01-18 10:17:06 +01:00
Jon Evans
5fd1236d7a
Use worksheet bounding box when the board is empty
...
Fixes: lp:1742140
* https://bugs.launchpad.net/kicad/+bug/1742140
2018-01-11 11:28:19 +01:00
Jon Evans
c3d0489863
Always bring LAYER_CURSOR to the front
...
Fixes: lp:1741357
* https://bugs.launchpad.net/kicad/+bug/1741357
2018-01-06 16:54:14 +01:00
Jon Evans
6ee26fdd8c
Remove LAYER_WORKSHEET from forced visibility since it now has a control
...
Fixes: lp:1737315
* https://bugs.launchpad.net/kicad/+bug/1737315
2017-12-10 17:41:00 -05:00
Tomasz Włostowski
316ddadec1
pcbnew: Optimized zone filling algorithm.
2017-12-05 14:54:57 +01:00
Jon Evans
8f79f0a66d
Add DRC items when reloading board view (Fixes lp:1542420)
2017-11-29 11:40:02 +01:00
jean-pierre charras
68268973b7
To avoid mistakes between graphic layers for pads, holes and not plated holes, rename 3 GAL_LAYER_ID names:
...
LAYER_NON_PLATED to LAYER_NON_PLATEDHOLES
LAYER_PADS_HOLES to LAYER_PADS_PLATEDHOLES
LAYER_PADS to LAYER_PADS_TH
and add comments and fix a render issue in gal mode for non plated holes.
2017-11-29 09:48:41 +01:00
Tomasz Włostowski
00ad8f24a0
pcbnew: Minor changes in CONNECTIVITY_DATA interface:
...
- renamed connectivity.[h|cpp] to connectivity_data [.h|.cpp] so that the file name matches the main class name.
- GetNetItems() now returns a vector instead of a list
2017-11-15 18:34:08 +01:00
Tomasz Włostowski
c9817df9db
refactoring: implemented BOARD-specific view Add()/Remove()/Update() methods in PCB_VIEW, moved to libpcbcommon
2017-11-03 20:02:06 +01:00
Tomasz Włostowski
8a09a1d329
refactoring: derive PCB-specific PCB_VIEW from VIEW with the intention of moving PCB_EDIT_FRAME entries used by the tools (e.g. GetActiveLayer) there
2017-11-03 20:02:06 +01:00
Tomasz Włostowski
81d1e17f02
refactoring: renamed pcbstruct.h to pcb_display_options.h, DISPLAY_OPTIONS->PCB_DISPLAY_OPTIONS
2017-11-03 20:02:06 +01:00
Maciej Suminski
3a8b4a2fb7
Fixed a memleak in GerbView
...
Changed m_painter PAINTER* to unique_ptr<PAINTER> to avoid confusion
regarding the objection destruction.
2017-10-30 09:36:34 +01:00
Maciej Suminski
dd37d05958
Remove Dwgs_User from the always-on-top layer set
...
Fixes: lp:1713053
* https://bugs.launchpad.net/kicad/+bug/1713053
2017-08-25 17:25:40 +02:00
Tomasz Włostowski
32185ddcd3
Multiple improvements concerning colors, configuration handling and legacy features in pcbnew:
...
- support for background color setting
- removed several global config settings (such as g_Drc_On)
- wrapped most of global config settings in PCB_GENERAL_SETTINGS class
- reorganized PCB general options dialog to clearly mark which options concern only the legacy canvas
- new GAL feature for legacy users: double-click (or E) to change track width available as an option.
Fixes: lp:1530543
* https://bugs.launchpad.net/kicad/+bug/1530543
Fixes: lp:1707145
* https://bugs.launchpad.net/kicad/+bug/1707145
2017-08-04 16:06:57 +02:00
Maciej Suminski
f303bf2999
Hide temporarily ratsnest when it is too complex for real-time calculation
2017-08-01 15:22:24 +02:00
Maciej Suminski
2c68786fa8
Display via net labels on top
2017-06-23 11:12:37 +02:00
Tomasz Włostowski
9ad886344b
New connectivity algorithm.
2017-06-23 11:12:36 +02:00
Tomasz Włostowski
94a80acb36
DLIST_ITERATOR improvements
2017-06-23 11:12:36 +02:00
jean-pierre charras
bf21640ae5
Fix a few issues when changing a color in render, in GAL mode.
...
Now colors of ratsnest, vias, not plated holes and anchors can be set.
However not plated holes still have a color issue.
2017-04-05 16:31:29 +02:00
Maciej Suminski
2c33fad45f
Fixed pad net names display (GAL)
...
Fixes: lp:1678272
* https://bugs.launchpad.net/kicad/+bug/1678272
2017-04-02 00:56:21 +02:00
Jon Evans
3ec28e2acf
Refactor layer enumerations to all live in the same place
2017-03-30 16:01:48 -04:00
Maciej Suminski
737dc20409
Make OpenGL GAL great again
...
Reenabled VIEW_ITEMs cache. Previously, the first init was called with
GAL_TYPE_NONE, causing all layers to be set to non-cached. During the
proper init, the layers were already set to non-cached and were not
changed.
2017-03-10 14:08:59 +01:00
Maciej Suminski
906ee77dbf
Fixed VIEW_ITEM memory leaks
2017-03-02 23:57:13 +01:00
Jon Evans
0afb249447
Add drawing priority support to VIEW
...
Call UseDrawPriority( true ) after creating GAL to enable.
VIEW::Add() gets a new optional argument to specify the draw order
when adding an item. If the new argument is left default, the draw
order will increment with each call of VIEW::Add().
Fix std::bind calls after change to VIEW::Add
2017-02-28 14:47:20 +01:00
Jon Evans
7058e4eb21
Setup painter in PCB_DRAW_PANEL_GAL instead of EDA_DRAW_PANEL_GAL
2017-02-16 17:30:31 +01:00
decimad
5a4e247564
EDA_DRAW_PANEL_GAL now takes the gal display options per dependency injection
...
Add a hack so that the pad properties base dialog constructor can pass in the dependency. Since the derived dialog's constructor takes the parent by this exact type, the static cast is safe.
2017-01-11 16:20:37 +01:00
Maciej Suminski
89055c4425
Code formatting
2016-12-12 16:45:52 +01:00
Tomasz Włostowski
da28e163d2
Optimizations/fixes to the VIEW/GAL classes:
...
- much faster Cairo rendering (outperforms legacy)
- improvements in VIEW update handling
- fixed issue with grid rendering in flip view mode
2016-12-12 16:45:52 +01:00
Michael Steinberg
fde12ebd25
Replace boost::function and boost::bind with their std:: counterparts
2016-06-29 12:23:11 +02:00
Maciej Suminski
cef45c0297
Hide all related layers when footprint rendering is disabled.
2016-06-07 15:07:47 +02:00
Maciej Suminski
d9f4877c94
Fixed a crash when starting pcbnew with OpenGL GAL.
2016-05-09 17:23:01 +02:00
Maciej Suminski
2f874097ae
Fixed a crash in pcbnew (GAL).
2016-05-02 16:15:26 +02:00
Maciej Suminski
bda3011519
Initial support for bitmap fonts (OpenGL GAL).
2016-05-02 16:04:45 +02:00
Maciej Suminski
2f0cf27ae4
More adjustments to the layer ordering (GAL).
2015-09-06 12:58:46 +02:00
Maciej Suminski
8f14e9e0b7
Improved the displayed layer order (GAL).
2015-09-05 19:00:54 +02:00
Maciej Suminski
0cad702fc7
Fixed footprint editor crash on ref/val text layer change (GAL).
2015-08-15 16:00:34 +02:00
Maciej Suminski
ddcdda1a59
GalType -> GAL_TYPE
2015-08-07 18:24:43 +02:00
Maciej Suminski
3cb095b7c2
GAL canvases update status bar, message panel & zoom widget.
2015-07-03 20:58:12 +02:00
jean-pierre charras
355bd47e16
Edit microvia: fix incorrect drill size (Bug #1466653 )
...
Fix a few coverity minor warnings.
2015-06-19 10:55:37 +02:00
Maciej Suminski
28a270a328
Refactored grid origin point drawing (GAL).
2015-06-18 17:51:53 +02:00
Maciej Suminski
2ebacfa3c2
GAL sets appropriate top layer after loading a PCB.
2015-06-18 17:51:53 +02:00
Maciej Suminski
d3b31316ba
Fixed module text visibility settings (GAL).
2015-06-16 17:03:36 +02:00
Maciej Suminski
5447bb5914
bugfix: Pcbnew (Windows) crashes using selection tool in OpenGL or Cairo
2015-01-25 19:08:52 +01:00
jean-pierre charras
9cfb97d8b4
Add hight contrast option in Modedit. In hight contrast mode, solder masks and solder paste are shown.
...
this option was possible only by modifying the way display options are managed.
before these changes, display options were a global DISPLAY_OPTIONS class instance.
Now each EDA_DRAW_FRAME(and derivated classes) includes its own DISPLAY_OPTIONS class instance.
As a consequence, some duplicate display option variables in these classes have been removed, because there were just duplicate variables of the DISPLAY_OPTIONS class instance.
2015-01-10 11:27:49 +01:00
Maciej Suminski
0d7b7b02e7
pcbnew: Apply display settings on canvas switch (GAL canvas).
2014-10-13 15:26:06 +02:00
jean-pierre charras
5a38d2b657
Rework on env. variable KISYS3DMOD. Until now, was used in different files using different ways, so no consistency between files.
...
code cleanup.
2014-08-24 09:05:07 +02:00
Maciej Suminski
ca399b6401
Buried/blind vias indicate the layers they go through (GAL).
2014-08-06 13:53:02 +02:00
Maciej Suminski
03a17a284b
bugfix: modules are not selectable in the high contrast mode (GAL).
2014-08-04 10:06:24 +02:00
Maciej Suminski
c3ed210e5d
Increase panning area in GAL view.
2014-07-14 09:43:20 +02:00
Maciej Suminski
5f297726ca
Module anchors are visible in GAL canvas.
2014-07-09 15:02:56 +02:00
Maciej Suminski
0306ec7efe
{Set,Get}ActiveLayer moved from PCB_EDIT_FRAME to PCB_BASE_FRAME.
2014-07-09 11:50:27 +02:00
Maciej Suminski
5a428e1957
Moved layers visibility synchronization to PCB_DRAW_PANEL_GAL::SyncLayersVisibility().
2014-07-09 11:24:56 +02:00
Maciej Suminski
cc733a4966
Initial version of GAL-based module viewer in pcbnew.
2014-07-09 11:22:42 +02:00
Maciej Suminski
9a47f4c645
Created a specialization of EDA_DRAW_PANEL_GAL: PCB_DRAW_PANEL_GAL.
...
Moved View related routines & fields from PCB_{BASE,EDIT}_FRAME & BOARD to PCB_DRAW_PANEL_GAL.
2014-07-09 10:57:32 +02:00