Jeff Young
996a5b85a6
Overhaul IsJunctionNeeded logic to support all the different cases.
Several clients were using this with different needs. The API is
now more explicit (and there are more options under the hood).
Fixes https://gitlab.com/kicad/code/kicad/issues/9518
4 years ago
Seth Hillbrand
854472d550
Prevent automatic RTree recaching
Calling UpdateItem() may be performed by in a common loop, e.g. for(
SCH_ITEM* item : GetScreen()->Items() ) or similar. We cannot call
GetScreen()->Update( SCH_ITEM* ) in this routine as it will remove and
re-add the item to the RTree, invalidating iterators. If needed, the
items need to be cached to an external container before updating
Fixes https://gitlab.com/kicad/code/kicad/issues/9318
4 years ago
Jeff Young
4b3490a2b9
Intercept rotate command when drawing wires.
If unfolding from bus rotate the label; otherwise beep.
Fixes https://gitlab.com/kicad/code/kicad/issues/9178
4 years ago
Jeff Young
fdfecf5932
Don't push view control settings to the previous active tool.
See further comments in bug report.
Fixes https://gitlab.com/kicad/code/kicad/issues/9147
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
8fd83cbb95
Pass wxPoint objects by reference instead of on the stack.
4 years ago
Mike Williams
13a03f77d3
Eeschema: Fix for delete key in wire tool
Delete key was not working for items selected with wire tool active.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8841
4 years ago
Jeff Young
b72545a432
Implement more aggressive re-entrancy blocking for drawing tools.
A similar strategy was already implemented in Eeschema.
Also adds some safety around clearing of autopan and mouse capture.
Fixes https://gitlab.com/kicad/code/kicad/issues/6909
5 years ago
Wayne Stambaugh
fbc135e69f
Rename SCH_COMPONENT to SCH_SYMBOL.
5 years ago
Jeff Young
0598c82972
Terminology (use present tense for flags).
5 years ago
Marek Roszko
3ac5aa5369
enum class SHEET_SIDE
5 years ago
Jeff Young
7356f9568d
Move grid disable modifier from ALT to CTRL.
Also had to move the H/V/45 disable modifier from CTRL to SHIFT.
Fixes https://gitlab.com/kicad/code/kicad/issues/8124
5 years ago
Jeff Young
f03152a548
Add some more tools to the "don't allow tool loop interruption" set.
See also b78ba12739 .
Fixes https://gitlab.com/kicad/code/kicad/issues/8071
5 years ago
Jeff Young
895f3de455
Formatting.
5 years ago
Wayne Stambaugh
2b86b34124
Eeschema: split out SCH_SHEET_PIN declarations into separate header.
5 years ago
Jeff Young
14e73d24dc
Naming conventions.
5 years ago
Ian McInerney
42c6af4bd8
Cleanup ACTION_MENU creation in some places
The ACTION_MENU constructor now takes the tool as an argument,
so the call to SetTool() immediately following it can be removed
and the tool just passed into the constructor.
5 years ago
Jeff Young
573dd36515
Handle <delete> in move and drawing tools.
Fixes https://gitlab.com/kicad/code/kicad/issues/7924
5 years ago
Jon Evans
18037e2f65
Rework bitmap system to load from archived PNGs
Bitmaps are now identified by an enum class instead of by pointers.
Bitmap loading and caching is now handled by a class in common, and
we no longer compile most bitmaps into the binary, so there is no
longer a bitmaps static library.
Instead, bitmaps are archived to a .tar.gz file which is installed
in ${KICAD_DATA}/resources/images.tar.gz
The source PNGs are checked in to Git as the original CPP files were,
so that people can build without the required dependencies to convert
SVGs to PNGs.
Initial support is also added for dark theme icons, although this
is not yet exposed in the GUI.
Stubs are present for multi-resolution image resources, but this is
not fully-baked yet and could use some refinement.
5 years ago
Jon Evans
375cd12258
Eeschema: never replace event position in wire drawing tool
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7745
5 years ago
Jeff Young
a30ae6a237
Pass un-pretty-printed bus names through menu help text.
Fixes https://gitlab.com/kicad/code/kicad/issues/7412
5 years ago
Jeff Young
d70cebcd62
Allow clicking on terminal point to finish a bus unfold.
Fixes https://gitlab.com/kicad/code/kicad/issues/7413
5 years ago
Seth Hillbrand
238aa2b5b0
Snap to eeschema lines
Allows easier snapping to lines when drawing in eeschema.
Fixes https://gitlab.com/kicad/code/kicad/issues/7378
5 years ago
Seth Hillbrand
ea6dc0d730
Make auto-wire use snapping behavior
Forcing grid snap for the kick-start behavior loses snaps to pins that
may be desired. This also adds force-snapping in select mode to match
the user's auto-start preferences
Fixes https://gitlab.com/kicad/code/kicad/issues/7293
5 years ago
Seth Hillbrand
02954dfaa1
Fix another instance of modifying iterators
We cannot modify the ee_rtree while iterating over it without
invalidating the iterators
Fixes https://gitlab.com/kicad/code/kicad/issues/7331
5 years ago
Jon Evans
ac1f7f93a2
Save context menu position for bus unfold
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6378
5 years ago
Jeff Young
c0e5e8eeee
Formatting.
5 years ago
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
5 years ago
Jeff Young
a19028a396
Hook up EE_GRID_HELPER to some more tools.
Also implements EE_GRID_HELPER layers so that connectable things
snap to connectable things and graphics snap to graphics.
Fixes https://gitlab.com/kicad/code/kicad/issues/5641
5 years ago
Jeff Young
dd60fd47b2
Cleanup and formatting.
5 years ago
Jeff Young
9e9946628a
Go back to arrow cursor on a cancel (or finish).
Fixes https://gitlab.com/kicad/code/kicad/issues/6421
5 years ago
Jeff Young
a207bd97bb
Naming conventions.
5 years ago
Jeff Young
176f461b2c
Fix a corner case of wire merging.
We want to look for a junction before merging two touching colinear
segments, but the old code would also check for a junction when
merging two overlapping segments, which is not what you want.
Fixes https://gitlab.com/kicad/code/kicad/issues/5960
5 years ago
Marek Roszko
b2e9f6987d
Split base_struct into eda_item and eda_rect
5 years ago
Jon Evans
d1bdfb7253
Clear selection before adding new lines in immediate mode
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4266
5 years ago
Marek Roszko
310786333d
Add missing cursors for bus, graphic lines, and hier labels
Fix #5949
5 years ago
Ian McInerney
5aa796b5fe
Cleanup compiler warnings
5 years ago
Marek Roszko
f5e0754f65
Use the setCursor lambda pattern and fix up the initial cursor states
5 years ago
Mark Roszko
d9485129c8
Implement more context specific cursors using both stock and custom cursors.
5 years ago
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
5 years ago
Mark Roszko
c940a45937
ADDED: Autostart wires in eeschema
Allows wires to be automatically started by clicking over a connection point
5 years ago
Seth Hillbrand
4fa3de2211
Ensure we clear forced position
Fixes https://gitlab.com/kicad/code/kicad/issues/5699
5 years ago
Seth Hillbrand
f493e270ea
ADDED: Menu option to enable/disable snap to grid
You can now enable and disable snap to grid when drawing/editing across
all apps. You can also tie snap to grid to the visibility of the grid
to allow rapid enable/disable via grid display.
5 years ago
Seth Hillbrand
173b4ff588
Add snapping to eeschema
This generalizes both the SetPosition() function and ORIGIN_VIEWITEM
class away from the pcbnew-centric.
5 years ago
Seth Hillbrand
02a5d47de9
Avoid passing references in EESchema
This returns the connection list by value. This allows easier Python
use
Also renames m_End() to GetEnd()
5 years ago
Jeff Young
6e72f609f0
Make sure router and via tools update when sizes change.
Also adds a size menu to the context menu for the Via tool.
Fixes https://gitlab.com/kicad/code/kicad/issues/5321
5 years ago
Mark Roszko
1082402b33
Convert UNDO_REDO_T to an enum class
5 years ago
Jeff Young
f4ab14f32d
Performance improvements for SchematicCleanup().
Fixes https://gitlab.com/kicad/code/kicad/issues/4563
5 years ago
Jeff Young
e910dc0092
Make sure lines/wires/busses get default widths if not spec'ed.
Fixes https://gitlab.com/kicad/code/kicad/issues/4854
5 years ago
Jeff Young
7340c97ef9
Undo for schematic-wide operations.
Editing value/footprint fields of multi-unit components.
Find/Change.
Annotation.
Back annotation.
Fixes https://gitlab.com/kicad/code/kicad/issues/2122
Fixes https://gitlab.com/kicad/code/kicad/issues/4869
Fixes https://gitlab.com/kicad/code/kicad/issues/3933
Fixes https://gitlab.com/kicad/code/kicad/issues/4871
Fixes https://gitlab.com/kicad/code/kicad/issues/3899
5 years ago