Promotic
WikipediaLinkedInYoutubeTwitterFacebook

Otevření prohlížečky objektu

Některé PROMOTIC objekty mají prohlížečky svých obsahů. Tato kapitola popisuje jak lze v běžící aplikaci (v runtime) tyto prohlížečky otevřít.

Předem upozorňujeme, že to není tak, že každý takový objekt má například metodu na zobrazení svého obsahu (na první pohled by to vypadalo logicky ale zjistilo se, že to není praktické), nýbrž někde jinde se oznámí "chci otevřít prohlížečku objektu", přičemž se v parametru sObjectPath zadá cesta k tomuto objektu.

 
Objekty, které obsahují prohlížečku svého obsahu:
- PmPanel: zobrazení uživatelské grafiky
- PmReport: zobrazení dynamicky generované HTML sestavy
- PmWorkspace: základní rozčlenění okna na menší části
- PmAlarmEvent: zobrazení stavu a historie skupiny alarmů/eventů
- PmWeb: zobrazení Web stránek aplikace PROMOTIC
- PmWebDir: zobrazení HTML stránek nabízených tímto objektem
- PmWebFolder: zobrazení HTML stránek nabízených tímto objektem
- PmWebLang: zobrazení HTML stránek nabízených tímto objektem
 
Kromě prohlížeček výše zmíněných objektů lze otevřít taky prohlížečky globálních komponent:
- Prohlížečka objektu PmForm (cesta: "/#glob/form")
- Prohlížečka WWW stránek (cesta: "/#glob/webbrowser")
- Prohlížečka pro INFO systém (cesta: "/#glob/infosystem")
 
Způsoby otevření prohlížečky objektu:
 
1) Staticky, konfiguračně:
a) v objektu PmWorkspace (viz konfigurátor "Prohlížeč komponenty" a "Výchozí hodnota Params"). Tímto způsobem lze zajistit automatické počáteční zobrazení libovolných prohlížečů při startu aplikace v jednotlivých rámcích objektu PmWorkspace.
b) v grafickém prvku PmiWFrame (viz konfigurátor "Prohlížečka"). Tímto způsobem lze otevřít libovolný prohlížečeč v grafickém prvku PmiWFrame při jeho otevření.
 
2) Dynamicky, skriptem pomocí metod OpenView:

Sada těchto metod umožní otevřít libovolnou prohlížečku v rámci objektu PmWorkspace, v grafickém prvku PmiWFrame nebo také v podobě samostatného okna. Metoda je z důvodu praktičnosti implementována do několika objektů:

Metoda je asynchronní, tzn. pouze aktivuje otevření příslušné prohlížečky (případně zavření předcházejí) ale po ukončení metody ještě nemusí být prohlížečka skutečně otevřena.

Upozornění!Otevřít libovolnou prohlížečku v grafickém prvku PmiWFrame lze pouze pomocí metody PmiWFrame.OpenView.

 
Zobrazení prohlížečky libovolného objektu se provádí jednotným způsobem. Obecně je potřeba následujících čtyř údajů (parametrů):
 

sObjectPath

(String) Cesta (relativní nebo absolutní) k objektu nebo komponentě, jehož prohlížečka má být otevřena.
 
Může být zde cesta k objektům: PmPanel, PmReport, PmAlarmEvent, PmWorkspace, PmWeb, PmWebFolder, PmWebDir, PmWebInfo, PmWebLang.
PmAlarmEvent objekt: Tento objekt nabízí dvě prohlížečky (stavu a historie), proto je zde možno připojit za vlastní cestu k objektu text /#state pro prohlížečku stavu nebo text /#history pro prohlížečku historie. Pokud není prohlížečka explicitně uvedena, potom pro alarmy se zobrazí prohlížečka stavu, zatímco pro eventy se zobrazí prohlížečka historie.
 
nebo zde může být cesta ke globálním komponentám:
"/#glob/form": Otevření formuláře PmForm, pomocí kterého lze dynamicky (tzn. pomocí skriptu) vytvářet položky, které slouží pro zobrazování a zadávání údajů. V tomto případě se musí také nastavit hodnota oExtra.ViewObject na vytvořený objekt PmForm. Viz Postup vytvoření formuláře.
"/#glob/webbrowser": Obecná prohlížečka HTML stránek (na internetu nebo na disku). Viz Příklad otevření prohlížečky internetových stránek.
"/#glob/infosystem": Prohlížečka pro INFO systém. Viz Příklad a viz Jak otevřít INFO systém.

