Sfairadora

  • Referenční příručka

Definiční typy dispelů

Ke každé třídě dispelu (ovládacího prvku) existuje příslušný datový typ, který je použit k uložení informací o vlastnostech daného ovládacího prvku. Tento typ se nazývá definiční typ dispelu. Jeho instance je definiční objekt dispelu. Každému existujícímu dispelu je neustále přirazen jeho definiční objekt. Změny v obsahu definičního objektu jsou okamžitě promítány do změny zobrazení dispelu.
Všechny atributy dispelu uložené v definičním objektu mohou být rovněž zadány výrazem, takže typ každého atributu (složky) definičního objektu je sjednocení vlastního typu atributu a typu Enki. Pokud je místo hodnoty atributu zadán výraz v jazyce Enki, je podle tohoto výrazu interně vytvořena počítané položka, která určuje hodnotu atributu. S tím, jak se mění datové položky, na kterých závisí hodnota atributu, je přepočítávána hodnota počítané položky a tedy se průběžně mění i vlastní zobrazení dispelu.
Definiční objekty dispelů jsou standardně zadávány pomocí editoru definice ovládacích prvků. Definiční objekty dispelů jsou nejběžněji uloženy v sekci dokumentu Zobrazení, které odpovídá složka objektu dokumentu document.presentation (viz kapitolu o příslušném datovém typu Document_presentation_def. V případě potřeby lze vytvořit specifický definiční objekt dispelu v datech dokumentu a zobrazit jej pomocí nepřímého ovládacího prvku. Tak lze snadno realizovat ovládací prvek, jehož struktura se dynamicky proměňuje. Dále je možné vytvořit definiční objekt dispelu jako lokální proměnnou v jazyce Enki a zobrazit jej pomocí funkcí ask či edit.
Pro obecnou definici dispelu bez ohledu na jeho třídu, je určen typ Dispel_def, ve kterém je obsažen konkrétní definiční typ požadovaného dispelu.