Promotic
WikipediaLinkedInYoutubeTwitterFacebook

Otevření prohlížeče objektu

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

Předem upozorňujeme, že to není tak, že každý takový objekt má například metodu pro 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č objektu", přičemž se v parametru sObjectPath zadá cesta k tomuto objektu.

 
Objekty, které obsahují prohlížeč svého obsahu:
- PmaPanel: zobrazení grafického obrazu
- PmaReport: zobrazení dynamicky generované HTML sestavy
- PmaWorkspace: základní rozčlenění okna na menší části
- PmaAlarmGroup: zobrazení stavu a historie alarm/event skupiny
- PmaWeb: zobrazení Web stránek aplikace PROMOTIC
- PmaWebDir: zobrazení HTML stránek nabízených tímto objektem
- PmaWebFolder: zobrazení HTML stránek nabízených tímto objektem
- PmaWebLang: zobrazení HTML stránek nabízených tímto objektem
 
Kromě prohlížečů výše zmíněných objektů lze otevřít taky prohlížeče globálních komponent:
- Prohlížeč objektu PmForm (cesta: "/#glob/form")
- Prohlížeč WWW stránek (cesta: "/#glob/webbrowser")
- Prohlížeč pro INFO systém (cesta: "/#glob/infosystem")
 
Způsoby otevření prohlížeče objektu:
 
1) Staticky, konfiguračně:
a) v objektu PmaWorkspace (viz konfigurátor "Prohlížeč komponenty" a konfigurátor "Výchozí hodnota Params"). Tímto způsobem lze zajistit automatické počáteční zobrazení libovolných prohlížečů po spuštění aplikace v jednotlivých rámcích objektu PmaWorkspace.
b) v objektu PmgFrame (viz konfigurátor "Prohlížeč"). Tímto způsobem lze otevřít libovolný prohlížeč v objektu PmgFrame při jeho otevření.
 
2) Dynamicky, ve skriptu pomocí metod OpenView:

Sada těchto metod umožní otevřít libovolný prohlížeč v rámci objektu PmaWorkspace, v objektu PmgFrame 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ého prohlížeče (případně zavření předcházejího) ale po ukončení metody ještě nemusí být prohlížeč skutečně otevřen.

Upozornění! Otevřít libovolný prohlížeč v objektu PmgFrame lze pouze metodou PmgFrame.OpenView.

 
Zobrazení prohlížeče 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č má být otevřena.
 
Může být zde cesta k objektům: PmaPanel, PmaReport, PmaAlarmGroup, PmaWorkspace, PmaWeb, PmaWebFolder, PmaWebDir, PmaWebInfo, PmaWebLang.
PmaAlarmGroup objekt: Tento objekt nabízí dva prohlížeče (stavu a historie), proto zde lze připojit za vlastní cestu k objektu text /#state pro prohlížeč stavu nebo text /#history pro prohlížeč historie. Pokud není prohlížeč explicitně uvedena, pak pro alarmy se zobrazí prohlížeč stavu, zatímco pro eventy se zobrazí prohlížeč 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 objekty, které jsou určeny pro zobrazování a zadávání údajů. V tom případě se musí také nastavit hodnota oExtra.ViewObject na vytvořený objekt PmForm. Viz Postup vytvoření formuláře.
"/#glob/webbrowser": Obecný Web prohlížeč HTML stránek (na internetu nebo na disku).

V lokální aplikaci se otevře Web prohlížeč, který využívá InternetExplorer.

Viz Příklad otevření Web prohlížeče.

"/#glob/infosystem": Prohlížeč pro INFO systém. Viz Příklad a viz Jak otevřít INFO systém.

sOptions

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

Údaje jsou zde ve formátu KeyVal, například "target:_blank;modal:1;".

 
Pro prohlížeče objektů PmaPanel a PmaReport: Statické výchozí hodnoty sOptions lze nastavit v konfigurátoru "PmaPanel > Obraz > Výchozí hodnota sOptions" nebo v konfigurátoru "PmaReport > Report > Výchozí hodnota sOptions".