sOptions

(String) Údaje předávané vlastní prohlížečce. Určují kde a jak má být prohlížečka zobrazena.

Údaje s přiřazenou hodnotou jsou zde odděleny středníkem, například "target:_blank;modal:1;".

 
Pro prohlížečky objektů PmPanel a PmReport: Statické výchozí hodnoty sOptions lze nastavit v konfigurátoru PmPanel > Obraz > Výchozí hodnota sOptions nebo v konfigurátoru PmReport > Report > Výchozí hodnota sOptions. V takovém případě dochází ke zkombinování údajů ze statického výchozího nastavení objektu s údaji předanými dynamicky. Pokud je stejný údaj uveden na obou místech, přednost dostane dynamický údaj, dodaný při otevření prohlížečky.
 
target:xx; - Určuje, kde se prohlížečka otevře.
Pokud není uvedeno, pak se automaticky nastaví následovně:
- pokud se otevírá okno jako modální (je nastaveno "modal:1;"), pak se nastaví na "target:_blank;".
- pokud se otevírá pomocí metody PmPanel.OpenView, pak se nastaví na "target:_self;".
- pokud se otevírá pomocí metody PmWorkspace.OpenView, pak se nastaví na identifikátor hlavního rámce v této pracovní ploše (zadaný v konfigurátoru Implicitní rámec (default frame)).
- pokud se otevírá pomocí metody PmiWFrame.OpenView, pak se tento údaj nebere v úvahu (prohlížečka se vždy zobrazí v prvku PmiWFrame).
target:frameid; - Nová prohlížečka se otevře v objektu PmWorkspace v rámci s identifikátorem frameid.
target:_blank; - Nová prohlížečka se otevře v novém okně.
target:_self; - Nová prohlížečka se otevře ve stávajícím okně (rámci) a prohlížečka, nad kterým byla metoda volána, se zavře.
scrollbar:nn; - Určuje, zda okno bude zobrazovat posuvné lišty a umožní posouvání obsahu, pokud velikost obrazu je větší než velikost okna, ve kterém je obraz zobrazován.
scrollbar:0; - Posuvné lišty nebudou nikdy zobrazeny a okno neumožní posouvání obrazu. Je to například vhodné pro okno typu "nástrojová lišta", kdy okno má být úzké a posuvné lišty by vadily.
scrollbar:1; (přednastaveno) - Okno automaticky zobrazí posuvné lišty a umožní posun obrazu, pokud bude velikost obrazu je větší než velikost okna, ve kterém je obraz zobrazován.
refresh:xx; - Jen pro otevření prohlížečky objektu PmPanel. Určuje, zda obraz bude mít automatické obnovování podle globálně nastavené systémové periody nebo bude mít vlastní obnovování. Není zatím funkční při otevření WEB obrazu.
refresh:0; - Obraz bude mít vlastní obnovování, tzn. bude se volat metoda PmPanel.Refresh.
refresh:system; (přednastaveno) - Obraz bude mít automatické obnovování podle globálně nastavené systémové periody (Viz PmRoot > Aplikace > Perioda časovače obrazů).
viewtype:xx; - Jen pro otevření prohlížeček objektu PmAlarmEvent. Určuje, zda se otevře prohlížečka historie/stavu úplná (včetně všech ovládacích prvků), nebo pouze její tabulková (datová) část (bez ovládacích prvků).
viewtype:full; (přednastaveno) - Otevře se úplná prohlížečka historie/stavu alarmů/eventů včetně všech ovládacích prvků.
viewtype:data; - Otevře se pouze datová část (tabulka) prohlížečky historie/stavu alarmů/eventů bez ovládacích prvků.
 
Následující údaje mají smysl pouze při otevírání v novém okně (tzn. s nastavením "target:_blank;"):
 
