Klávesové zkratky na tomto webu - základní
Přeskočit hlavičku portálu

Programování pro PalmOS počítače krok za krokem (53)

aktualizováno 
V tomto dílu si povíme o uživatelské nabídce (menu) a připomeneme si její definici v souboru prostředků aplikace.

4.21. Uživatelská nabídka (menu)

Vlevo dole u plochy pro zápis graffiti je na počítačích Palm Pilot a kompatibilních umístěné tlačítko sloužící k vyvolání uživatelské nabídky. Příklad uživatelské nabídky v programu MemoPad je na obrázku:

Dále budeme pro uživatelskou nabídku používat termín menu, podobně jako v angličtině. Uspořádání menu a jeho definice v souboru prostředků aplikace je podrobně popisováno ve druhé kapitole. Na tomto místě jen připomeneme, že menu je uspořádáno do jednotlivých karet. Každá karta má své jméno a obsahuje seznam příkazů. Vpravo vedle jména příkazu může být uvedena klávesová zkratka. Mezi příkazy menu mohou být vloženy oddělovače, které logicky seskupují příkazy menu patřící k sobě.

Po vyvolání menu na displeji může uživatel vybrat některý z příkazů na jedné z karet menu. Dotkne-li se displeje nebo plochy pro zápis graffiti kdekoliv jinde, PalmOS menu zruší a obnoví zobrazení formuláře.

Definice menu

Menu definujeme v souboru prostředků aplikace. Podrobnosti definice uživatelské nabídky jsou vysvětleny ve druhé kapitole. Příklad definice menu je uveden v následujícím rámečku:

MENU ID MenuHlavni 
BEGIN
      PULLDOWN "Program"
      BEGIN
        MENUITEM "Tabulka" ID menuPrikazTabulka
        MENUITEM "O Programu" ID menuPrikazOProgramu
      END	  

      PULLDOWN "Edit"
      BEGIN
        MENUITEM "Vyrizni" ID menuPrikazVyrizni "X"
        MENUITEM "Kopiruj" ID menuPrikazKopiruj "C"
        MENUITEM "Vloz" ID menuPrikazVloz "P"
        MENUITEM "Vyber vse" ID menuPrikazVyberVse "P"
        MENUITEM SEPARATOR
        MENUITEM "Klavesnice" ID menuPrikazKlavesnice "K"
        MENUITEM "Graffiti" ID menuPrikazGraffiti "G"
      END	  
END

Příkazem MENUID v definici formuláře připojíme k formuláři uživatelskou nabídku. Jedno menu může být použito ve více formulářích. I když jednoznačný identifikátor menu v naší aplikaci nepoužijeme, musíme příslušnou konstantu definovat ve hlavičkovém souboru.

Každý příkaz menu obsahuje svůj identifikátor (za ID). Hodnota identifikátoru je vrácena naší aplikaci, když uživatel zvolí příslušný příkaz menu nebo klávesovou zkratku. Tento identifikátor nemusí být jednoznačný - příkaz "Vyřízni" u všech uživatelských nabídek v programu může mít identifikátor menuPrikazVyrizni.

Menu a zkrácené příkazy

Ke každé položce menu může být přiřazen zkrácený příkaz. Zkrácené příkazy vyvoláme tahem graffiti , za kterým následuje jedno písmeno nebo číslice.

Pro programátora jsou zkrácené příkazy zajímavé hlavně tím, že se jimi nemusí zabývat. Operační systém PalmOS, který řídí zobrazování menu na displeji a reaguje na akce uživatele, zpracuje zkrácený příkaz sám. Pokud uživatel zvolí zkrácený příkaz, je vyvolána událost menuEvent úplně stejně, jako když zvolí příslušný příkaz z uživatelské nabídky. Také to znamená, že nemohou být definovány jiné zkrácené příkazy než ty, které jsou spojeny s příkazy menu.

4.22. Událost menu

