Sfairadora

  • Referenční příručka

Sdružené zobrazení

Sdružené zobrazení umožňuje shrnout rozsáhlejší soubor ovládacích prvků pod jedním titulkem, pomocí kterého může být v případě potřeby zobrazen. Tím se zobrazení zpřehledňuje. Sdružené zobrazení zahrnuje funkčnost, která je běžně realizována různými ovládacími prvky. Například: tlačítko zobrazující okno, položka nabídky (zobrazující vlastní okno nabídky), výběrové políčko („combo box“), titulek s rozbalovacím tlačítkem (jako v levém panelu hlavního okna dokumentu) a pod.
Pro usnadnění ovládání jsou v editoru definice sdruženého zobrazení vybrány typické případy užití sdruženého zobrazení a pro ně vytvořeny zjednodušené verze editoru definice:
Obecný případ je popsán zde. V obecném případě má sdružené zobrazení tři podřízená zobrazení:
●
Sbalené
●
Rozbalené
●
Externí
Sbalené zobrazení je základní stav sdruženého zobrazení, kdy je jeho vlastní obsah skryt a zobrazena pouze stručná souhrnná informace. Sbalené zobrazení může být provázeno titulkem, případně jím může být zcela nahrazeno. Typické sbalené zobrazení je buď pouze titulek ve formě tlačítka či titulek s rozbalovacím tlačítkem, nebo jednoduchý dispel jako např. řádkový editor zobrazující souhrnnou informaci o editovaných datech. Pokud existuje rozbalené zobrazení, je ve sbaleném zobrazení vlevo zobrazeno rozbalovací tlačítko. Dále případně následuje vlastní dispel sbaleného zobrazení, pokud je zadán a titulek s externalizačním tlačítkem. Pokud není zadán titulek, redukuje se sbalené zobrazení pouze na externalizační tlačítko.
Rozbalené zobrazení je dispel, který nahradí sbalené zobrazení na jeho místě, je-li stisknuto rozbalovací tlačítko (malé plus v rámečku vlevo od sbaleného zobrazení). Pokud se sdružené zobrazení nemá rozbalovat, zůstane nezadáno.
Externí zobrazení je dispel, který se zobrazí v okně, pokud je stisknuto externalizační tlačítko u sbaleného zobrazení. Tlačítkem je buď celý titulek sbaleného zobrazení nebo tlačítko se šipkou vpravo u sbaleného zobrazení. Je případně možné určit, že externí zobrazení a rozbalené zobrazení mají být totožná, potom lze daný dispel zobrazit buď v samostatném okně, nebo na místě sdruženého zobrazení.
Pro externí a rozbalené zobrazení lze dále určit data, která má zobrazení editovat – určí se reference na data a identifikátor, pod kterým mají být data přístupná dispelům externího a rozbaleného zobrazení. Pokud jsou takto určena editovaná data, lze zvolit, že externí zobrazení (tj. otevřené okno) bude editovat kopii dat, která bude do vlastní datové položky zapsána až při zavření okna. Pokud je okno zavřeno klávesou Esc, budou změny odstraněny a editovaná datová položka ponechána beze změny. Spolu s možností zadat funkci, která ověřuje správnost zadaných dat, tak lze zajistit, že data nebudou zapsána, pokud nejsou správná (dočasně nesprávné hodnoty budou pouze v kopii dat a nikoli ve vlastní datové položce). Přiřazení datové položky sdruženému zobrazení navíc umožňuje data vcelku kopírovat. Příslušná nastavení jsou obsažena v sekci Funkčnost popsané níže.

Funkce nastavení hodnoty

Aby bylo možné použít sdružené zobrazení k vytvoření okna rozděleného na dva panely – v levém panelu přehled položek a v pravém zobrazovat vybranou položku – má sdružené zobrazení možnost nastavit při aktivaci zvolenou datovou položku na určitou hodnotu. (Tato funkce se podobá funkci výběrového tlačítka). Nastavovaná datová položka je typicky lokální proměnná zobrazení (viz poskytovatel dat), která umožňuje předávat mezi levým a pravým panelem informaci o požadovaném zobrazení. Položky určující nastavování hodnoty jsou umístěny v oddíle Funkčnost, v části Nastavení hodnoty při aktivaci.
Konstrukce takovéhoto zobrazení potom vypadá následovně: na nejvyšší úrovni stojí poskytovatel dat, který definuje lokální proměnnou. Pod ním je opatření záhlaví, které má záhlaví zobrazováno vlevo a obsahuje seznam položek. Dispel, k němuž se záhlaví opatřuje, bude obsahovat detaily vybrané položky. Seznam položek je tvořen skupinami sdružených zobrazení, případně hierarchicky uspořádaných (k jejich vytvoření lze použít zjednodušení editor sdruženého zobrazení strom zobrazení). Každé jednotlivé sdružené zobrazení nastavuje vytvořenou lokální proměnnou na jednoznačnou hodnotu. Dispel zobrazující detaily vybrané položka je potom přepínač zobrazení, který podle hodnoty lokální proměnné přepíná vlastní zobrazení pro jednotlivé položky.

