Parametry
Pmg objektu jsou textové konstanty (vytvořené projektantem), které lze vytvořit
v libovolném Pmg objektu.
Parametry
Pmg objektu jsou velice podobné
parametrům Pma objektu.
Pokud
Pmg objekt má parametry a pokud
v editoru grafiky je kurzor myši nad tímto
Pmg objektem, pak se tyto parametry (včetně hodnot) zobrazují ve stavové liště editoru grafiky.
Parametr má svůj název a hodnotu:
Název parametru: Je to systémový název, může obsahovat pouze alfanumerické znaky a nesmí obsahovat diakritiku (tzn. národnostně závislé znaky), prázdný řetězec, mezery a první znak nesmí být číslo.
Hodnota parametru je libovolný textový řetězec. Pro zadání lze použít
Makro výraz (vyhodnocuje se při otevření okna).
Vytvoření parametru:
Čtení a použití parametru:
Parametr lze číst:
Oba přístupy čtou parametr
kaskádním způsobem (bubláním), tzn. pokud objekt, ve kterém se makro/metoda používá, tento parametr nemá, pak se parametr hledá v jeho rodiči (v objektu, do kterého je vnořen) až nakonec ho hledá v objektu
PmgRoot.
Parametr se používá hlavně pro konfiguraci
datových vazeb Pmg objektů. V tom případě
Pmg objekt (složený nebo jednoduchý) může mít definováno více datových vazeb pomocí parametru tak, že konfigurační změnou hodnot parametru se změní odkazy na proměnné v těchto datových vazbách. Další použití parametru je v parametrizaci textů v grafických objektech
PmgString,
PmgButton, atd.
Změna hodnoty parametru:
-
Za běhu aplikace (v runtime) obecně hodnotu parametru
Pmg objektu nelze změnit - slouží jako konstanta
Výjímkou však jsou parametry objektu
PmgRoot. Tyto parametry lze změnit při otevření obrazu (na rozdíl od parametrů v jiných
Pmg objektech). Poté po dobu otevřeného obrazu i tyto parametry nelze měnit. Hodnoty parametrů při otevření obrazu lze zadat dvěma způsoby:
- při volání metody
OpenView v parametru
sParams nebo
Příklad: Lze otevřít obraz poprvé s hodnotou
1, podruhé s hodnotou
2 - a tak poprvé zobrazit obraz pro
"Kotelna1" a podruhé pro
"Kotelna2".
-
ve vývojovém prostředí lze samozřejmě hodnoty všech
Pmg objektů změnit (lze i přidávat nebo ubírat parametry).
Hlavní význam parametru
Pmg objektu je pro vytvoření rozhraní
Pmg objektu, kdy při zkopírování tohoto
Pmg objektu lze pak lehce změnit hodnoty jeho parametrů tak, že například nezobrazuje data pro
"Kotel1" ale pro
"Kotel2". Parametr
Pmg objektu tedy usnadňuje tvorbu často používaných uživatelských
Pmg objektů
v editoru grafiky.
Příklad parametrizace textu:
v objektu
PmgString vytvořte parametr s názvem například
CisloKotle, nastavte hodnotu na
1. V tomto objektu vyplňte konfigurátor "
Hodnota":
Výsledkem je zobrazení textu:
Teplota v kotli 1
Příklad parametrizace datové vazby:
Nechť jsou v aplikaci data:
"/Kotel1/Data" a
"/Kotel2/Data" stejného typu
PmaData. Ve obou objektech je definována proměnná
"Teplota. Dále jsou v obrazu
/ObrazKotle umístěny dva objekty pro zobrazení obou teplot. Pokud v budoucnu přibude další objekt, např. Kotel3, aby jednoduchým kopírováním existujícího objektu vznikl nový objekt zobrazující teplotu tohoto nového objektu.
Řešení:
- V objektu
PmgString (zobrazujícím hodnotu teploty) vytvořte parametr s názvem například
CisloKotle, nastavte hodnotu na
1.
Tímto je správně nastaven
Pmg objekt. Nyní lze kopírováním tohoto objektu a pouhou změnou hodnoty parametru
CisloKotle na
2 v této kopii zajistit, že tento zkopírovaný
Pmg objekt bude zobrazovat hodnotu
/Kotel2/Data/#vars/Teplota. Kdykoli v budoucnu změnou parametru u tohoto objektu lze jednoduše změnit objekt, jehož veličina se má zobrazovat.
Příklad vytvoření obrazu s parametrem:
Nechť jsou v aplikaci data:
"/Kotel1/Data" a
"/Kotel2/Data" stejného typu
PmaData. Ve obou objektech je definována proměnná
"Teplota. Dále je obraz "
/ObrazKotle", který má ukazovat teplotu pro
"Kotel1" nebo pro
"Kotel2" (podle parametrů otevření okna).
Řešení:
- v obrazu
/ObrazKotle v objektu
PmgRoot vytvořte parametr s názvem
CisloKotle.
Tímto máte správně vyplněn obraz. Nyní zbývá zajistit aby se obraz otevřel vždy s příslušným parametrem. Například vytvořte jiný obraz, ze kterého budete otevírat obraz "
/ObrazKotle". Do tohoto nového obrazu vložte dvě tlačítka (
Pmg objekty
PmgButton). První tlačítko bude otevírat obraz pro
"Kotel1", druhé tlačítko bude otevírat stejný obraz pro
"Kotel2". Do události
onButtonUp prvního tlačítka zadejte skript:
Do stejné události druhého tlačítka zadejte podobný skript:
Spusťte nyní aplikaci a otevřete okno s tlačítky.
Po stisknutí prvního tlačítka se otevře okno pro
"Kotel1".
Po stisknutí druhého tlačítka se otevře okno pro
"Kotel2".