Vlastní Control

Controls jsou třetím typem pluginů — DLL ve složce Controls vedle QInsight.exe. Po restartu aplikace se control objeví v panelu Controls a lze ho přetahovat na pracovní plochy jako kterýkoli dodávaný prvek.

Základ

Control implementuje rozhraní IControlBase; prakticky se dědí ze základní třídy ControlBase, která obstará společné vlastnosti (pozice, velikost, barvy, zámek, serializaci vazeb na proměnné). Klíčové body:

  • Label ve specifikaci = text v panelu Controls.
  • BindVariable(variable) — voláno při přetažení proměnné na control. Control s jednou hodnotou (jako Gauge) předchozí proměnnou nahradí, vícehodnotový (jako Graph) přidává.
  • UpdateVariableValueAsync(...) — sem přicházejí živé hodnoty; control si sám řídí, jak často se překreslí (Refresh time).
  • OnEditToRun / OnRunToEdit — reakce na přechod mezi editačním a runtime režimem (např. graf si vyčistí data).
  • Vlastnosti, které mají přežít uložení projektu, se serializují spolu s controlem.

MVVM

UI controlu se píše striktně MVVM: skládání v XAML, interakce přes bindingy a commandy, logika ve ViewModelu — bez logiky v code-behind. Referenčním vzorem je dodávaný Single-Signal control.

Nasazení

Zkompilovanou DLL nakopírujte do složky Controls a restartujte QInsight. Control se objeví v panelu Controls; jeho vazby a nastavení se ukládají do projektu automaticky.

Dále

Přehled všeho, co QInsight dodává — Reference.