Sbalené zobrazení

Položka
Popis
Titulek
Titulek zobrazovaný, pokud je sdružené zobrazení sbalené. Nemusí být zadán – potom je ve sbaleném stavu zobrazován pouze dispel sbaleného zobrazení (viz editor dispelu níže).
Styl textu
Styl, kterým bude vykreslen text titulku. Lze vybrat základní nebo nadpis 15. Nadpis 1 je největším písmem, nadpis 5 nejmenším.
Základnímu stylu odpovídá styl zobrazení Zobrazení – tlačítko, případně Zobrazení – popisky políček, pokud je Styl titulku nastaven na popisek, jednotlivým nadpisům styly Zobrazení – nadpis X.
Styl titulku
Vzhled titulku (ve většině případů je titulek vykreslován jako tlačítko):
jednoduchý
jednoduché tlačítko jako prostý bílý obdélníček bez rámečku pouze s titulkem (vhodné pro použití v tabulkách a bílých polích). Konkrétní barva se může lišit podle nastavení Windows.
plochý v okně
tlačítko barvy pozadí okna, běžně je bez rámečku. Rámeček se nakreslí až po najetí myší nebo aktivaci (tj. „zdvihne se“). Pokud je zobrazeno v bílém poli či tabulce, má rámeček vždy.
plochý na liště
jako plochý v okně, určeno pro zobrazování v nástrojové liště.
plochý v nabídce
tlačítko vykreslované barvou pozadí okna bez rámečku. Při aktivování se změní barva pozadí (jak je běžné pro položky nabídky).
trojrozměrný
běžné trojrozměrné tlačítko.
trojrozměrný nízký
trojrozměrné tlačítko s užším rámečkem, takže vypadá nižší.
popisek
titulek bude pouhý popisek.
automaticky
styl se vybere adekvátně podle umístění sdruženého zobrazení.
Pozice dítěte
Pokud je zadán dispel (dítě) pro sbalené zobrazení, lze touto volbou určit jeho polohu vzhledem k titulku:
vlevo
dispel je vlevo od titulku.
vlevo, do bloku
dispel je vlevo od titulku. Je-li sdružené zobrazení širší, než je jeho optimální velikost, dispel bude roztažen tak, aby vyplnil přebytečnou šířku.
vpravo
dispel je vpravo od titulku.
vpravo, do bloku
dispel je vpravo od titulku. Je-li sdružené zobrazení širší, než je jeho optimální velikost, dispel bude roztažen tak, aby vyplnil přebytečnou šířku.
dole, vlevo
dispel je pod titulkem, zarovnán k levému okraji.
dole, vlevo na titulek
dispel je pod titulkem, zarovnán k levému okraji vlastního textu titulku. Tj. pokud je před titulkem zobrazeno rozbalovací tlačítko, je dispel odsazen tak, aby byl zarovnán s počátkem textu.
dole, vycentrovaný
dispel je pod titulkem, vycentrovaný na šířku sdruženého zobrazení.
dole, vycentrovaný podle titulku
dispel je pod titulkem, vycentrovaný na šířku textu titulku. Tj. případné rozbalovací tlačítko se nebere v úvahu. Pokud je dispel širší než titulek, bude vždy odsazen tak, aby byl zarovnán se začátkem textu titulku.
dole, vpravo
dispel je pod titulkem, zarovnán na pravý okraj.
dole, vpravo podle titulku
dispel je pod titulkem, zarovnán na pravý okraj. Pokud je dispel širší než titulek, bude vždy odsazen tak, aby byl zarovnán se začátkem textu titulku.
dole, do bloku
dispel je pod titulkem, roztažen na celou šířku titulku.
dole, do bloku od titulku
dispel je pod titulkem, roztažen na celou šířku titulku. Případné rozbalovací tlačítko se nebere v úvahu. Pokud je dispel širší než titulek, bude vždy odsazen tak, aby byl zarovnán se začátkem textu titulku.
automaticky
pozice dítěte se určí automaticky.
Další
Externalizér
Podoba symbolu informující uživatele o možnosti zobrazit externí zobrazení (tj. otevřít další okno s informacemi). Pokud se ručně nastaví podoba externalizéru, mělo by být zadáno externí zobrazení, jinak bude podoba sdruženého zobrazení pro uživatele matoucí.
zakázaný
funkce externalizace je zakázaná, stisknutím tlačítka se nezobrazí okno s externím zobrazením. Není zobrazován žádný symbol naznačující možnost externalizace.
prázdný
funkce externalizace je povolena, není však zobrazován žádný symbol.
šipka doprava
symbol externalizace je trojúhelníková šipka doprava (jako se používá v položkách nabídky).
šipka dolů
symbol externalizace je trojúhelníková šipka dolů (jako se používá ve výběrových tlačítcích v oknech).
mezera za šipku
mezera stejné šířky, jako by měla šipka v předchozích případech.
tři tečky
symbol externalizace jsou tři tečky.
automaticky
symbol se zvolí automaticky – není-li zadáno externí zobrazení není žádný, jinak se vybere podle umístění sdruženého zobrazení.
Ikona
Ikona zobrazovaná u titulku. Zadává se pomocí editoru ikony.
Zarovnání titulku
Pokud je sdružené zobrazení širší než je šířka titulku, určuje způsob zarovnání titulku. Možnosti jsou doleva, na střed, doprava a automaticky. Pokud je vybrána možnost automaticky, určí se zarovnání podle umístění sdruženého zobrazení.
Roztáhnout tlačítko na šířku
Pokud je možnost označena a sdružené zobrazení je širší než šířka titulku, a titulek má podobu tlačítka, roztáhne se tlačítko na celou šířku sdruženého zobrazení. Titulek se potom zarovnává v prostoru tlačítka. Pokud možnost označená není, zarovnává se celé tlačítko včetně případného rozbalovacího tlačítka.
Roztáhnout tlačítko na výšku
Pokud je možnost označena a sdružené zobrazení je vyšší než výška titulku, a titulek má podobu tlačítka, roztáhne se tlačítko na celou výšku sdruženého zobrazení.
Okraje
Okraje mezi titulkem a orámováním tlačítka.
Titulek nelze aktivovat
Pokud je možnost označena, není možné zvlášť aktivovat titulek (tlačítko titulku). Aktivovat lze pouze případný dispel sdruženého zobrazení.
Editor dispelu
Editor, kterým lze zadat definici dispelu zobrazovaného ve sbaleném stavu sdruženého zobrazení.

