Pod vyhodnotením palety rozumieme určenie výsledných vizuálnych parametrov grafického objektu. Paleta sa v procese D2000 HI vyhodnocuje vždy pri zmene komplexnej hodnoty pripojeného objektu.


Najskôr je potrebné vysvetliť pojem platnosť stavového skriptu vzhľadom k aplikovanej hodnote. Stavový skript je platný, ak aplikovaná hodnota obsahuje všetky stavy obsiahnuté v stavovom skripte. Napríklad skript True, Weak je platný, ak aplikovaná hodnota je True a zároveň je v stave Weak.
Za každým kľúčovým slovom môže byť uvedený jeden zo znakov +, -. Znak - znamená, že stav určený príslušným kľúčovým slovom nesmie aplikovaná hodnota mať, aby bol skript platný. Znak + je povolený len z dôvodu kompletnosti a nemá žiadnu funkciu. Napríklad skript True, Weak-, FB- je platný, ak aplikovaná hodnota je True, zároveň nie je v stave Weak a užívateľský príznak (flag) B má hodnotu False.


Popis hodnoty a stavu automaticky predpokladá, že obsahuje stav Valid, t.j. výrazy "FA" a "Valid,FA" sú totožné. Pre prístup k neplatným položkám stavov a príznakov musí byť zadaný príznak invalid, napr. "Error,FA" alebo "Valid-,FA".


Vyhodnotenie palety prebieha v cykle postupne cez všetky riadky palety smerom od prvého definovaného riadku k poslednému. Poradie definovania riadkov pri konfigurácii je dôležité. Ak je daný skript platný vzhľadom k aplikovanej hodnote, aplikujú sa parametre daného skriptu na pripojený grafický objekt. Spôsob tejto aplikácie závisí od hodnoty vizuálneho parametra. Každý vizuálny parameter môže nadobúdať jednu z nasledujúcich hodnôt:

  • Hodnota default - aplikuje sa hodnota vizuálneho parametra totožná s hodnotou tohto parametra určeného v Grafickom editore pri vytváraní objektu. Táto východisková hodnota môže byť zmenená zo skriptu.
  • Hodnota podľa predchádzajúceho - znamená, že príslušný vizuálny parameter sa neuplatní, zostáva posledná platná hodnota.
  • Konkrétna hodnota - aplikuje sa táto konkrétna hodnota.


Položky stavového skriptu oddelené čiarkou musia platiť súčasne, aby bol stavový skript platný. Je to vlastne logická funkcia AND. Logická funkcia OR sa dá dosiahnuť duplikovaním skriptu pre inú hodnotu s tými istými vizuálnymi parametrami.


Príklad:
Je potrebné vytvoriť paletu a pripojiť ju ku grafickému objektu typu kruh, pričom je žiaduce nasledovné správanie:


Ak má pripojený objekt hodnotu True, obrys kruhu má byť zelený, ak má pripojený objekt hodnotu False, obrys kruhu má byť červený. Ak je hodnota v stave Weak má byť vnútro kruhu modré, ak v tomto stave nie je, má byť vnútro kruhu také, ako bolo vytvorené v Grafickom editore. Definícia palety potom môže vyzerať napr. takto (existujú aj iné riešenia pre dosiahnutie žiaduceho správania):


Ostatné vizuálne atribúty majú hodnotu “Podľa predchádzajúceho” (znak "krížik") - implicitná hodnota.


Napíšte komentár