Skip to content

* Add analogue gauges - #4676

Open
PWagner1 wants to merge 6 commits into
alphafrom
4656-feature-request-analogue-gauges
Open

PWagner1 wants to merge 6 commits into
alphafrom
4656-feature-request-analogue-gauges

Conversation

@PWagner1

@PWagner1 PWagner1 commented Nov 5, 2026

Copy link
Copy Markdown
Member

Feature: Add analogue gauges (#4656)

Summary

Adds circular, linear, and rectangular analogue gauges to Krypton.Gauges with a shared value/range/palette model, optional animation, and optional interactive input so dashboard-style control panels can use a matched set of indicators.

Related issues

Type of change

  • Feature / enhancement (Implemented)

Changes

  • Krypton.Gauges: shared KryptonGaugeBase, GaugeValues / face subclasses, GaugeRange collection, PaletteGauge* colours
  • New toolbox controls: KryptonCircularGauge, KryptonLinearGauge, KryptonRectangularGauge with designers / action lists dual-compiled into Krypton.Gauges.Design
  • TestForm: KryptonAnalogueGaugeDemo registered in StartScreen
  • Standard-Toolkit-Demos: KryptonAnalogueGauge Examples on branch alpha-4656-analogue-gauges (worktree Standard-Toolkit-Demos-4656; main Demos tree had unrelated WIP)

Affected packages & target frameworks

  • Packages: Krypton.Gauges / Krypton.Gauges.Design (via Krypton.Standard.Toolkit)
  • TFMs verified: suite Debug build (net472, net48, net481, net10.0-windows, net11.0-windows)

Validation

  • TestForm demo: KryptonAnalogueGaugeDemo (StartScreen: “Analogue Gauges ([Feature Request]: Analogue Gauges #4656)”).
  • Manual steps:
    1. Open the demo; confirm circular / linear / rectangular / segmented faces share warning/error ranges.
    2. Drag the trackbar; indicators ease when Animate is on.
    3. Enable Interactive (or drag the dedicated interactive circular gauge); pointer and keyboard change Value.
    4. Use the property-grid selection buttons to inspect Values / State###.
  • Demos: Krypton Analogue Gauge Examples on alpha-4656-analogue-gauges.
  • Build: dotnet build ".\Source\Krypton Components\Krypton Toolkit Suite 2022 - VS2022.sln" -c Debug

Screenshots / GIFs

4656-analogue-gauges-default

Changelog

  • Entry added to Documents/Changelog/Changelog.md:
- Implemented [#4656](https://github.com/Krypton-Suite/Standard-Toolkit/issues/4656), Analogue gauges in `Krypton.Gauges`: circular needle, linear bar, and rectangular (solid or segmented) indicators that share value/range/palette settings, optional animation, and optional interactive input. Included in the [Krypton.Standard.Toolkit](https://www.nuget.org/packages/Krypton.Standard.Toolkit) package.

Breaking changes & migration

None.

Developer documentation

  • Documents/Development/Krypton-Analogue-Gauges.md (local; not for the PR)

Build log

4656-analogue-gauges-build

Checklist

  • Builds for net472 and is C# 7.3 compatible where required
  • New compiler/analyzer warnings in touched code addressed
  • Documents/Changelog/Changelog.md updated
  • TestForm demo added or updated (features / observable bug fixes)
  • Documents/Development/ guide added (substantial features)
  • Screenshots/GIFs included (UI changes)
  • Build log screenshot included
  • Breaking-change impact and TFM notes documented above

# Feature: Add analogue gauges (#4656)

## Summary

Adds circular, linear, and rectangular analogue gauges to `Krypton.Gauges` with a shared value/range/palette model, optional animation, and optional interactive input so dashboard-style control panels can use a matched set of indicators.

## Related issues

- Closes #4656

## Type of change

- [x] Feature / enhancement (`Implemented`)

## Changes

- `Krypton.Gauges`: shared `KryptonGaugeBase`, `GaugeValues` / face subclasses, `GaugeRange` collection, `PaletteGauge*` colours
- New toolbox controls: `KryptonCircularGauge`, `KryptonLinearGauge`, `KryptonRectangularGauge` with designers / action lists dual-compiled into `Krypton.Gauges.Design`
- TestForm: `KryptonAnalogueGaugeDemo` registered in `StartScreen`
- Standard-Toolkit-Demos: `KryptonAnalogueGauge Examples` on branch `alpha-4656-analogue-gauges` (worktree `Standard-Toolkit-Demos-4656`; main Demos tree had unrelated WIP)

## Affected packages & target frameworks

- Packages: `Krypton.Gauges` / `Krypton.Gauges.Design` (via `Krypton.Standard.Toolkit`)
- TFMs verified: suite Debug build (`net472`, `net48`, `net481`, `net10.0-windows`, `net11.0-windows`)

## Validation

- TestForm demo: `KryptonAnalogueGaugeDemo` (StartScreen: “Analogue Gauges (#4656)”).
- Manual steps:
  1. Open the demo; confirm circular / linear / rectangular / segmented faces share warning/error ranges.
  2. Drag the trackbar; indicators ease when Animate is on.
  3. Enable Interactive (or drag the dedicated interactive circular gauge); pointer and keyboard change `Value`.
  4. Use the property-grid selection buttons to inspect `Values` / `State###`.
- Demos: `Krypton Analogue Gauge Examples` on `alpha-4656-analogue-gauges`.
- Build: `dotnet build ".\Source\Krypton Components\Krypton Toolkit Suite 2022 - VS2022.sln" -c Debug`

## Screenshots / GIFs

## Changelog

- Entry added to `Documents/Changelog/Changelog.md`:

```markdown
- Implemented [#4656](#4656), Analogue gauges in `Krypton.Gauges`: circular needle, linear bar, and rectangular (solid or segmented) indicators that share value/range/palette settings, optional animation, and optional interactive input. Included in the [Krypton.Standard.Toolkit](https://www.nuget.org/packages/Krypton.Standard.Toolkit) package.
```

## Breaking changes & migration

None.

## Developer documentation

- `Documents/Development/Krypton-Analogue-Gauges.md` (local; not for the PR)

## Build log

## Checklist

- [x] Builds for `net472` and is C# 7.3 compatible where required
- [x] New compiler/analyzer warnings in touched code addressed
- [x] `Documents/Changelog/Changelog.md` updated
- [x] TestForm demo added or updated (features / observable bug fixes)
- [x] `Documents/Development/` guide added (substantial features)
- [x] Screenshots/GIFs included (UI changes)
- [x] Build log screenshot included
- [x] Breaking-change impact and TFM notes documented above
@PWagner1 PWagner1 added this to the Version 120 (LTS) milestone Nov 5, 2026
@PWagner1
PWagner1 requested a review from a team as a code owner November 5, 2026 15:21
@PWagner1 PWagner1 added version:120-lts All items related to version 120 LTS. area:guages All things to do with `Krypton.Guages`. labels Nov 5, 2026
@PWagner1 PWagner1 linked an issue Nov 5, 2026 that may be closed by this pull request
@giduac

giduac commented Nov 5, 2026

Copy link
Copy Markdown
Contributor

@PWagner1
A thermometer.... ?

@giduac

giduac commented Nov 5, 2026

Copy link
Copy Markdown
Contributor

Add thermometer and AC/DC ampere-meter controls with configurable scales, ranges, input, rendering, and designer support. Extend the analogue gauge demo and update the changelog.
@PWagner1

PWagner1 commented Nov 5, 2026

Copy link
Copy Markdown
Member Author

@PWagner1 A thermometer.... ?

Done

4656-analogue-gauges-default

@Smurf-IV

Smurf-IV commented Nov 6, 2026

Copy link
Copy Markdown
Member

@PWagner1 A thermometer.... ?

Done
4656-analogue-gauges-default

Would like too see what this looks like in the Dark Themes before allowing it through (i.e. there are still a lot of controls that do not work correctly in the "dark"!!)

@PWagner1

PWagner1 commented Nov 6, 2026

Copy link
Copy Markdown
Member Author

@giduac & @Smurf-IV

I think this feature will need to be a multi PR/stage thing, due to the # of gauge designs wanted. Thoughts?

@giduac

giduac commented Nov 6, 2026

Copy link
Copy Markdown
Contributor

create an onging ticket .... i would say...

Update screenshot guidance and the PR template to require light and dark captures for UI changes. Extend the analogue gauge screenshot script and its documentation to produce both palette variants.
@PWagner1

PWagner1 commented Nov 6, 2026

Copy link
Copy Markdown
Member Author

@PWagner1 A thermometer.... ?

Done
4656-analogue-gauges-default

Would like too see what this looks like in the Dark Themes before allowing it through (i.e. there are still a lot of controls that do not work correctly in the "dark"!!)

@Smurf-IV

Dark mode...

4656-analogue-gauges-default-dark

@giduac

giduac commented Nov 6, 2026

Copy link
Copy Markdown
Contributor

@PWagner1

PWagner1 commented Nov 6, 2026

Copy link
Copy Markdown
Member Author

@Smurf-IV Smurf-IV left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the images,
Just noticed: Why is the text in the buttons not fully central On the vertical axis ?

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:guages All things to do with `Krypton.Guages`. version:120-lts All items related to version 120 LTS.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature Request]: Analogue Gauges

3 participants