Skip to content

Other Widgets

ColorPicker

HSV color space model with gradient image caching (three QImage buffers rebuilt only when dirty flags trigger), dual input modes (Hex/RGB), and alpha channel support with checkerboard visualization.

ColorPicker

The ColorPicker showing HSV gradient selection with hue strip, opacity slider, and hex input (#C94444).

IconPicker

Grid-based icon browser with real-time search, SVG color override (dynamically recolors icons via XML manipulation), lazy loading with caching, and custom scrollbar.

IconPicker

60+ icons displayed in a searchable grid — each icon can be dynamically recolored to match any theme.

DatePicker

Full calendar with:

  • TimeSpinner — custom auto-repeat mechanism (50ms interval) for ergonomic time entry
  • Date range selection — two-click anchor/end selection with visual highlighting
  • Preset system — Yesterday, Today, This Week, Last Month, Last 6 Months
  • JSON localization — month names, weekday names, and preset labels loaded per language

DropMenu

Tab-based navigation combining popup menus and slide-out data drawers:

  • Each tab configured via JSON as either menu type (popup with clickable items) or drawer type (slide-up data panel)
  • Debug drawer showing boolean indicators (red/green dots) and numeric values (with unit)
  • Per-tab blinking animation for attention states with independent color cycling
  • Dynamic badges updated at runtime without full refresh

Button

State-machine-driven button with 4 styles × 4 states = 16 visual combinations, each independently configurable:

  • Hold-to-confirm — progressive fill animation requiring sustained press (critical for safety-sensitive actions like valve operations)
  • Smooth animated transitions between states via parallel animation groups
  • Dual icon support — two icons with 8 placement options each

PopupHelp

Tutorial/help bubble with:

  • 9 arrow positions — Top, Bottom, Left, Right, corners, and None
  • Style presets — Info (blue), Success (green), Warning (orange), Error (red) — one call sets all colors atomically
  • Opacity animation — smooth fade-in/out with configurable easing

Badge

Compact status indicator with 3-state logic (Active/Enabled/Disabled), per-state color palettes, and SVG icon integration.


ScreenshotEditor

Complete annotation tool with a polymorphic annotation system — a base class with virtual methods extended by 5 annotation types (Path, Line, Shape, Text, Highlight), undo/redo via command stack, and 9 drawing tools.

Screenshot Editor

The ScreenshotEditor in action: an operator has captured the current dashboard view and is annotating it with red circles and arrows to highlight areas of interest. The drawing toolbar offers pen, arrow, rectangle, ellipse, text, highlight, and eraser tools.

Mouse events are throttled to 16ms (~60fps) for smooth drawing, and all coordinate transforms (screen↔image) account for zoom level.