Skip to content

Latest commit

 

History

History
103 lines (80 loc) · 3.08 KB

File metadata and controls

103 lines (80 loc) · 3.08 KB

FROG logo

Default Realization - Ring Widgets

Default realization posture for standardized ring widgets
FROG - Free Open Graphical Language


Target Classes

  • frog.widgets.ring_control
  • frog.widgets.ring_indicator

Purpose

This default realization publishes a compact selector embodiment for the FROG Ring widget family. It provides a rectangular value face, selected-item display, selector affordance, popup anchor surface, option row surfaces, and focus surface.

This realization is downstream from widget class law. It does not define Ring value semantics, item identity, numeric item values, FIR semantics, backend lowering, runtime-private host handles, or IDE-private item editing behavior.


Public Parts Realized

  • root
  • label
  • caption
  • frame
  • value_face
  • value_display
  • selector_face
  • selector_arrow
  • popup_layer
  • option_row
  • option_label
  • option_selection_face
  • focus_ring

Published Assets

  • assets/ring/templates/ring_rectangular.svg

Rendering Posture

  • value_face anchors the selected value body.
  • value_display anchors selected item text.
  • selector_face and selector_arrow anchor the open-selector affordance.
  • popup_layer anchors a host overlay for visible options.
  • option_row, option_label, and option_selection_face publish option-row grammar.

A runtime may use a host-native popup or select surface when it preserves the public part alignment, value posture, item inventory, and style-property bindings.

The LabVIEW-like Ring posture is text over numeric value: items[].label is visible text, items[].value is the diagram-facing scalar, and value.selected_id is only stable UI identity. Display format, digital-display visibility, increment/decrement visibility, disabled item posture, data-entry limits, and undefined-value policy remain source-owned properties consumed through this realization.


Validation Expectations

  • All declared public parts must exist in widget class law.
  • Declared SVG resources must resolve relative to this package.
  • The declared SVG resources should expose all declared data-frog-part markers.
  • Resources must not become semantic owners of Ring item values.
  • Host-native selector handles must remain realization-private.