modal:nn; - Určuje, zda okno bude modální.
modal:0; (přednastaveno) - Okno nebude modální.
modal:1; - Okno bude modální.
dependent:nn; - Určuje, zda okno bude závislé na hlavním okně aplikace.
dependent:0; - Okno bude nezávislé na hlavním okně aplikace. Není zatím funkční při otevření WEB obrazu.
dependent:1; (přednastaveno) - Okno bude závislé na hlavním okně aplikace a bude vždy nad aplikací.
caption:nn; - Určuje, zda okno bude se záhlavím (tzn. s modrou lištou nahoře).
caption:0; - Okno bude bez záhlaví. Není zatím funkční při otevření WEB obrazu.
caption:1; (přednastaveno) - Okno bude se záhlavím.
ontop:nn; - Určuje, zda okno bude "Vždy nahoře".
ontop:0; (přednastaveno) - Okno nebude "Vždy nahoře".
ontop:1; - Okno bude "Vždy nahoře". Není zatím funkční při otevření WEB obrazu.
state:xx; - Určuje, počáteční stav okna.
state:normal; (přednastaveno) - Okno bude zobrazeno normálně (nebude maximalizované ani minimalizované).
state:max; - Okno bude zobrazeno maximalizované. Není zatím funkční při otevření WEB obrazu.
pos:xx; - Určuje, počáteční pozici okna v normálním stavu.
pos:top,center; (přednastaveno) - Okno bude zobrazeno ve středu aktivního okna aplikace (pracovní plochy).
pos:top,x,y; - Okno bude mít levý horní roh na souřadnicích x a y (v pixelech) vzhledem k aktivnímu oknu aplikace (pracovní plochy).
pos:frame,center; - Okno bude zobrazeno ve středu okna, ze kterého je nové okno otevíráno.
pos:view,x,y; - Okno bude mít levý horní roh na souřadnicích x a y (v pixelech) vzhledem k obsahu okna, ze kterého je nové okno otevíráno.

Pozice se zde stanovuje vzhledem k obsahu okna (view) a ne k oknu samotnému (frame). Lze tak například nové okno umístit vedle grafického prvku, ze kterého je okno otevíráno. Viz Příklad otevření okna s umístěním podle grafického prvku.

size:xx; - Určuje, počáteční velikost okna v normálním stavu.
size:panel; (přednastaveno) - Okno bude mít takovou velikost aby se tam vešel celý otevíraný obraz (tzn. aby nevznikly skrolovací lišty). Šířka a výška obrazu se zadává v editoru obrazů v objektu PmiRoot v záložce Obraz.
size:dx,dy; - Okno bude mít velikost podle zadaných hodnot dx a dy (v pixelech). Tyto hodnoty definují vnější velikost okna (tzn. včetně okrajů a záhlaví okna).
fixed:xx,yy,..; - Umožňuje zakázat změnu stavu, pozice nebo velikosti obrazu. Má podobu výčtu jednotlivých zákazů oddělených znakem "čárka" (,). Není zatím funkční při otevření WEB obrazu. Přednastavená hodnota je: vše je povoleno.
state - Zakazuje měnit stav okna (normální / maximalizovaný / minimalizovaný).
pos - Zakazuje měnit pozici okna v normálním stavu.
size - Zakazuje měnit velikost okna v normálním stavu.
size2 - Omezuje změnu velikosti okna v normálním stavu - okno nemůže být větší než vlastní velikost obrazu.

sParams

(String) Údaje předávané objektu, který bude zobrazován prohlížečkou.

Údaje s přiřazenou hodnotou jsou zde odděleny středníkem, například "název1:hodnota1;název2:hodnota2;".

Tyto údaje obvykle parametrizují nebo filtrují vlastní obsah objektu pro zobrazení a závisí na typu otevíraného objektu.

 
PmPanel: Umožňuje nastavit hodnotu parametrů grafického prvku PmiRoot. Tento parametr je pak přístupný v konfigurátorech obrazu pomocí Makro výraz $.par a ze skriptu pomocí metody GetPar. Každý jednotlivý parametr je tvořen identifikátorem (název) a hodnotou. Syntaxe: "par:name1=value1;par:name2=value2; ...". Viz také: Parametry grafického prvku.

Statické výchozí hodnoty parametrů sParams lze nastavit v konfigurátoru PmPanel > Obraz > Výchozí hodnota sParams. V takovém případě dochází ke zkombinování údajů ze statického výchozího nastavení objektu s údaji předanými dynamicky. Pokud je stejný údaj uveden na obou místech, přednost dostane dynamický údaj, dodaný při otevření prohlížečky.

 
PmReport: Umožňuje nastavit hodnotu parametrů sestavy. Tyto parametry jsou pak přístupné v parametru pEvent.Pars události onReportRequest. Každý jednotlivý parametr je tvořen identifikátorem a hodnotou.

