Developer Integration
Native Component Hook Reference
The genuine-user callback surface for the 14 current Native Components, including seven intentionally monitoring-only components.
Genuine user actions only
Hooks are generated only where the component supports genuine interaction. Construction, hydration and Runtime SDK setters remain silent. The exact generated 95_UserEvents.h is authoritative for the current project.
Implemented component hook surface
| Component | Generated hook family | Interaction contract |
|---|---|---|
| Dashboard Card | void FG_On_<DashboardCard>_Clicked(void); | When click generation is enabled, only a genuine click on the card root invokes the optional hook. |
| Sensor Tile | void FG_On_<SensorTile>_Clicked(void); | The optional root hook represents a genuine tile click. Runtime setters never invoke it. |
| Relay Panel | void FG_On_<RelayPanel>_Channel_Changed(uint32_t channel, bool enabled); void FG_On_<RelayPanel>_Master_Changed(bool enabled); | Channel and master hooks fire only for genuine operator interaction. Disabled channels are inert and setters remain silent. |
| PWM Controller | void FG_On_<PWMController>_Value_Changed(float value); void FG_On_<PWMController>_Enabled_Changed(bool enabled); | Slider and enable-switch interaction emit their matching hooks. Programmatic setters update silently. |
| Trend Chart | void FG_On_<TrendChart>_Point_Added(float value); void FG_On_<TrendChart>_Warning(void); void FG_On_<TrendChart>_Alarm(void); void FG_On_<TrendChart>_Recovered(void); | When enabled, threshold callbacks report semantic state transitions; they do not fire for every sample. |
| Trend Chart Pro | void FG_On_<TrendChartPro>_Point_Added(float value); void FG_On_<TrendChartPro>_Warning(void); void FG_On_<TrendChartPro>_Alarm(void); void FG_On_<TrendChartPro>_Recovered(void); | Optional callbacks report point addition and threshold-state transitions; warning, alarm and recovery fire only on state changes. |
| Alarm Panel | void FG_On_<AlarmPanel>_Alarm_Added(int32_t alarm_id, FG_Alarm_Priority priority); void FG_On_<AlarmPanel>_Alarm_Acknowledged(int32_t alarm_id); void FG_On_<AlarmPanel>_Alarm_Cleared(int32_t alarm_id); void FG_On_<AlarmPanel>_Alarm_Selected(int32_t alarm_id); | Only the implemented alarm selection and acknowledgement controls generate operator interaction. Repeated acknowledgement does not emit a second transition callback. |
| IO Monitor | No UserEvents are generated. | IO Monitor is intentionally read-only. Its rows do not respond to touch; missing touch interaction is not a defect. |
| Battery Card | No UserEvents are generated. | Battery Card is intentionally read-only. It has no selection, acknowledgement, editing, operator controls or touch callbacks. |
| Tank Level Card | No UserEvents are generated. | Tank Level Card is intentionally display-only. It has no operator controls or genuine touch interaction. |
| Network Status Card | No UserEvents are generated. | Network Status Card is monitoring-only. Live Wi-Fi projection runs independently of the optional System Wi-Fi Manager page. |
| Device Summary Card | No UserEvents are generated. | Device Summary Card is monitoring-only and has no operator interaction contract. |
| KPI Card | No UserEvents are generated. | KPI Card is generic, monitoring-only and generates zero UserEvents. All seven Runtime SDK setters are silent. |
| Power Flow Card | No UserEvents are generated. | Power Flow Card is monitoring-only. Its topology and static flow directions are bounded; it is not a generic SCADA diagram editor. |
