http://code.google.com/p/m2tklib/
Bei m2tklib setzt man seine Menüs / Eingabemasken aus einzelnen Elementen zusammen. Es gibt Elemente für Zahlen, Text, Auswahlboxen aber auch "Container"-Elemente die wiederum andere Elemente enthalten können. Alles wird im Flash abgelegt.
Referenz befindet sich hier: http://code.google.com/p/m2tklib/wiki/elref. Ausserdem gibt es viele Tutorials.
Datumseingabe sieht beispielsweise so aus:
/* edit date dialog */
uint8_t dt_day = 1;
uint8_t dt_month = 1;
uint8_t dt_year = 12;
void dt_ok_fn(m2_el_fnarg_p fnarg) {
m2_SetRoot(&top_el_tlsm);
}
M2_U8NUM(el_dt_day, "c2", 1,31,&dt_day);
M2_LABEL(el_dt_sep1, "", ".");
M2_U8NUM(el_dt_month, "c2", 1,12,&dt_month);
M2_LABEL(el_dt_sep2, "", ".");
M2_U8NUM(el_dt_year, "c2", 0,99,&dt_year);
M2_LIST(list_date) = { &el_dt_day, &el_dt_sep1, &el_dt_month, &el_dt_sep2, &el_dt_year };
M2_HLIST(el_date, NULL, list_date);
M2_ROOT(el_dt_cancel, NULL, "cancel", &top_el_tlsm);
M2_BUTTON(el_dt_ok, NULL, "ok", dt_ok_fn);
M2_LIST(list_dt_buttons) = {&el_dt_cancel, &el_dt_ok };
M2_HLIST(el_dt_buttons, NULL, list_dt_buttons);
M2_LIST(list_dt) = {&el_date, &el_dt_buttons };
M2_VLIST(el_top_dt, NULL, list_dt);
Oliver