Rozbalené zobrazení

Položka
Popis
Dítě stejné jako externí
Pokud je možnost označena, bude rozbalené zobrazení totožné s externím. Vlastní zobrazení je zadáno níže v oddíle Externí zobrazení. Zobrazení pak bude moci být buď rozbalené nebo externí (v okně), nikoli však obojí současně.
Pozice dítěte
Viz stejnojmennou položku výše u sbaleného zobrazení.
Další
Externalizér
Podoba exteranlizéru při rozbaleném zobrazení – viz stejnojmennou položku výše u sbaleného zobrazení.
Titulek stejný jako pro sbalené
Pokud je možnost označena, bude titulek totožný jako pro sbalené zobrazení. Pokud označena není, jsou zobrazeny položky pro zadání titulku stejně jako u sbaleného zobrazení.
Editor dispelu
Editor, kterým lze zadat definici dispelu zobrazovaného v rozbaleném stavu sdruženého zobrazení. Pokud je výše označena možnost Dítě stejné jako externí, není editor přítomen.

Externí zobrazení

Položka
Popis
Styl okna
Vlastnosti okna, ve kterém má být externí zobrazení zobrazováno:
standardní
běžné okno
standardní přechodné
běžné okno, které je automaticky zavřeno, pokud je aktivováno jiné okno, nebo je v něm provedena nějaká akce (stisknuto tlačítko, zadána hodnota a pod.) – tj. chová se jako okno nabídky. U editorů lze zakázat, aby zavíraly přechodné okno označením možnosti Nezavírat přechodné okno.
nabídka
okno nabídky. Chování je stejné jako u možnosti standardní přechodné. Okno nemá titulek.
Titulek okna
Titulek okna externího zobrazení.
Editor dispelu
Editor, kterým lze zadat definici externího zobrazení. Pokud není zadáno, nelze otevřít okno externího zobrazení.

