m2tklib
m2tklib copied to clipboard
code example for reuse
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 [email protected]
on 26 Dec 2012 at 5:04
Original comment by [email protected]
on 26 Dec 2012 at 5:04
- Added labels: Type-Enhancement
- Removed labels: Type-Defect
Original comment by [email protected]
on 24 Mar 2013 at 9:14
- Added labels: Milestone-Future
- Removed labels: Milestone-1.10