Seth Hillbrand
9ad2e9f25d
Standardize view checking
Uses wxCHECK* functions for mesage display and correct behavior when
encountering an invalid layer
3 years ago
jean-pierre charras
ff46b7b1e5
fix compil warnings
3 years ago
Seth Hillbrand
242b9855dd
Protect VIEW against oddball items
Importing may have more view layers than we allocate. In these cases,
we need to avoid accidentally writing to unallocated view layers
Fixes https://gitlab.com/kicad/code/kicad/issues/13638
3 years ago
Marek Roszko
d2c0f5fc2a
More wxSing
3 years ago
Alex
c1ea90abc6
Handle view centering properly when drag-panning and zooming.
3 years ago
Jeff Young
96819f6c01
Better cache invalidation for text objects with references.
Fixes https://gitlab.com/kicad/code/kicad/issues/13059
3 years ago
Seth Hillbrand
4f6b853756
Don't use modifiers when moving with keyboard
The modifier keys on the keyboard control the motion spacing (Ctrl) and
shouldn't be confused with the modifier key used to disable grid
snapping when moving with the mouse (also Ctrl)
Fixes https://gitlab.com/kicad/code/kicad/issues/13027
3 years ago
Alex
cda855fcd6
Fix build error.
3 years ago
Alex
d3aed6c408
Optimize hot loop in UpdateItems.
3 years ago
Alex
c5c5a3fe91
Use a single-shot timer for auto-panning.
Fixes https://gitlab.com/kicad/code/kicad/issues/11425
3 years ago
Jeff Young
25f06eed8c
Move zone borders back to their "host" layer.
Zone borders shouldn't be affected by zone-opacity control; we always
draw them in full layer opacity.
Fixes https://gitlab.com/kicad/code/kicad/issues/12438
3 years ago
Bevan Weiss
4f634d7df7
Updated accelerating zoom controller to use default (non-accelerated)
zoom if changing direction.
Signed-off-by: Bevan Weiss <bevan.weiss@gmail.com>
3 years ago
Mike Williams
6c43ace018
common: fix build (missing return)
3 years ago
dsa-t
01572c0f7d
ADDED: Focus follows mouse between SCH and PCB editors (option).
3 years ago
Alex
dc07ab9df1
Replace PROF_COUNTER with PROF_TIMER in some conditional places.
3 years ago
Marek Roszko
89310bc403
"Cleaner" pan fix and add internal setter on state
3 years ago
Marek Roszko
59e9225619
Remove accidental debug code
3 years ago
Marek Roszko
971a8489b3
Hackfix the autopan on Windows
Autopanning is kinda doesn't jive with how events work on Windows
This is a hackfix for testing
Kinda fix https://gitlab.com/kicad/code/kicad/-/issues/11425
3 years ago
Jeff Young
895a8a8dbc
Work around focus issues for status popups.
Autoscroll wasn't working on Mac because the status popup's panel
has the focus. This *may* also fix a problem on MSW of the auto-scroll
not being cancel-able.
Fixes https://gitlab.com/kicad/code/kicad/issues/11425
3 years ago
Jeff Young
0c8787cbb9
Some more wxPoint/EDA_RECT yeeting.
3 years ago
Seth Hillbrand
06786c34d7
Blacklist hashes for 2d integer elements
The hash table for integer hashes is extremely limited and places most
elements in the same buckets. This leads to a linear search time for
structures built on this.
This blocks hashes, directing the coder to utilize std::set or std::map
structures instead of hash tables for implementing integer-based
lookups.
3 years ago
Mike Williams
ece9a782ac
Gerbview: unexceptional exception cleanups
3 years ago
Seth Hillbrand
2245e99a89
Apply Wayne's suggestion for better error recov
No need to exit the draw routine on a bad layer, we can skip that layer
and continue processing the valid elements
3 years ago
Seth Hillbrand
008b4f583b
Fix typo in lib_text layer id
Also adds CHECK_RET to catch similar errors in the future
Fixes https://gitlab.com/kicad/code/kicad/issues/12078
3 years ago
Mike Williams
99f8b21ed1
PCB: Add bitmap layer per board layer
3 years ago
Seth Hillbrand
a118f20464
Hide cursor while warping on Wayland
Based on https://gitlab.freedesktop.org/xorg/xserver/-/issues/734 we
hide the window cursor prior to warping, which allows XWayland to
reposition the cursor. This is only performed when Wayland is detected;
all other configurations call the standard warp routine
Fixes https://gitlab.com/kicad/code/kicad/issues/9785
3 years ago
Jeff Young
23fb4c7433
Uniformly use a single facility for location-less prime events.
Also implements a uniform mechanism for avoiding auto-scroll after
a prime event or dialog which results in a mouse position at the
edge of the canvas.
Fixes https://gitlab.com/kicad/code/kicad/issues/11057
4 years ago
Seth Hillbrand
110728af48
Prevent focus stealing in some Linux WMs
OnEnter events will only raise the windows within KiCad rather than
between applications
Fixes https://gitlab.com/kicad/code/kicad/issues/10809
4 years ago
Tomasz Wlostowski
7e8f14e738
VIEW_OVERLAY: enforce always on top behaviour through Z ordering
4 years ago
dsa-t
68655540eb
Clamp cursor to limits of coordinates representation
Also improves large distance handling.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8846
4 years ago
Marek Roszko
d9c04da407
Sprinkle in some make_unique
4 years ago
markus-bonk
47603fbc76
Wx_view_controls: Allow two input devices to simultaneously pan & zoom
Instead of the mouse move and zoom algorithms calculating the new
position or scale values relative to a starting value, the new values
are calculated relative to the current values. This allows the user to
use a second input device to move or zoom the view at the same time
without its change being undone by the mouse.
5 years ago
Jeff Young
09d0f6e17c
Map zone layers before checking their visibility.
Fixes https://gitlab.com/kicad/code/kicad/issues/10509
4 years ago
Jeff Young
e84c574830
Some more EDA_ANGLE cleanup.
4 years ago
Jeff Young
8f7d2dd06a
More VECTOR2D -> VECTOR2I and wxPoint cleanup.
4 years ago
Seth Hillbrand
ac9693bb8d
Safely sort view layers
Changing view order of only some layers can cause overwriting of the
original layer if not pre-staged
Fixes https://gitlab.com/kicad/code/kicad/issues/10283
(cherry picked from commit 3e6bf7814b )
4 years ago
Jeff Young
e92efebb5f
Formatting.
4 years ago
Jeff Young
a48867ea01
Solder mask integrity testing.
ADDED DRC test for solder mask aperture bridging copper from different
nets.
ADDED visualization of minimum web width processing for solder masks.
ADDED allow_soldermask_bridges property for footprints.
Fixes https://gitlab.com/kicad/code/kicad/issues/2183
Fixes https://gitlab.com/kicad/code/kicad/issues/1792
4 years ago
Jon Evans
014bad7b28
Add profile counters for PCB mouse and paint events
4 years ago
dsa-t
cb482eb8eb
Symbol Fields Table: Highlight proper symbols even if they aren't annotated
4 years ago
Tomasz Wlostowski
4d2ce5c685
VIEW: don't create a GAL_UPDATE_CONTEXT if there's nothing to update
Avoid a very expensive glMapBuffer() call and greatly improves scrolling/redraw speed.
4 years ago
Tomasz Wlostowski
9add03dd88
VIEW: rebuild the R-trees from scratch if more than 30% of items require a geometry update.
(see comments in the code for detailed explanation)
4 years ago
Jeff Young
930c4e5582
Cleanup.
Formatting.
Naming conventions.
Use of auto.
Use of STL cover types.
4 years ago
Jeff Young
11c91c7179
Improve obscuring dialog algorithm to handle multiple dialogs.
Fixes https://gitlab.com/kicad/code/kicad/issues/8970
4 years ago
Mike Williams
30987cebfe
Gerbview: fix cairo negative items and implement real differential mode
Layers with negative objects need to be drawn in a subsurface before
copying so they don't _CLEAR the draw items below them when a negative
object is drawn.
Differential layers are basically the same thing only they use a
different copying operation onto the layers below.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/1863
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4495
4 years ago
Jeff Young
f221220fe2
Rename layer ids file.
It hasn't had anything to do with colors or visibility for some time
now.
4 years ago
Wayne Stambaugh
bcd6bddfd4
Start expunging NULL.
Given that KiCad is a C++ project, we should really be using nullptr
instead of NULL.
4 years ago
Jeff Young
8f0104f921
Fix case of CLion getting a little carried away.
4 years ago
Jeff Young
c11ee69499
Save 3D prefs after editing, and load some of them into FP Props.
Fixes https://gitlab.com/kicad/code/kicad/issues/8712
4 years ago
Jeff Young
1f4a56005e
Remove extraneous isPrinting test.
Fixes https://gitlab.com/kicad/code/kicad/issues/8609
4 years ago