Další možnosti zobrazení

Položka
Popis
Rozbalovací tlačítko
Přepíná zobrazení rozbalovacího tlačítka. Standardní nastavení je v neutrální podobě, kdy se tlačítko zobrazuje v závislosti na tom, zda je definováno rozbalené zobrazení.
Místo pro rozbalovací tlačítko
Pokud je volba označena, bude vlevo vynecháno místo pro rozbalovací tlačítko i když není zobrazeno. Volba je užitečná pro zarovnání sdružených zobrazení s rozbalovacím tlačítkem a bez něj v jedné skupině.
Iniciálně rozbalený
Pokud je volba označena, po vytvoření instance sdruženého zobrazení bude v rozbaleném stavu. Pokud již instance existuje, přepínání této možnosti nic neovlivní.
Všechna zobrazení vždy vytvořena
Jsou vytvořeny i dispely, které zrovna nejsou zobrazeny (tj. např. externí zobrazení existuje, i když není zobrazeno v okně). Nezobrazený dispel může mít handlery na data a pod.
Vodící čáry
Pokud je více sdružených zobrazení podřízených jinému, jsou od nadřízeného k podřízeným nakresleny čáry. Tím se dosahuje efektu vykresleného stromečku jako např. v levém panelu hlavního okna dokumentu.
Prodlení při přetahování
Určuje akci, která se provede, pokud se myš při přetahování dat na chvíli zastaví nad sdruženým zobrazením:
žádná akce
neprovede se nic.
rozbalit zobrazení
provede se stejná akce, jako při klepnutí myší – rozbalí se zobrazení, je-li rozbaleno, otevře se externí zobrazení. Účelem je umožnit data přetáhnout do dispelu v rozbaleném či externím zobrazení.
nastavení hodnoty
Provede se funkce nastavení hodnoty, jak je popsána výše.
Rozbalit zobrazení
Určuje, zda se má sdružené zobrazení rozbalit jednoduchým klepnutím myši (možnost stisknutím tlačítka) nebo dvojitým poklepáním (možnost poklepáním na tlačítko). Možnost automaticky určí vhodný způsob podle povahy sdruženého zobrazení (např. pokud má funkci nastavování hodnoty a je zobrazeno v poli, uživatel očekává, že se rozbalí až dvojitým poklepáním).
Pozadí
Pozadí vykreslované na místech, kde nejsou dispely prvků. Možnosti jsou buď šedé, bílé, nebo automaticky. Konkrétní barvy závisejí na nastavení barev ve Windows. Šedá je barva podkladu okna, bílá barva podkladu polí (jako jsou buňky tabulky a pod.). Pokud je zadaná možnost automaticky, bude pozadí bílé v případech, kdy je skupina umístěna v dispelu s bílým pozadím.

Funkčnost