Poté, co uživatel zvolí příkaz menu, zašle operační systém naší aplikaci zprávu menuEvent. Zprávu menuEvent budeme většinou zpracovávat ve funkci formuláře, ke kterému je menu připojeno.

menuEvent
EventType* event;
UInt16 event->data.menu.itemID
Jednoznačná identifikace položky menu, která byla zvolena. Byl-li zadán zkrácený příkaz, obsahuje tento prvek jednoznačnou identifikaci položky menu, ke které zkrácený příkaz patří.

Na příkladu zprávy menuEvent si můžeme ukázat, že řada zpráv koluje v operačním systému PalmOS nezávisle na naší aplikaci. Dotkne-li se uživatel tlačítka pro vyvolání uživatelské nabídky, vytvoří PalmOS zprávu keyDownEvent. Parametrem této zprávy je virtuální znak vcharMenu.

Pokud naše aplikace tuto zprávu ignoruje, zpracuje ji operační systém PalmOS v následujícím kole sám. Zobrazí na displeji uživatelskou nabídku. Dotkne-li se uživatel při zobrazení uživatelské nabídky perem displeje, nejsou naší aplikaci zasílány žádné zprávy. Naše aplikace se dozví až to, že byla nějaká položka menu vybrána; v tomto případě zašle operační systém zprávu menuEvent.

Zpráva menuEvent je naší aplikaci zaslána i při volbě zkráceným příkazem. Pokud žádná položka uživatelské nabídky nebyla vybrána, operační systém nezašle naší aplikaci žádnou zprávu - tedy ani ji neinformuje o zrušené volbě.


Příště si povíme něco o tom, jak aplikace zpracovává zprávy zasílané operačním systémem PalmOS při výběru z menu. Navrhneme také a vyzkoušíme uživatelskou nabídku pro naši aplikaci.




Nejčtenější

Berte, dokud je. Mobil pro fajnšmekry po neúspěchu drasticky zlevnil

Essential PH-1

Keramické tělo, jeden z nejmodernějších procesorů, 128 GB vnitřní paměti a velký displej s tenkými rámečky a...

Konkurenci poprvé ukazuje záda, Huawei P20 Pro je nejlepší smartphone

Huawei P20 Pro

Čínský Huawei si dal letos na nových modelech řady P20 opravdu záležet. Model P20 Pro chce být tím nejlepším...



Američtí teenageři se mohou z iPhonů zbláznit. A zájem roste

iPhone 8 Plus v Drážďanech

Ve Spojených státech je mezi mladými uživateli smartphonů enormní zájem o iPhony - v současnosti je vlastní 82 procent...

Berte telefon jako kreditní kartu, radil odborník v Rozstřelu o podvodném volání

Redaktor Mobil.iDNES.cz Jan Matura (vlevo) a mluvčí Českého telekomunikačního...

V posledních dnech se opět ozvali podvodníci, kteří se snaží vydělat na snadné záměně telefonních čísel. Prozvoní vás z...

Revoluce v mobilním focení? Umí nasadit profi objektiv na smartphony

S adaptérem můžete na mobil nasadit i profesionální objektivy

Na výstavě americké Národní asociace provozovatelů vysílání v Las Vegas byl ukázán zajímavý doplněk k mobilům pro...

Další z rubriky

Google loni zlikvidoval 700 tisíc aplikací

Mobilní aplikace

Z aplikačního obchodu Google Play bylo loni odstraněno 700 tisíc aplikací, většina zmizela prakticky ihned po umístění...

Na dovolené se můžete seznámit i nespálit

Ilustrační snímek

Na dovolenou si bereme kde co, ovšem počítač/notebook často zůstává doma. Ten je na jedné straně prostředkem k...

Záchranku volejte přes aplikaci. Pomoc je rychlejší než při volání na 155

Simulovaná dopravní nehoda jako praktická ukázka fungování mobilní aplikace...

„Záchranná služba, tísňová linka, dobrý den,“ ohlašuje se operátorka volajícímu, který se stal svědkem dopravní nehody....



Najdete na iDNES.cz