Promotic
WikipediaLinkedInYoutubeTwitterFacebook

Parametry Pmg objektu

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 má Pmg objekt 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 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 objektu PmgRoot se definují v konfigurátoru "PmgRoot > Obraz > Parametry objektu".
- Parametry pro ostatní Pmg objekty se definují v konfigurátoru "PmgObject > Objekt > Parametry objektu".
 
Čtení a použití parametru:

Parametr lze číst:

- ve skriptu metodou 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 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 objektech PmgString, PmgButton, atd.

 
Změna hodnoty parametru:
- Za běhu aplikace (v runtime módu) obecně nelze hodnotu parametru Pmg objektu změnit - slouží jako konstanta

Výjímkou však jsou parametry objektu PmgRoot. Tyto parametry lze změnit při otevírání obrazu (na rozdíl od parametrů v jiných Pmg objektech). 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 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 založte parametr s názvem například CisloKotle, hodnotu nastavte na 1. V tomto objektu vyplňte konfigurátor "Hodnota":

$.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 PmaData. Ve obou objektech je definována proměnná "Teplota. Dále jsou v obraze /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 typu PmgString (zobrazujícím hodnotu teploty) založte parametr s názvem například CisloKotle, hodnotu nastavte na 1.
- V konfigurátoru "Hodnota" tohoto objektu založte datovou vazbu PP - Datová vazba na vlastnost Pma 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 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 lze v budoucnu jednoduše změnou parametru u tohoto objektu 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 obraze /ObrazKotle v objektu PmgRoot založte parametr s názvem CisloKotle.
- Vytvořte Pmg objekt, například PmgString (bude zobrazovat hodnotu teploty). V jeho konfigurátoru Hodnota založte datovou vazbu PP - Datová vazba na vlastnost Pma 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 (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 napište skript:

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

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

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".


Historie:
Pm7.02.02: Vytvořeno
© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice