Promotic
WikipediaLinkedInYoutubeTwitterFacebook

Objekt PmForm (Formulář)

Popis:
Objekt představuje formulář pro zadávání hodnot.
Vlastnosti a metody:
CreateItem Vytvoří jednu položku formuláře
GetItem Vrací Pmf objekt (tzn. existující položku formuláře)
Title Zobrazovaný název formuláře v záhlaví okna
BgColor Barva pozadí okna formuláře
SysButtons Volba systémových tlačítek
Close Zavře prohlížeč formuláře
Seznam Pmf podobjektů:
PmfString Zadavatel textu
PmfNumber Zadavatel celého nebo reálného čísla
PmfBool Zadavatel boolean hodnoty (Checkbox)
PmfEnum Výběr jeden z několika (Combobox)
PmfButton Tlačítko
PmfLayout Oblast pro jiné Pmf objekty
PmfSepar Separátor (oddělovač) mezi konfigurátory
PmfObject Formální objekt - rodič všech položek formuláře
Poznámka:
- Objekt lze vytvořit pomocí metody Pm.CreatePmForm.
- Tento objekt je funkční i pro Web obrazy.
- Objekt lze použít v jazyce VBScript a JavaScript.
 
Objektem PmForm lze dynamicky (tzn. pomocí skriptu) vytvořit okno pro zadávání údajů (formulář). Každý "zadávaný údaj" zde představuje jeden Pmf objekt, neboli jednu položku formuláře.

Formulář lze vytvořit také objektem PmaPanel ale objektem PmForm lze toto provést dynamicky a jednodušeji, protože položky formuláře se automaticky pozicují a roztahují tak jak je potřeba.

V objektu PmaPanel lze použít také objekt PmForm pomocí grafického objektu PmgForm.

 
Základní oblasti, do kterých se budou Pmf objekty umísťovat:

Objekt PmForm automaticky vytvoří několik systémových objektů typu PmfLayout.

Všechny tyto objekty mají identifikátor začínající znakem $.

$main: Hlavní oblast, do které se budou implicitně vytvářet všechny Pmf objekty metodou PmForm.CreateItem. Tento PmfLayout má nastaveno "Subtype:vert", a tak všechny objekty v něm vytvořené budou umístěné vertikálně (tzn. pod sebe).
$sys: Systémová oblast (přednastaveno: vpravo od oblasti $main), která se používá ve dvou případech:
- Pokud se objekt PmForm otevírá v modálním okně, a pokud je v metodě Pm.CreatePmForm zadáno "UseSysLayout:auto;", pak se do této oblasti automaticky přidají systémová tlačítka podle nastavené vlastnosti PmForm.SysButtons.
- Pokud je v metodě Pm.CreatePmForm zadáno "UseSysLayout:yes;", pak do této oblasti může vkládat projektant vlastní Pmf objekty.
 
Postup vytvoření formuláře:
Vytvoří modální okno pro zadávání údajů
-----------
1. V jednom skriptu (např. při stisku tlačítka v události onButtonUp) se vytvoří, nastaví a otevře formulář:
JavaScriptVyber a zkopíruj do schránky

//Vytvoří objekt formuláře
var oItem;
var oForm = Pm.CreatePmForm();
oForm.Title = "Vstupní pole parametrů uskladnění balíků";

//Vytvoří položky formuláře:
oItem = oForm.CreateItem("number", "n1", "Počet balíků", "Min:0;Max:33;");
oItem.Value = 5;
oItem = oForm.CreateItem("bool", "b1", "Uskladnit");
oItem.Value = true;
oItem = oForm.CreateItem("string", "s1", "Popisek");
oItem.Value = "Balená voda";
oItem = oForm.CreateItem("enum", "e1", "Rychlost zpracování");
oItem.AddRow(0.5, "pomalu");
oItem.AddRow(9.9, "rychle");
oItem.Value = 0.5;
oItem = oForm.CreateItem("button", "reset", "Vynulovat");

//Otevře formulář v modálním okně:
var oExtra = Pm.CreatePmMap();
oExtra.ViewObject = oForm;
oExtra.onChange = Pm.CreatePmAction(1, pMe, "FormChanged");
oExtra.onClose = Pm.CreatePmAction(1, pMe, "FormClosed");
pMe.PmPanel.OpenView("/#glob/form", "target:_blank;modal:1;", "", oExtra);
2. Při zadávání hodnot do formuláře se při jakékoli změně vyvolá metoda projektanta "FormChanged" (viz oExtra.onChange). Zde lze například zjistit, že došlo ke stisknutí tlačítka "Vynulovat" a provede se vynulování všech položek.

Tato metoda projektanta se vytváří v záložce "Metody" a musí mít dva parametry: oSystem a oPrivate.

JavaScriptVyber a zkopíruj do schránky

if (oSystem.ChangeType == "push" && oSystem.ItemId == "reset")
{
var oForm = oSystem.ViewObject;
oForm.GetItem("n1").Value = 0;
oForm.GetItem("b1").Value = false;
oForm.GetItem("s1").Value = "";
oForm.GetItem("e1").Value = 0.5;
}
3. Po zadání údajů a zavření okna se vyvolá metoda projektanta "FormClosed", ve které lze zjistit všechny nastavené hodnoty.

Tato metoda projektanta se vytváří v záložce "Metody" a musí mít dva parametry: oSystem a oPrivate.

JavaScriptVyber a zkopíruj do schránky

if (oSystem.CloseReason == "ok")
{
var oForm = oSystem.ViewObject;
var val1 = oForm.GetItem("n1").Value;
var val2 = oForm.GetItem("b1").Value;
var val3 = oForm.GetItem("s1").Value;
var val4 = oForm.GetItem("e1").Value;
}

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