V tom 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, pak přednost dostane dynamický údaj, dodaný při otevření prohlížeče.

 
target:xx; - Určuje, kde se prohlížeč otevře.
Pokud není nastaveno, pak se přednastaví následovně:
- pokud se otevírá okno jako modální (je nastaveno "modal:1;"), pak se nastaví na "target:_blank;".
- pokud se otevírá metodou PmaPanel.OpenView, pak se nastaví na "target:_self;".
- pokud se otevírá metodou PmaWorkspace.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á metodou PmgFrame.OpenView, pak se tento údaj nebere v úvahu (prohlížeč se vždy zobrazí v objektu PmgFrame).
target:frameid; - Nový prohlížeč se otevře v objektu PmaWorkspace v rámci s identifikátorem frameid.
target:_blank; - Nový prohlížeč se otevře v novém okně.
target:_blank.blankid; - Pokud existuje okno s identifikátorem blankid, pak se nový prohlížeč se otevře ve stávajícím okně, jinak se otevře v novém okně. Umožňuje zabránit otevírání velkého množství oken.
target:_self; - Nový prohlížeč se otevře ve stávajícím okně (rámci) a prohlížeč, nad kterým byla metoda volána, se zavře.
scrollbar:nn; - Určuje, zda okno bude zobrazovat scrollbary (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; - Scrollbary 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 scrollbary by vadily.
scrollbar:1; (přednastaveno) - Okno zobrazí scrollbary a umožní posun obrazu, pokud bude velikost obrazu je větší než velikost okna, ve kterém je obraz zobrazován.
refresh:xx; - Pouze pro otevření prohlížeče objektu PmaPanel. Určuje, zda obraz bude mít automatické obnovování podle globálně nastavené systémové periody nebo bude mít vlastní obnovování. Zatím není funkční při otevření Web obrazu.
refresh:0; - Obraz bude mít vlastní obnovování, tzn. bude se volat metoda PmaPanel.Refresh.
refresh:system; (přednastaveno) - Obraz bude mít automatické obnovování podle globálně nastavené systémové periody (Viz PmaRoot > Aplikace > Perioda časovače obrazů).
viewtype:xx; - Pouze pro otevření prohlížeče objektu PmaAlarmGroup. Určuje, zda se otevře prohlížeč historie/stavu úplná (včetně všech ovládacích tlačítek), nebo pouze její tabulková (datová) část (bez ovládacích tlačítek).
viewtype:full; (přednastaveno) - Otevře se úplná alarm/event prohlížeč historie/stavu včetně všech ovládacích tlačítek.
viewtype:data; - Otevře se pouze datová část (tabulka) alarm/event prohlížeče historie/stavu bez ovládacích tlačítek.
 
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. Zatím není 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í. Zatím není 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". Zatím není 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é. Zatím není funkční při otevření Web obrazu.
pos:xx; - Určuje počáteční pozici okna v normálním stavu.

Tato pozice je jen doporučená. Pokud okno se svou velikostí nevejde na obrazovku, pak se tato pozice posune tak, aby byla viditelná co největší část tohoto okna.

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) relativně 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) relativně k obsahu okna, ze kterého je nové okno otevíráno.

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

pos:screen,x,y; - Okno bude mít levý horní roh na souřadnicích x a y (v pixelech) v absolutním souřadném systému Windows. Tato volba není funkční na webu. Slouží k umístění hlavních oken (PmaWorkspace nebo PmaPanel) aplikace na jednotlivé monitory. Ostatní okna aplikace se již obvykle umísťují relativně k těmto hlavním oknům.
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 scrollbary). Šířka a výška obrazu se zadává v editoru grafiky v objektu PmgRoot 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" (,). Zatím není 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čem.

Údaje jsou zde ve formátu KeyVal, 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.

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

Statické výchozí hodnoty parametrů sParams lze nastavit v konfigurátoru "PmaPanel > Obraz > Výchozí hodnota sParams". V tom 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, pak přednost dostane dynamický údaj, dodaný při otevření prohlížeče.

 
PmaReport: 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 "PmaReport > Report > Výchozí hodnota sParams". V tom 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, pak přednost dostane dynamický údaj, dodaný při otevření prohlížeče.

 
PmaWorkspace: Nepoužívá se.
 
PmaWebDir: "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 PmaWebDir 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 takový soubor neexistuje, 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:https://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.
 
PmaAlarmGroup: Filtrační text určující, které alarmy se mají zahrnovat do požadovaného výsledku.

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

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