Syntaxe: "par:name1=value1;par:name2=value2; ...".

Statické výchozí hodnoty parametrů sParams lze nastavit v konfigurátoru PmReport > Report > Výchozí hodnota sParams. V takovém případě dochází ke zkombinování údajů ze statického výchozího nastavení objektu s údaji předanými dynamicky. Pokud je stejný údaj uveden na obou místech, přednost dostane dynamický údaj, dodaný při otevření prohlížečky.

 
PmWorkspace: Nepoužívá se.
 
PmWebDir: "file:xx;" = Soubor s příponou (např. file:MyPage.htm), který se má zobrazit. Tento soubor musí být umístěn ve složce, který objekt PmWebDir do WEBu nabízí (viz konfigurátor "Složka se soubory"). Pokud je soubor v podsložce, pak se musí parametr file zadat v podobě "podsložka/soubor". Pokud parametr file není uveden, pak se otevře soubor "default.htm" a pokud tam takový soubor není, pak se otevře dynamicky vytvořená HTML stránka se seznamem souborů.
 
"/#glob/webbrowser": Umožňuje nastavit adresu HTML stránky, která se má zobrazit. Syntaxe: "url:http://www.promotic.eu;".

Adresu je nutno uvádět v plném tvaru včetně protokolu: (http://, https:// nebo file://).

 
"/#glob/form": Nepoužívá se.
"/#glob/infosystem": Nepoužívá se.
 
PmAlarmEvent: Filtrační text určující, které alarmy/eventy se mají zahrnovat do požadovaného výsledku.

Různá filtrační pole mohou být použita i zároveň, alarm/event potom musí vyhovavat všem (např. "desc:FIQ100;priority.ge:5;").

Filtrační text xx nesmí být prázdný (např. nelze zadat "desc:;").

Údaje s přiřazenou hodnotou jsou zde odděleny středníkem, například "desc:Test2;records:50;".
 

Existují následující druhy filtračních textů ("field" představuje některý sloupec alarmů):

"field:xx;" znamená, že příslušné pole alarmu se musí rovnat hodnotě xx.
"field:#eq:xx;" znamená, že příslušné pole alarmu se musí rovnat hodnotě xx. Pokud se má příslušné pole alarmu rovnat jednomu z několika textů, lze uvést více textů oddělených #or: (operátor NEBO).
"field:#begin:xx;" znamená, že příslušné pole alarmu musí začínat textem xx. Pokud má příslušné pole alarmu začínat na některý z několika textů, lze uvést více textů oddělených #or: (operátor NEBO).
"field:#in:xx;" znamená, že příslušné pole alarmu musí uvnitř obsahovat text xx. Pokud má příslušné pole alarmu obsahovat některý z několika textů, lze uvést více textů oddělených #or: (operátor NEBO).
"field:#le:xx;" znamená, že příslušné pole alarmu musí být menší nebo rovno číslu xx.
"field:#ge:xx;" znamená, že příslušné pole alarmu musí být větší nebo rovno číslu xx.
 
Poznámka! Pokud pole začíná textem s., potom se jedná o volbu skrytou koncovému uživateli v prohlížečce alarmů/eventů a slouží k nastavení pevné filtrace skriptem bez ohledu na nastavení uživatelské části filtru. Pro stejný sloupec mohou být současně použité oba typy filtračních polí současně. Aby alarm/event vyhověl, musí vyhovět oběma filtračním polím. Toho lze s výhodou využít k nastavení pevné filtrace skriptem (neovlivnitelné koncovým uživatelem) a současně nastavit i počáteční stav uživatelské filtrace (měnitelnou koncovým uživatelem). Například s.source:#begin:Kotel;source:Kotel1;.
 
"state:xx;" (nepovinné) - Zobrazovat alarmy, jejichž stav (state) se shoduje se stavem xx. Lze uvést i několik stavů oddělených čárkou. Například "state:3,2,1;".
"hoot:xx;" (nepovinné) - Zobrazovat alarmy, podle houkání, kde xx:
0 = nehoukající alarmy
1 = houkající alarmy
"area:#oper:xx;" (nepovinné) - Zobrazovat alarmy, jejichž oblast (area) splňuje danou operaci #oper:xx. Část filtru měnitelná koncovým uživatelem v prohlížečce alarmů/eventů. Například "area:Kotelna1;" nebo "area:#eq:Kotelna1;" nebo "area:#eq:Kotelna1#or:Kotelna2;" nebo "area:#begin:Kotelna;".
"s.area:#oper:xx;" (nepovinné) - Zobrazovat alarmy, jejichž oblast (area) splňuje danou operaci #oper:xx. Část filtru skrytá koncovému uživateli v prohlížečce alarmů/eventů. Například "s.area:Kotelna1;" nebo "s.area:#eq:Kotelna1;" nebo "s.area:#eq:Kotelna1#or:Kotelna2;" nebo "s.area:#begin:Kotelna;".
"source:#oper:xx;" (nepovinné) - Zobrazovat alarmy, jejichž zdroj (source) splňuje danou operaci #oper:xx. Část filtru měnitelná koncovým uživatelem v prohlížečce alarmů/eventů. Například "source:Kotel;" nebo "source:#eq:Kotel;" nebo "source:#eq:Kotel1#or:Kotel2;" nebo "source:#begin:Kotel;".
"s.source:#oper:xx;" (nepovinné) - Zobrazovat alarmy, jejichž zdroj (source) splňuje danou operaci #oper:xx. Část filtru skrytá koncovému uživateli v prohlížečce alarmů/eventů. Například "s.source:Kotel;" nebo "s.source:#eq:Kotel;" nebo "s.source:#eq:Kotel1#or:Kotel2;" nebo "s.source:#begin:Kotel;".
"desc:#oper:xx;" (nepovinné) - Zobrazovat alarmy, jejichž popis (desc) splňuje danou operaci #oper:xx. Část filtru měnitelná koncovým uživatelem v prohlížečce alarmů/eventů. Například "desc:FIQ101;" nebo "desc:#eq:FIQ101;" nebo "desc:#eq:FIQ101#or:FIQ102;" nebo "desc:#begin:FIQ;".
"s.desc:#oper:xx;" (nepovinné) - Zobrazovat alarmy, jejichž popis (desc) splňuje danou operaci #oper:xx. Část filtru skrytá koncovému uživateli v prohlížečce alarmů/eventů. Například "s.desc:FIQ101;" nebo "s.desc:#eq:FIQ101;" nebo "s.desc:#eq:FIQ101#or:FIQ102;" nebo "s.desc:#begin:FIQ;".
"comment:#oper:xx;" (nepovinné) - Zobrazovat alarmy, jejichž komentář (comment) splňuje danou operaci #oper:xx. Část filtru měnitelná koncovým uživatelem v prohlížečce alarmů/eventů. Například "comment:oprava;" nebo "comment:#eq:oprava;" nebo "comment:#eq:oprava#or:test;" nebo "comment:#begin:oprava;".
"s.comment:#oper:xx;" (nepovinné) - Zobrazovat alarmy, jejichž komentář (comment) splňuje danou operaci #oper:xx. Část filtru skrytá koncovému uživateli v prohlížečce alarmů/eventů. Například "s.comment:oprava;" nebo "s.comment:#eq:oprava;" nebo "s.comment:#eq:oprava#or:test;" nebo "s.comment:#begin:oprava;".
"priority:#oper:xx;" (nepovinné) - Zobrazovat alarmy, jejichž priorita (priority) splňuje danou operaci #oper:xx. Část filtru měnitelná koncovým uživatelem v prohlížečce alarmů/eventů. Například "priority:5;" nebo "priority:#eq:5;" nebo "priority:#le:5;" nebo "priority:#ge:5;".
"from:xx;" (nepovinné) - Zobrazovat alarmy, jejichž čas vzniku (timeon) je větší nebo rovno času "xx". Čas se zadává tvaru time(YYYY.MM.DD-hh:mm:ss.mmm), např. from:time(2016.07.28-14:30:00.000); Časový interval umožňuje omezit prohledávanou část alarmů (alarmy mimo časový interval se netestují).
"to:xx;" (nepovinné) - Zobrazovat alarmy, jejichž čas vzniku (timeon) je menší nebo rovno času "xx". Čas se zadává tvaru time(YYYY.MM.DD-hh:mm:ss.mmm), např. to:time(2016.07.28-15:00:00.000);. Čas to lze zadat i klíčovým slovem now, které znamená do aktualního času (v okamžiku volání), např. to:now. Časový interval umožňuje omezit prohledávanou část alarmů (alarmy mimo časový interval se netestují).
"timerange:xx;" (nepovinné) - Zobrazovat alarmy, jejichž čas vzniku (timeon) leží v zadaném časovém intervalu. Pro určení časového intervalu pomocí timerange, musí být zadané buď from nebo to, kde timerange umožňuje dopočítat druhou chybějící časovou mez časového intervalu. Časový interval lze tedy zadat pomocí následujících dvojic: from - to, from - timerange nebo to - timerange. Například to:now;timerange:30m;. Časový interval umožňuje omezit prohledávanou část alarmů (alarmy mimo časový interval se netestují).

Časový rozsah se zadáva ve tvaru celého čísla následovaného znakem časové jednotky (bez mezery). Časové jednotky jsou: w = týden, d = den, h = hodina, m = minuta, s = sekunda. Například timerange:12h; nebo timerange:90m;.

"viewsort:columnid.dir;" (nepovinné) - Určuje, podle kterého sloupce bude počáteční třídění. Uvádí se v následujícím tvaru: identifikátor sloupce, oddělovač tečka (.), příznak směru vzestupně (a) / sestupně (d). Prohlížečka stavu může využít třídění podle libovolného sloupce vzestupně/sestupně. Prohlížečka historie třídí vždy podle času vzniku (timeon) vzestupně/sestupně. Přednastaveno je třídění podle času vzniku vzestupně.Například"viewsort:timeon.a;".

oExtra

(Object) Dodatečné údaje pro prohlížečku. Údaje se zde definují vytvářením vlastností v objektu typu PmMap (na rozdíl od předchozích parametrů sOptions a sParams kde se údaje zadávají textově) - lze tak předávat hodnoty obecnější než jen textové.

Objekt se vytváří metodou Pm.CreatePmMap.

 
Příklad vytvoření, naplnění a použití objektu oExtra:
var oExtra = Pm.CreatePmMap();
oExtra.onClose = Pm.CreatePmAction(1, pMe, "ClosePanel");
pMe.PmPanel.OpenView("/Kotel/Panel", "target:_blank;", "", oExtra);
 
Seznam vlastností, které lze v objektu vytvořit:
oExtra.Arguments (nepovinné) - (Variant) Hodnota předávaná otevírané prohlížečce. Tato hodnota je pak dostupná:
- v události oExtra.onOpen (viz dále).
- v obraze PmPanel i později pomocí vlastnosti PmiRoot.Arguments.

Tato hodnota může být jednoduchá (Integer, String, ..), pole nebo objekt typu PmArray nebo PmMap (nedoporučuje se zde předávat jiné typy objektů).

Zadání této hodnoty je často důležité například při otevírání modálniho okna, které má sloužit pro editování údajů. Vlastnost Arguments pak slouží jako vstupní inicializační hodnota (vlastnost ReturnValue jako výstupní upravená hodnota) - viz Jak pracovat s modálními okny.

oExtra.ViewObject (nepovinné) - (Variant) Prohlížený objekt PmForm.

Při prohlížení objektu PmForm (tzn. když je zadáno sObjectPath="/#glob/form") se tato hodnota nastavuje na dynamicky vytvořený a nakonfigurovaný objekt PmForm. Viz Postup vytvoření formuláře.

Pro jiné typy prohlížeček nemá tato hodnota využití.

oExtra.onClose (nepovinné) - (Objekt typu PmAction) Zadává se zde uživatelská metoda, která se vyvolá, když se obraz zavře.

Objekt pro tuto vlastnost se vytváří pomocí metody Pm.CreatePmAction.

Tato uživatelská metoda musí mít dva parametry:

- oSystem: Objekt typu PmMap. Vlastnosti tohoto objektu nastavuje systém podle toho odkud tuto akci volá. V tomto případě systém nastavuje vlastnosti:
- oSystem.CloseReason: (String) Identifikátor typu zavření okna.
- Při prohlížení objektu PmPanel se zadává při zavírání obrazu metodou PmiRoot.Close(sReason).
- Při prohlížení objektu PmForm hodnota identifikátoru zavisí na tom, jakým tlačítkem byla prohlížečka ukončena. Viz PmForm.SysButtons a PmForm.Close.
- Při prohlížení jiných objektů se tato vlastnost nenastavuje.
- oSystem.ReturnValue: (Variant) Výstupní hodnota prohlížečky.
- Při prohlížení objektu PmPanel lze tuto hodnotu nastavit pomocí vlastnosti PmiRoot.ReturnValue.
- Při prohlížení jiných objektů se tato vlastnost nenastavuje.
- oSystem.ViewObject: (Object) Prohlížený objekt PmForm.
- Při prohlížení jiných objektů se tato vlastnost nenastavuje.
- oPrivate: Objekt typu PmMap. Vlastnosti tohoto objektu nastavuje projektant v objektu PmAction.PrivateData. Projektant v tomto objektu nemusí nastavit žádnou vlastnost. Nastavením nějaké vlastnosti lze však dosáhnout například toho, že jedna uživatelská metoda může sloužit více účelům a jen podle hodnoty vlastnosti v PrivateData se v této metodě rozpozná, odkud se metoda volá.
oExtra.onOpen (nepovinné) - (Objekt typu PmAction) Zadává se zde uživatelská metoda, která se vyvolá, když se obraz otevře (tzn. když je obraz již skutečně zobrazen a jsou v něm vytvořeny všechny grafické objekty).

Objekt pro tuto vlastnost se vytváří pomocí metody Pm.CreatePmAction.

Tato uživatelská metoda musí mít dva parametry:

- oSystem: Objekt typu PmMap. Vlastnosti tohoto objektu nastavuje systém podle toho odkud tuto akci volá. V tomto případě systém nastavuje vlastnosti:
- oSystem.Arguments: (Variant) Vstupní hodnota prohlížečky, kterou při otevírání metodou OpenView lze zadat v údaji oExtra.Arguments.
- oSystem.ViewObject: (Object) Prohlížený objekt PmForm. Při prohlížení jiných objektů se tato vlastnost nenastavuje..
- oPrivate: Objekt typu PmMap. Vlastnosti tohoto objektu nastavuje projektant v objektu PmAction.PrivateData. Projektant v tomto objektu nemusí nastavit žádnou vlastnost. Nastavením nějaké vlastnosti lze však dosáhnout například toho, že jedna uživatelská metoda může sloužit více účelům a jen podle hodnoty vlastnosti v PrivateData se v této metodě rozpozná, odkud se metoda volá.
oExtra.onChange (nepovinné) - (Objekt typu PmAction) Zadává se zde uživatelská metoda, která se vyvolá, když se v zobrazovaném objektu změní některá položka.

Objekt pro tuto vlastnost se vytváří pomocí metody Pm.CreatePmAction.

Toto je funkční jen když zobrazovaný objekt je PmForm.

Tato uživatelská metoda musí mít dva parametry:

- oSystem: Objekt typu PmMap. Vlastnosti tohoto objektu nastavuje systém podle toho odkud tuto akci volá. V tomto případě systém nastavuje vlastnosti:
- oSystem.ViewObject: (Object) Prohlížený objekt PmForm.
- oSystem.ItemId: (String) Typ položky (zadává se při vytváření položky metodou PmForm.CreateItem).
- oSystem.ChangeType: (String) Identifikátor typu změny:
- "value": Změnila se hodnota některé položky.
- "push": Některá položka byla stištěna. Funguje pouze pro položku typu PmFormItemButton.
- oSystem.NewValue: (Variant) Hodnota položky po změně. Tato vlastnost je nastavená jen když ChangeType="value".
- oSystem.OldValue: (Variant) Hodnota položky před změnou. Tato vlastnost je nastavená jen když ChangeType="value".
- oPrivate: Objekt typu PmMap. Vlastnosti tohoto objektu nastavuje projektant v objektu PmAction.PrivateData. Projektant v tomto objektu nemusí nastavit žádnou vlastnost. Nastavením nějaké vlastnosti lze však dosáhnout například toho, že jedna uživatelská metoda může sloužit více účelům a jen podle hodnoty vlastnosti v PrivateData se v této metodě rozpozná, odkud se metoda volá.
© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice