Commit Graph

37 Commits

Author SHA1 Message Date
John Beard fa7e842c8c Rework item distribution
This splits the tool into two separate tools: by center and
by even gaps. Previously, this was automatically decided, based on
if the items could have any gaps between them. This was unintuitive
as it would appear to arrange by centre point sometimes but not others.
When items aren't all the same width, the results can then be very
different, based only on the starting positions.

The new behaviour is to have a dedicated tool for each, which echos
how graphical programs like Inkscape manage this.

The by-gaps method is then extended to work for overlapping items
(when items overlap, the overlaps are made equal). The logic is
centralised in kimath/geometry, and some QA is added. This should
make it easier to extend to eeschema, for example.

This also (attempts to) address some rounding issues which could
cause minor, but compounding, errors to build up along the list
of items.

Also, fix bugs in the collection filtering - previously items
like markers were filtered out only after the selection size
was used to compute the gaps between items.
2024-05-05 03:35:09 +08:00
ecorm 16de0a666c Horizontal/vertical zoom for Simulator plots
ADDED: Horizontal/vertical zoom for simulator plots, via mouse wheel,
toolbar buttons, menu commands, and hotkeys.

ADDED: Simulator preferences panel, populated with mouse wheel
and trackpad settings that control pan and zoom of simulator plots.

ADDED: Zoom In/Out Horizontally/Vertically commands that can be bound
to hotkeys.

CHANGED: Simulator plot scroll wheel gestures are no longer hard-coded
and can now be configured via the new Simulator preferences panel.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16597

Other unreported bugs that were fixed:

- Fixed wierd, jumpy simulator plot view limiting behavior.

- Fixed Zoom In Center and Zoom Out Center commands not preserving
  the simulator plot center point.

- Fixed simulator plot nudging when exported as PNGs.

- Fixed rectangular selection zoom being able to exceed simulator plot
  view limits.

Notes:

- Provided new SIM_PREFERENCES struct to be used for future
  simulator preferences set via the simulator preferences dialog.

- Bundled pre-existing EESCHEMA_SETTINGS::SIMULATOR settings into
  EESCHEMA_SETTINGS::SIMULATOR::VIEW.

- Replaced mpWindow::EnableMouseWheelPan with more general
  SetMouseWheelActions.

- Refactored and tidied up wxMathPlot's mpWindow code involved with
  fitting, zooming, and panning.

- Consolidated long lists of duplicated member variable initializers to
  a new mpWindow private delegated constructor.

- Provided provisional Zoom In/Out Horizontally/Vertically toolbar
  icons that need improvement by a graphics designer.

- Provided gitignore entries for the Qt Creator IDE
2024-03-10 12:43:18 +00:00
Seth Hillbrand af02650689 Correct length tuning graphics
Resolved the differences between light and dark modes.
Unified the style with the teardrops panel.
Reduced size to 156px tall
Added HiDPI version
Aligned the start/end tracks vertically
Radius is measured to centerline for single
Radius is measured to midpoint between diff pairs
Spacing is measured to interior track centerline
Amplitude is measured to interior track centerline
2024-02-20 12:06:12 -08:00
Seth Hillbrand 421b95d1fa Update teardrop graphics
Make sure that 'w' is on the minor axis of the pad attachment
Change track ends to "wave" denoting that they continue
Standardize size for each at 275x130px
Add 2x HiDPI version
2024-02-19 17:08:56 -08:00
Seth Hillbrand 89592d08bf Revise teardrop graphics sizes
Sizes were too large on many systems.  Revised panel uses 615px on Linux
instead of 742.  Adjusted line sizes to remain minimum visible width at
new height.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/17018
2024-02-19 12:48:36 -08:00
Seth Hillbrand 0775d1364a Add bezier icon
Fixes https://gitlab.com/kicad/code/kicad/issues/16830
2024-02-14 02:01:01 +01:00
Seth Hillbrand 96130725ad Update the teardrop graphics
Clean and standardize teardrop graphics

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16195
2024-02-09 15:55:57 -08:00
Seth Hillbrand f303996f9c Add new icons for tools
Align elements to grid
Cleanup graphics
Cleanup tracks/vias
Drag

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16206

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16205
2024-02-09 15:55:57 -08:00
Seth Hillbrand cabbab9a5f Move pcbnew drag to move specific icon 2024-02-09 15:55:57 -08:00
Seth Hillbrand 224d8577bb Fix dark file_pos 2024-01-22 15:24:00 -08:00
Seth Hillbrand 967885180e Add cir file icon type
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15777
2024-01-22 15:24:00 -08:00
Seth Hillbrand f5a64aea43 Add export gltf icon
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16203
2024-01-22 15:24:00 -08:00
Seth Hillbrand 3e45e49784 Correct IDF file dark mode icon 2024-01-22 15:24:00 -08:00
Seth Hillbrand 02e46e690c Add missing dark mode icons
e-series icons
sim_command
sim_add_plot
2024-01-22 15:23:59 -08:00
jean-pierre charras 27482ef8a0 add missing dark icon source 2024-01-17 08:26:57 +01:00
Jeff Young 87fba5350f Remove unnecessary l from rectangle teardrops image.
Also further differentiates track-to-track image from rectangular
pad image.
2023-11-28 15:11:51 +00:00
Jeff Young 86edba9eb8 Make teardrop images international, and unify terminology.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16154
2023-11-28 13:56:41 +00:00
Seth Hillbrand 75c6b0ab28 Added IPC2581 support
IPC2581 is a modern production file exchange system.  It provides
single-file data output for an entire board including BOM and netlist
information.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/1954
2023-11-26 15:30:58 -08:00
jean-pierre charras 1cf9da4b69 bitmap icons: fix a text (Amin -> A, Amax->A)
It was previously fixed for 2 icons, but these 4 icons were not fixed.
Fixes #16155
https://gitlab.com/kicad/code/kicad/-/issues/16155
2023-11-25 11:19:51 +01:00
Seth Hillbrand d99641be40 ADDED: Git integration support
Adds support for project-based git integration, branch support, commit,
revert and updates