Údaje jsou zde ve formátu KeyVal, 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 příslušné pole alarmu se má rovnat jednomu z několika textů, pak lze zadat více textů oddělených #or:.
"field:#begin:xx;" znamená, že příslušné pole alarmu musí začínat textem xx. Pokud příslušné pole alarmu má začínat na některý z několika textů, pak lze zadat více textů oddělených #or:.
"field:#in:xx;" znamená, že příslušné pole alarmu musí uvnitř obsahovat text xx. Pokud příslušné pole alarmu má obsahovat některý z několika textů, pak lze zadat více textů oddělených #or:.
"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., pak se jedná o volbu skrytou koncovému uživateli v alarm prohlížeči a slouží k nastavení pevné filtrace skriptem bez ohledu na nastavení uživatelské části filtru. Pro stejný sloupec lze použít oba typy filtračních polí současně. Aby alarm 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 = alarmy nehoukající
1 = alarmy houkající
"area:#oper:xx;" (nepovinné) - Zobrazovat alarmy, jejichž oblast (area) splňuje danou operaci #oper:xx. Část filtru měnitelná koncovým uživatelem v alarm prohlížeči. 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 alarm prohlížeči. 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 alarm prohlížeči. 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 alarm prohlížeči. 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 alarm prohlížeči. 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 alarm prohlížeči. 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 alarm prohlížeči. 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 alarm prohlížeči. 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 alarm prohlížeči. 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á ve tvaru time(YYYY.MM.DD-hh:mm:ss.mmm), např. "from:time(2018.07.28-14:30:00.000);". Časový rozsah umožňuje omezit prohledávanou část alarmů (alarmy mimo časový rozsah se netestují).
"to:xx;" (nepovinné) - Zobrazovat alarmy, jejichž čas vzniku (timeon) je menší nebo rovno času "xx". Čas se zadává ve tvaru time(YYYY.MM.DD-hh:mm:ss.mmm), např. "to:time(2018.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ý rozsah umožňuje omezit prohledávanou část alarmů (alarmy mimo časový rozsah 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ý rozsah umožňuje omezit prohledávanou část alarmů (alarmy mimo časový rozsah se netestují).

Časový rozsah lze zadat jako celé číslo následované 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č stavu může využít třídění podle libovolného sloupce vzestupně/sestupně. Prohlížeč 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č. Ú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:
JavaScriptVyber a zkopíruj do schránky

var oExtra = Pm.CreatePmMap();
oExtra.Arguments = 3.14;
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ému prohlížeči. Tato hodnota je pak dostupná:
- v události oExtra.onOpen (viz dále).
- v obraze PmaPanel pomocí vlastnosti PmgRoot.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. pokud 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čů tato hodnota nemá využití.

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

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

Tato metoda projektanta musí mít dva parametry:

- oSystem: Objekt typu PmMap. Vlastnosti tohoto objektu nastavuje systém podle toho odkud tuto akci volá. V tom případě systém nastavuje vlastnosti:
- oSystem.CloseReason: (String) Identifikátor typu zavření okna.
- Při prohlížení objektu PmaPanel se zadává při zavírání obrazu metodou PmgRoot.Close(sReason).
- Při prohlížení objektu PmForm hodnota identifikátoru zavisí na tom, jakým tlačítkem byla prohlížeč 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če.
- Při prohlížení objektu PmaPanel lze tuto hodnotu nastavit pomocí vlastnosti PmgRoot.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 metoda projektanta 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 metoda projektanta, která se vyvolá, když se obraz otevře (tzn. pokud je obraz již skutečně zobrazen a jsou v něm vytvořeny všechny grafické objekty).

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

Tato metoda projektanta musí mít dva parametry:

- oSystem: Objekt typu PmMap. Vlastnosti tohoto objektu nastavuje systém podle toho odkud tuto akci volá. V tom případě systém nastavuje vlastnosti:
- oSystem.Arguments: (Variant) Vstupní hodnota prohlížeče, 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 metoda projektanta 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 metoda projektanta, která se vyvolá, pokud se v zobrazovaném objektu změní některá položka.

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

Toto je funkční pouze pokud zobrazovaný objekt je PmForm.

Tato metoda projektanta musí mít dva parametry:

- oSystem: Objekt typu PmMap. Vlastnosti tohoto objektu nastavuje systém podle toho odkud tuto akci volá. V tom případě systém nastavuje vlastnosti:
- oSystem.ViewObject: (Object) Prohlížený objekt PmForm.
- oSystem.ItemId: (String) Typ Pmf objektu (zadává se při vytváření objektu metodou PmForm.CreateItem).
- oSystem.ChangeType: (String) Identifikátor typu změny:
- "value": Změnila se hodnota některého objektu.
- "push": Některá položka byla stištěna. Je funkční pouze pro položku typu PmfButton.
- oSystem.NewValue: (Variant) Hodnota položky po změně. Tato vlastnost je nastavená pouze pokud ChangeType="value".
- oSystem.OldValue: (Variant) Hodnota položky před změnou. Tato vlastnost je nastavená pouze pokud 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 metoda projektanta 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á.

Historie:
Pm9.00.02: Nová volba pos:screen,x,y; v konfigurátoru "sParams" umožňující absolutní pozicování okna v souřadném systému Windows.
Pm7.04.01: Vytvořeno
Navigace:
 
 
- OpenView
 
 
- SVG
© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice