Uživatelské nástroje

Nástroje pro tento web


pitel:isz:ui

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.


pitel:isz:ui [30. 12. 2022, 13.43:01] (aktuální) – vytvořeno - upraveno mimo DokuWiki 127.0.0.1
Řádek 1: Řádek 1:
 +====== Principy grafických uživatelských rozhraní ======
 +Materiály:
 +01_itu_introduction (téměř celé),
 +03_itu_dialog (okrajově)
  
 +===== Komunikační kanály =====
 +Komunikačními kanály jsou způsoby komunikace člověka a stroje. Takže vlastně všechny možné periferní zařízení. Obrazovka, klávesnice, myš, tiskárna, reproduktory... Všechny jsou založené na lidských smyslech -- zrak, hmat, sluch, chuť a čich (ty poslední dva zatím nenašly uplatnění).
 +
 +FIXME Co víc k tomu říct?
 +
 +===== Mody komunikace =====
 +Jsou dva základní typ módů komunikace PC--uživatel:
 +  * Aktivní: uživatel určuje aktivně práci počítače
 +  * Pasivní: počítač v klíčových momentech vznese dotaz a uživatel odpovídá
 +
 +Mód komunikačního rozhraní je tedy stav, kdy počítač reaguje jedinečným způsobem na vstupy od uživatele. Střídání více módů je obvykle nepřehledné, proto by se každá aplikace měla snažit módy příliš často aktivně neměnit.
 +
 +==== Aktivní komunikace ====
 +Rozhraní používající aktivní komunikaci je například panel nástrojů v malování. Uživatel sám vybírá nástroj když se mu chce a pak následně uživatel sám určuje, kam se bude kreslit. Práce v příkazové řádce je aktivní: uživatel se rozhoduje, co napíše, jakou dávku spustí.
 +
 +==== Pasivní komunikace ====
 +Pasivní komunikací se myslí stav, kdy počítač vznese dotaz a uživatel na něj odpovídá. Toho lze v GUI dosáhnout například dialogovými boxy.
 +
 +Dialogové boxy se dělí na
 +  * modální (modal) -- prioritní v aplikaci, uživatel musí odpovědět než může pokračovat v práci
 +  * nemodální (non-modal) -- neprioritní, uživatel může pokračovat v práci a na dialog odpovědět později
 +  * systémově modální (system-modal) -- mají prioritu nad aplikacemi (např. ve woknech "vypnout" otevře systémově modální dialog)
 +
 +Jak se implementuje modalita?
 +  * Při "spuštění" "modálního" boxu se modality dosahuje tím, že se zabrání průchodu zpráv od uživatele do "níže položených oken" v hierarchii oken. Pro přehlednost někdy zbytek aplikace "zašedne".
 +
 +U příkazové řádky je ukázkou pasivní komunikace například dotaz "opravdu si přejete smazat soubor? Y/N".
 +
 +===== Systémy řízené událostmi =====
 +[[wp>Event-driven programming]]
 +
 +Je to v podstatě základní princip práce s GUI. Obecně jde o to, že je tok programu řízen různými událostmi (vstupy ze senzorů, kliknutí myší, tisknutí klávesy). V programu existuje nějaký naslouchač (listener, nekonečná smyčka), který čeká na přijmutí události. Po jejím přijmutí provede nějakou akci. U hardwaru je obdobně funguje systém přerušení. 
 +
 +===== Standardní prvky rozhraní =====
 +[[wp>GUI widget|{{ http://upload.wikimedia.org/wikipedia/commons/d/d5/Widgets.png |Standardní prvky rozhraní}}]]
 +
 +Okna, dialogboxy a dialogy
 +
 +Dialogový box "je stavebnice"
 +  * Obsahuje stavební prvky
 +  * Prvky jsou vesměs okny
 +  * Někdy nejsou okny
 +
 +Typy prvků
 +  * Tlačítko (button)
 +  * Nápis a editační řádek (label, edit box)
 +  * Rádiová tlačítka (radio button(s))
 +  * Zatrhávátko (check box)
 +  * Seznam (list box)
 +  * Seznam s řádkem (combo box)