step 4: add digital bar level and status gauges
This commit is contained in:
@@ -132,6 +132,8 @@ def create_gauge_context(gauge_type: str, config: ConfigT) -> GaugeContext[Confi
|
||||
)
|
||||
renderer = GaugeRenderer(state)
|
||||
state.renderer = renderer
|
||||
if config.callback is not None:
|
||||
dpg.configure_item(drawlist, callback=_item_callback, user_data=state.tag)
|
||||
renderer.render()
|
||||
return GaugeContext(state)
|
||||
|
||||
@@ -225,3 +227,11 @@ def _add_tooltip(parent: Tag, tooltip: str | None) -> None:
|
||||
return
|
||||
tooltip_tag = dpg.add_tooltip(parent)
|
||||
dpg.add_text(tooltip, parent=tooltip_tag)
|
||||
|
||||
|
||||
def _item_callback(_sender: Tag, _app_data: object, user_data: Tag) -> None:
|
||||
from .state import get_gauge_state
|
||||
|
||||
state = get_gauge_state(user_data)
|
||||
if state.config.callback is not None:
|
||||
state.config.callback(state.tag, state.target_value, state.config.user_data)
|
||||
|
||||
Reference in New Issue
Block a user