Otevření prohlížeče pro výběr souboru/složky (/#glob/filepath)
Okno pro výběr souboru/složky se otevírá metodou
Pm.CreateView. V parametru
sViewPath se zadá globální cesta
"/#glob/filepath".
Tento prohlížeč
není funkční ve
Web obrazech.
Syntaxe:
JavaScriptVBScriptVyber a zkopíruj do schránky
var oCreator = Pm.CreateView(oFrom, "/#glob/filepath", sViewPars, sFramePars);
oCreator.Open();
Dim oCreator
Set oCreator = Pm.CreateView(oFrom, "/#glob/filepath", sViewPars, sFramePars)
oCreator.Open
oFrom | (Object) Objekt, který zprostředkuje otevření prohlížeče.
Objekt určuje odkud hledat cestu, vůči komu pozicovat okno, kdo bude rodičem, atd.
- Hodnota null znamená, že se použije:
- Pokud zde zadáme objekt PmgFrame (ve skriptu Pmg objektu), pak se prohlížeč otevře v tomto rámu.
- Pokud zde zadáme objekt PmaPanel (ve skriptu Pma objektu), pak se prohlížeč otevře v tomto zvoleném objektu.
Viz vlastnost PmViewCreator.From. |
sViewPars | (String) Parametry prohlížeče (liší se u jednotlivých typů prohlížečů).
Viz vlastnost PmViewCreator.View.
Údaje jsou zde ve formátu KeyVal. Například "title:App files;initValue:#app:MyApp.log;mode:1;hide:1;defaultExt:ini;".
initValue | [nepovinné] (String) Počáteční výběr souboru/složky, nejlépe v notaci PROMOTIC cesta k souborům nebo složkám. |
mode | [nepovinné] (Long) (Long) Mód výběru. Určuje, zda výsledkem bude cesta k souboru nebo složce.
1 (přednastaveno) - Výběr souboru.
2 - Výběr složky. |
roots | [nepovinné] (PmMap) Seznam nabídky počátků výběrů (root) (logických složek, fyzických disků, …) v podobě vnořené mapy (Submap). Pro snadné vytvoření/nastavení vnořené mapy (Submap) v položce jiné mapy, lze použít metodu PmMap.mapSetSubmapAt. Tato metoda zajistí, že v dané položce bude vnořená mapa a do této mapy navíc umí hromadně přidat položky z řetězce ve formátu KeyVal.
Každý počátek výběru (root) je tvořen dvojicí hodnot: popis (titleN) a hodnota (valueN), kde N je index (indexováno od 0). Popisy (titleN) jsou nepovinné. Například v originální KeyVal notaci před převedením do objektu PmMap by zápis mohl vypadat následovně: "title0:Kotel1;value0:#data:Kotel1/;title1:Kotel2;value1:#data:Kotel2/;"
Pokud není nastaveno, pak bude v nabídce jediný počátek výběru a ten se určí z hodnoty initValue.
Povolené hodnoty (valueN) počátků výběrů (root) jsou:
#xx - Počátky PROMOTIC cest, např. "value0:#pmres;value1:#appres;"
#xx:yy/zz - PROMOTIC cesty včetně podsložek, např. "value0:#pmres:Img/;value1:#appres:Img/;"
disk: - Zařízení v podobě písmen disků, např. "value0:c:;value1:d:;"
disk:yy/zz - Cesty v podobě písmen disků včetně podsložek, např. "value0:c:\Temp\;value0:d:\Data\;"
$disks - Automaticky se přidají všechna přimapovaná fyzická disková zařízení (písmena disků), např. "value0:$disks;" |
hide | [nepovinné] (Long) Umožňuje nastavit, co se má skrýt.
0 (přednastaveno) - Zobrazit vše.
1 - Skrýt podsložky.
2 - Skrýt soubory. |
existence | [nepovinné] (Long) Umožňuje nastavit, zda při výběru souboru/složky testovat na existenci/neexistenci.
0 (přednastaveno) - Netestuje se.
1 - Potvrzení, pokud vybraný soubor/složka již existuje.
10 - Vybraný soubor/složka musí existovat.
11 - Vybraný soubor/složka nesmí existovat. |
defaultExt | [nepovinné] (String) Implicitní přípona nového souboru, pokud se při výběru neuvede. Například "csv". |
filter | [nepovinné] (PmMap) Seznam zobrazovaných filtrů souborů v podobě vnořené mapy (Submap). Pro snadné vytvoření/nastavení vnořené mapy (Submap) v položce jiné mapy, lze použít metodu PmMap.mapSetSubmapAt. Tato metoda zajistí, že v dané položce bude vnořená mapa a do této mapy navíc umí hromadně přidat položky z řetězce ve formátu KeyVal.
Každý filtr je tvořen dvojicí hodnot: popis (titleN) a hodnota (valueN), kde N je index (indexováno od 0). Popisy (titleN) jsou nepovinné. Například v originální KeyVal notaci před převedením do objektu PmMap by zápis mohl vypadat následovně: "title0:Obrázky;value0:*.jpg,*.png,*.bmp;title1:Všechny soubory;value1:*.*;"
Pokud není nastaveno, pak bude v nabídce jediný filtr pro všechny soubory. |
title | [nepovinné] (String) Záhlaví okna, pokud je okno se záhlavím vůbec zobrazeno (pro target:_blank;) |
onChange | [nepovinné] (Function) Událostní funkce pro obsloužení události změny v prohlížeči.
Pro JavaScript se zde zadává function.
Pro VBScript se zde zadává objekt PmAction.
Funkce má jeden parametr ev obsahující informace o dané události.
ev.value - (String) Právě vybraná cesta k souboru/složce. |
onClose | [nepovinné] (Function) Událostní funkce pro obsloužení události zavření prohlížeče.
Pro JavaScript se zde zadává function.
Pro VBScript se zde zadává objekt PmAction.
Funkce má jeden parametr ev obsahující informace o dané události.
ev.CloseReason - (String) Identifikátor typu zavření okna.
Hodnota "ok" znamená platný výběr.
Hodnota "cancel" nebo "" znamenají zrušený výběr.
ev.ReturnValue - (String) Výsledný vybraný soubor/složka. |
---|
|
sFramePars | (String) Parametry pro rám (frame), ve kterém bude zobrazen prohlížeč.
Viz vlastnost PmViewCreator.Frame.
Údaje jsou zde ve formátu KeyVal, například "target:_blank;". |
---|
Parametry prohlížeče jsou v podobě objektu
PmMap, který je naplněn z hodnoty parametru
sViewPars (typu
KeyVal) v metodě
Pm.CreateView.
Naplněním z
KeyVal hodnoty jsou všechny parametry na počátku uložené jako řetězec. Obsah objektu
PmMap však může být libovolně měněn - položky lze přidávat, mazat nebo měnit jejich hodnotu.
Objekt
PmMap může obsahovat jiné vnořené objekty
PmMap. Ke zpřístupnění existující nebo založení nové položky typu
PmMap lze použít metodu
PmMap.mapSetSubmapAt.
Příklad1:
Výběr souboru umístěného pouze ve složce aplikace (pouze ini, log, nebo všechny soubory)
JavaScriptVyber a zkopíruj do schránky
var oCreator = Pm.CreateView(null, "/#glob/filepath", "title:App files;initValue:#app:MyApp.log;mode:1;hide:1;defaultExt:ini;", "target:_blank;modal:1;");
var oView = oCreator.View;
oView.mapSetSubmapAt("filter", "", "title0:Setting log;value0:*.ini,*.log;title1:All files;value1:*.*;");
oView.onClose = function(ev)
{
Pm.Debug("onClose ReturnValue=" + ev.ReturnValue);
};
oCreator.Open();
Příklad3:
Uložení textu do nového nebo vybraného txt souboru ve složce
Data (
#data:). Vrácená hodnota po ukončení je zpracována ve funkci
onClose.
Zpracování přepokládá, že v obrazu existuje metoda projektanta
"SaveFile", která převezme parametry a metodou
FileTextWrite soubor uloží a výsledek uložení vrací zpět.
JavaScriptVyber a zkopíruj do schránky
function onClose(ev)
{
if (ev.CloseReason == "ok")
{
var sFilePath = ev.ReturnValue;
if (sFilePath != "")
{
var sText = "Hello world!";
var bDone = pMe.PmPanel.Methods.SaveFile(sFilePath, sText);
Pm.Debug("Save text to file=" + sFilePath + " is " + bDone);
}
}
}
var oCreator = Pm.CreateView(null, "/#glob/filepath", "title:Create File;initValue:#data:;mode:1;defaultExt:txt;", "target:_blank;modal:1;");
oCreator.View.onClose = onClose;
oCreator.Open();