RancioLib: Difference between revisions

From ciapini
Jump to navigation Jump to search
No edit summary
Line 54: Line 54:
* http://www.spectron.us/SM6FIE/Electronics/Ms2MenuSystem/Ms2MenuSystem.php
* http://www.spectron.us/SM6FIE/Electronics/Ms2MenuSystem/Ms2MenuSystem.php
* http://www.dtweed.com/circuitcellar/caj00160.htm#2821
* http://www.dtweed.com/circuitcellar/caj00160.htm#2821
* http://mat.midlight.eu/wiki/index.php/Simple_LCD_Menu_Main_Page

Revision as of 11:11, 17 September 2013

interfaccia menu testuale minimale

Struttura

un menu e' un albero, terminato da foglie

la struttura del menu e' definita in un array di strutture:

[id]
 node_name=string // nome
 node_parent=id // id del padre

le foglie sono definite in un array di strutture:

[id]
 leaf_name=string // nome
 parent_index=id // id del padre
 type_index=id // id del tipo

i tipi dei dati sono definiti in un array di strutture:

[id]
 type=int // un tipo dati C
 min=n // valore minimo
 max=n // valore massimo
 enum=[] // valori predeterminati
 step=[] // incrementi possibili

Input

la navigazione richiede ALMENO 6 tasti:

  • UP seleziona il fratello precedente
  • DOWN seleziona il fratello sucessivo
  • LEFT decrementa il valore
  • RIGHT incrementa il valore
  • IN entra nel nodo selezionato
  • OUT entra nel padre

Output

gli elementi grafici eventualmente visualizzabili sono:

  • nome del nodo padre
  • nome del nodo fratello precedente
  • nome del nodo corrente necessario se foglia
  • nome del nodo selezionato necessario se non-foglia
  • nome del nodo fratello successivo
  • valore del nodo (se foglia) necessario

Altre lib