Položka
Popis
Název dat
Název objektu, ve kterém jsou obsažena data, která mají být přiřazena sdruženému zobrazení. Lze vybrat jeden z objektů poskytovaný nadřazenými dispely.
Reference dat
Reference na data v rámci výše identifikovaného objektu.
Název dat pro dítě
Název, pod kterým budou data přiřazená sdruženému zobrazení dostupná dispelům obsaženým v rozbaleném a externím zobrazení.
Přímá editace dat
Pokud je výše uvedenými položkami přirazena sdruženému zobrazení datová položka a tato volba není označena, edituje externí zobrazení (tj. okno otevřené sdruženým zobrazením) pouze kopii těchto dat. Data budou zapsána do příslušné datové položky až při zavření okna. Je-li navíc okno zavřeno klávesou Esc, jsou změny provedené v kopii dat odstraněny a datová položka není změněna.
Pokud je volba označena, data jsou editována přímo.
Potvrzovat vyjímání dat
Pokud je sdruženému zobrazení přiřazena nepovinná datová položka, klávesou Delete nebo odpovídajícím tlačítkem na nástrojové liště lze hodnotu vymazat. Tato volba určuje, zda se má při pokusu o vymazání hodnoty zobrazit dotaz s potvrzením.
Zákaz přetahování dat myší
Pokud je sdruženému zobrazení přiřazena datová položka, lze hodnotu kopírovat či přesouvat přetahováním myší. Označením této volby se tato funkce zakáže.
Nezavírat přechodné okno
Provedení funkce „nastavení hodnoty“ nezavře případné přechodné okno, ve kterém je položka obsažena. (Přechodné okno je okno, které se zavře provedením operace v okně – jako okno nabídky.)
Ověřovací funkce
Funkce vyvolaná při zavírání okna externího zobrazení. Funkce může zkontrolovat data editovaná oknem. Výsledkem je informace o stavu: vše v pořádku, varování, nebo chyba. Dále je možné zadat referenci na data, jichž se chyba týká a popis chyby.
Pokud je výsledný stav chyba, je zobrazeno hlášení a okno nelze zavřít, dokud chyba není napravena. Pokud je výsledný stav varování, je zobrazeno hlášení a uživatel může zvolit, zda chybu napraví, nebo zda chce okno uzavřít bez opravy. Pokud je zadána reference na data a okno se nezavírá, bude aktivován editor datové položky identifikované referencí.
Parametr funkce:
err
výstupní parametr typu Error. Ověřovací funkce může do tohoto parametr nastavit popis chyby (např.: err = error("hodnota X je příliš velká");) Popis by měl začínat malým písmenem a neměl by být ukončen tečkou – chyby mohou být vnořovány, při jejich souhrnném výpisu bude první písmeno automaticky přepnuto na velké a na konec doplněna tečka.
Kromě toho lze operátorem set_data_ref nastavit referenci dat, jichž se chyba týká. Pro řetězce lze rovněž nastavit řádek s sloupec, na němž se chyba vyskytuje. (např.: err<-set_data_ref( [Dref]"data.stáří");)
Výsledek:
jedna z konstant:
VLD_OK (0)
vše v pořádku (obsah parametru err se ignoruje).
VLD_WARNING (1)
varování. Uživateli se zobrazí hlášení nastavené do parametru err a bude moci zvolit, zda chce okno uzavřít nebo chybu opravit. Pokud zvolí druhou možnost, bude aktivován editor dat nastavených operátorem err<-set_data_ref.
VLD_ERROR (2)
data jsou chybně zadána. Uživateli je zobrazeno hlášení nastavené do parametru err. Pokud byla nastavena reference dat operátorem err<-set_data_ref, bude aktivován příslušný editor.
(V závorkách jsou pro informaci uvedeny hodnoty konstant. Měly by však být použity uvedené symbolické názvy, nikoli jejich hodnoty.)
Příklad:
if(data.x>1000)
{
err = error("hodnota x je větší než 1000");
err<-set_data_ref([Dref]"data.x");
return VLD_ERROR;
};
if(data.y>100)
{
err = error("hodnota y je větší než 100");
err<-set_data_ref([Dref]"data.y");
return VLD_WARNING;
};
return VLD_OK;
Nastavení hodnoty při aktivaci
Název dat
Název objektu, ve kterém je obsažena datová položka, jejíž hodnota má být nastavena při aktivaci/stisknutí sdruženého zobrazení. Akce, kterou je hodnota nastaven je zvolena níže položkou Nastavit hodnotu. Lze vybrat jeden z objektů poskytovaný nadřazenými dispely.
Reference dat
Reference na data v rámci výše identifikovaného objektu.
Hodnota
Hodnota, která se má nastavit. Nejprve se vybere její typ, potom je zobrazen editor pro zadání konkrétní hodnoty.
Nastavit hodnotu
Akce, při níž je výše určená hodnota nastavena:
při aktivaci opožděně
hodnota je nastavena po aktivaci sdruženého zobrazení, před vlastním nastavením je však krátká prodleva. Pokud je v této prodlevě aktivováno jiné sdružené zobrazení nastavující hodnotu téže položka, tato hodnota nebude nastavena. Tato volba je vhodná, pokud nastavení hodnoty vyvolá akci, která trvá déle, takže akce bude provedena pouze tehdy, když aktivita prodlí na jednom sdruženém zobrazení déle. Pokud uživatel pouze přejíždí po seznamu sdružených zobrazení, hodnota nastavena nebude.
při aktivaci okamžitě
hodnota je nastavena okamžitě při aktivaci.
při stisknutí
hodnota je nastavena stisknutím sdruženého zobrazení, ale nikoli po aktivování např. klávesami se šipkou. Sdružené zobrazení se pak chová obdobně jako výběrové tlačítko.
Definiční typ: Disp_folder_def