Fixes https://gitlab.com/kicad/code/kicad/issues/10441
2023-10-20 12:51:47 +00:00
Alex Shvartzkop be1008cbd8 ADDED: Heal Shapes; Fix discontinuities in gfx import and Cleanup dialog. 2023-10-17 10:29:43 +03:00
John Beard 311f041421 ADDED: Polygon boolean operations in PCB editor
This allows common operations like merging a pin courtyard
into the body courtyard in the fooprint editor, taking a
"bite" out of a polygon and so on,

For now, this only supports polygons made of straight lines.

There are some wierd cases when the operations result in nothing
(e.g. wen a big polygon is substracted from a smaller one that
it contains entirely). I have tried to do something senisble in
these cases, but there may be more optimal ways to handle it.

Relates-To: https://gitlab.com/kicad/code/kicad/-/issues/13025
2023-10-01 00:10:10 +01:00
Marek Roszko 5319316815 Enhance the status bar with background progress and notifications 2023-08-04 22:06:08 -04:00
Mike Williams 132a0ada73 Grid Overrides: support grids-per-type that override the current grid.
Schematic only at this point while we test and refine.

PCB support is a future addition.

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/14756
2023-07-25 10:17:57 -04:00
Roberto Fernandez Bautista b32f712721 Use actual KiCad "Ki" logo on splash screen 2023-07-24 22:33:05 +02:00
John Beard 09c0f713cd Add fillet and chamfer icons 2023-07-12 19:21:47 +01:00
aris-kimi 9eeb609248 Include missing SVGs 2023-07-02 22:27:51 +00:00
Marek Roszko 74d6dc6642 ADDED: Startup splashscreen
This is purely loading in the background based and has no artificial delay.
Will be more useful once kicad.exe ends up loading more on launch immediately ;)
Right now the splash is probably visible the longest launching pcbnew standalone.

The actual splash image can be considered a placeholder
2023-06-20 20:51:08 -04:00
Mike Williams 32eb1ef77e Sch->PCB: propagate DNP from symbols to footprints attributes
Also add a 3D viewer toggle.
2023-04-10 13:11:21 -04:00
Mike Williams 389f0655cd Schematic: re-enable old break wire functionality, add slice
Also fix break/slice wires for multiple wires. The shortcut and code
always allowed it, the context menu just didn't appear.

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13163
2022-12-19 15:55:59 -05:00
Jeff Young b09a106880 Split gerbview diff and xor into two separate view modes.
Fixes https://gitlab.com/kicad/code/kicad/issues/10122
2022-11-18 15:29:16 +00:00
Alex 4095172259 ADDED: Pack and Move Footprints, improved footprint spread algorithm. 2022-09-28 13:37:23 +00:00
jean-pierre charras 22cd2a3428 3D viewer: add option to show/hide fp not in position file.
Previously they were not shown, and this is really bad, because
"not in pos file" does not mean never mounted, and not even not mounted.
2022-09-24 13:58:31 +02:00
Mike Williams 37d2addf0e Icons: add swap 2022-09-12 11:11:49 -04:00
Seth Hillbrand 29c2151da5 Update visibility_off to conform to icon standards
Needed darker grey to differentiate between on/off states

Fixes https://gitlab.com/kicad/code/kicad/issues/12338
2022-09-05 11:59:11 -07:00
jean-pierre charras abc7335fd7 Cosmetic enhancement: add two missing icons 2022-08-28 16:01:26 +02:00
Marek Roszko 47fe8ff8eb bitmaps and template are resources. 2022-07-21 20:14:10 -04:00