Promotic
WikipediaLinkedInYoutubeTwitterFacebook

Parametry grafického prvku

Parametry grafického prvku jsou (projektantem vytvořené) textové konstanty, které lze vytvořit v libovolném grafickém prvku.

Parametry grafického prvku jsou velice podobné parametrům PROMOTIC objektu.

Pokud má prvek parametry a pokud je v editoru obrazů kursor myši nad tímto prvkem, pak se tyto parametry s hodnotama zobrazují ve stavové liště.

 
Parametr má svůj název a hodnotu:
Název parametru je systémovým názvem (bez diakritiky, bez mezer, musí začínat písmenem).
Hodnota parametru je libovolný textový řetězec. Pro zadání lze použít Makro výraz (vyhodnocuje se při otevírání okna).
 
Vytvoření parametru:
- Parametry grafického prvku PmiRoot se definují v konfigurátoru PmiRoot > Obraz > Parametry prvku.
- Parametry pro ostatní prvky se definují v konfigurátoru PmiItem > Objekt > Parametry prvku.
 
Čtení a použití parametru:

Parametr lze číst:

- ve scriptu pomocí metody GetPar.
- v konfigurátorech pomocí makro výrazu $.par (např. při definování datových vazeb).

Oba přístupy čtou parametr kaskádním způsobem (bubláním), tzn. pokud prvek, ve kterém se makro/metoda používá, tento parametr nemá, pak se parametr hledá v jeho rodiči (v prvku do kterého je vnořen) až nakonec ho hledá v prvku PmiRoot.

Parametr se používá hlavně pro konfiguraci datových vazeb grafických prvků. V tomto případě grafický prvek (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 veličiny v těchto datových vazbách. Další využití parametru je v parametrizaci textů v prvcích PmiText, PmiButton, atd.

 
Změna hodnoty parametru:
- Za běhu aplikace (v runtime) obecně nelze hodnotu parametru grafického prvku změnit - slouží jako konstanta.

Vyjímkou však jsou parametry grafického prvku PmiRoot. Tyto parametry (na rozdíl od parametrů v jiných grafických prvcích) lze změnit při otevírání obrazu. Poté jsou po dobu otevřeného obrazu i tyto parametry neměnitelné. Hodnoty parametrů při otevírání 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 grafických prvků změnit (lze i přidávat nebo ubírat parametry).

Hlavní význam parametru prvku je pro vytvoření rozhraní prvku, kdy při zkopírování tohoto prvku lze pak lehce změnit hodnoty jeho parametrů tak, že například nezobrazuje data pro "Kotel1" ale pro "Kotel2". Parametr prvku tedy usnadňuje tvorbu často používaných uživatelských grafických prvků v editoru obrazů.


Příklad parametrizace textu:

V grafickém prvku PmiText založte parametr s názvem například CisloKotle, hodnotu nastavte na 1. V tomto grafickém prvku vyplňte konfigurátor Text:

$.join("Teplota v kotli", $.par("CisloKotle"))

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 PmData. Ve obou objektech je definována proměnná "Teplota. Dále jsou v obraze /ObrazKotle umístěny dva prvky pro zobrazení obou teplot. Pokud v budoucnu přibude další objekt, např. Kotel3, pak aby jednoduchým kopírováním existujícího prvku vznikl nový prvek zobrazující teplotu tohoto nového objektu.

Řešení:

- V grafickém prvku typu PmiText (zobrazujícím hodnotu teploty) založte parametr s názvem například CisloKotle, hodnotu nastavte na 1.
- V konfigurátoru Text tohoto prvku založte datovou vazbu PP - Vazba na vlastnost Promotic objektu. V datové vazbě vyplňte:
- Konfigurátor Objekt textem:

$.join("/Kotel", $.par("CisloKotle"), "/Data/#vars/Teplota")

- Konfigurátor Vlastnost se automaticky vyplní textem Value.

Tímto je správně nastaven grafický prvek. Nyní lze kopírováním tohoto grafického prvku a pouhou změnou hodnoty parametru CisloKotle na 2 v této kopii zajistit, že tento zkopírovaný grafický prvek bude zobrazovat hodnotu /Kotel2/Data/#vars/Teplota. Kdykoli lze v budoucnu jednoduše změnou parametru u tohoto grafického prvku 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 PmData. 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 obraze /ObrazKotle v grafickém prvku PmiRoot založte parametr s názvem CisloKotle.
- Vytvořte grafický prvek například PmiText (bude zobrazovat hodnotu teploty). V jeho konfigurátoru Text založte datovou vazbu PP - Vazba na vlastnost Promotic objektu. V datové vazbě vyplňte:
- Konfigurátor Objekt textem:

$.join("/Kotel", $.par("CisloKotle"), "/Data/#vars/Teplota")

- Konfigurátor Vlastnost se automaticky vyplní textem Value.

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 si vytvořte si jiný obraz, ze kterého budete otevírat obraz /ObrazKotle. Do tohoto nového obrazu vložte dvě tlačítka (grafické prvky PmiButton). 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 napište script:

pMe.PmPanel.OpenView "/ObrazKotle", "", "par:CisloKotle=1;"

Do stejné události druhého tlačítka dejte podobný script:

pMe.PmPanel.OpenView "/ObrazKotle", "", "par:CisloKotle=2;"

Spusťte nyní aplikaci a otevřete okno s tlačítky. Stiskem prvního tlačítka se otevře okno pro "Kotel1", stiskem druhého tlačítka se otevře okno pro "Kotel2".

© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice