Skip to content

panelServer menu

Jan Horacek edited this page Aug 5, 2020 · 9 revisions

Server může kdykoliv panelu poslat požadavek na zobrazení menu, panel by toto menu měl zobrazit a umožnit uživateli kliknout na libovolnou položku.

Pokud uživatel zavře menu, panel posílá příkaz ESCAPE.

Specifikace položek menu

Celé menu je jeden string obsahující texty jednotlivých řádků menu oddělené znakem , (čárka).

Je-li položka - (spojovník), značí to oddělovač.

Položka menu může začínat speciálními znaky:

  1. # značí řádek, který je neaktivní,
  2. $ značí řádek, který je nadpis (vycentrovaný),
  3. ! značí řádek, který je červeně zvýrazněn (riziková operace),
  4. * značí řádek, který je diagnostický (zvýrazněn).

Příklad menu:

$Klb UV1,-,STIT,VYL

Příkazy server → klient

-;MENU;specifikace menu

  • Požadavek na zobrazení menu dispečerovi.

Příkazy klient → server

-;MENUCLICK;text;index

  • Uživatel klikl na položku s textem text na indexu index v menu. Položka je uváděna bez speciálních uvozujících znaků. Index je počítán od nuly na základě seznamu položek odeslaných serverem k zobrazení.

Menu dopravní kanceláře

Menu dopravní kanceláře si většinově zobrazuje panel bez nutnosti tázaní se serveru. Na některé položky se však serveru ptá. Jedná se výhradně o menu druhého stupně zanoření dostupná pod jmény OSV a LOKO.

V případě kliku na OSV, LOKO, NUZ>, NUZ< v menu prvního stupně panel vyšle příkaz or_id;MENUCLICK;[OSV,LOKO]; a vyčká na odpověď serveru. Server může chtít zobrazit menu speciálním příkazem or_id;MENU;[OSV,LOKO];specifikace menu. Specifikace menu u položky LOKO neobsahuje volby, které obsluhuje klient, a neobsahuje záhlaví. Klient si tyto volby přidává do menu sám. Po kliku klient odpovídá or_id;MENUCLICK;[OSV,LOKO];text;index.