Open GoogleCodeExporter opened 8 years ago
demonstrate how to reuse parts of the menues /*--- variables to store user input ---*/ uint8_t sisu_w; uint8_t sisu_x; uint8_t sisu_y; uint8_t sisu_z; /*--- forward declaration of the top menu */ M2_EXTERN_ALIGN(top_el_sisu); /*--- labels end entry fields for user input ---*/ /*--- w ---*/ M2_LABEL(el_sisu_label_w, NULL, "w:"); M2_U8NUM(el_sisu_field_w, "c2", 0,99,&sisu_w); /*--- x ---*/ M2_LABEL(el_sisu_label_x, NULL, "x:"); M2_U8NUM(el_sisu_field_x, "c2", 0,99,&sisu_x); /*--- y ---*/ M2_LABEL(el_sisu_label_y, NULL, "y:"); M2_U8NUM(el_sisu_field_y, "c2", 0,99,&sisu_y); /*--- z ---*/ M2_LABEL(el_sisu_label_z, NULL, "z:"); M2_U8NUM(el_sisu_field_z, "c2", 0,99,&sisu_z); /*--- global buttons ---*/ M2_ROOT(el_sisu_cancel, "f4", "Cancel", &top_el_sisu); /*--- submenu: w, y, z ---*/ void fn_sisu_b1(m2_el_fnarg_p fnarg) { sisu_x = 0; // default value for "w" // process values here m2_SetRoot(&top_el_sisu); } M2_BUTTON(el_sisu_b1, "f4", " ok ", fn_sisu_b1); M2_LIST(list_sisu_m1) = { &el_sisu_label_w, &el_sisu_field_w, &el_sisu_label_y, &el_sisu_field_y, &el_sisu_label_z, &el_sisu_field_z, &el_sisu_cancel, &el_sisu_b1 }; M2_GRIDLIST(el_sisu_grid_m1, "c2",list_sisu_m1); M2_ALIGN(top_el_sisu_m1, "W64H64", &el_sisu_grid_m1); /*--- submenu: x, y, z ---*/ void fn_sisu_b2(m2_el_fnarg_p fnarg) { sisu_w = 0; // default value for "w" // process values here m2_SetRoot(&top_el_sisu); } M2_BUTTON(el_sisu_b2, "f4", " ok ", fn_sisu_b2); M2_LIST(list_sisu_m2) = { &el_sisu_label_x, &el_sisu_field_x, &el_sisu_label_y, &el_sisu_field_y, &el_sisu_label_z, &el_sisu_field_z, &el_sisu_cancel, &el_sisu_b2 }; M2_GRIDLIST(el_sisu_grid_m2, "c2",list_sisu_m2); M2_ALIGN(top_el_sisu_m2, "W64H64", &el_sisu_grid_m2); /*--- submenu: w, x, y, z ---*/ void fn_sisu_b3(m2_el_fnarg_p fnarg) { sisu_z = 0; // default value for "z" // process values here m2_SetRoot(&top_el_sisu); } M2_BUTTON(el_sisu_b3, "f4", " ok ", fn_sisu_b3); M2_LIST(list_sisu_m3) = { &el_sisu_label_w, &el_sisu_field_w, &el_sisu_label_x, &el_sisu_field_x, &el_sisu_label_y, &el_sisu_field_y, &el_sisu_cancel, &el_sisu_b3 }; M2_GRIDLIST(el_sisu_grid_m3, "c2",list_sisu_m3); M2_ALIGN(top_el_sisu_m3, "W64H64", &el_sisu_grid_m3); /*--- main menu ---*/ M2_ROOT(el_sisu_c1, "f4", "Menu 1", &top_el_sisu_m1); M2_ROOT(el_sisu_c2, "f4", "Menu 2", &top_el_sisu_m2); M2_ROOT(el_sisu_c3, "f4", "Menu 3", &top_el_sisu_m3); M2_LIST(list_sisu) = { &el_sisu_c1, &el_sisu_c2, &el_sisu_c3}; M2_VLIST(el_sisu_vl, NULL, list_sisu); M2_ALIGN(top_el_sisu, "W64H64", &el_sisu_vl);
Original issue reported on code.google.com by olikr...@gmail.com on 26 Dec 2012 at 5:04
olikr...@gmail.com
Original comment by olikr...@gmail.com on 26 Dec 2012 at 5:04
Original comment by olikr...@gmail.com on 24 Mar 2013 at 9:14
Original issue reported on code.google.com by
olikr...@gmail.com
on 26 Dec 2012 at 5:04