185 lines
4.6 KiB
C
185 lines
4.6 KiB
C
#include "include.h"
|
|
#include "func.h"
|
|
#include "func_menu.h"
|
|
#include "app_variable.h"
|
|
#if TRACE_EN
|
|
#define TRACE(...) printf(__VA_ARGS__)
|
|
#else
|
|
#define TRACE(...)
|
|
#endif
|
|
|
|
//创建主菜单窗体,创建窗体中不要使用功能结构体 func_cb.f_cb
|
|
compo_form_t *func_menu_form_create(void)
|
|
{
|
|
if(SysVariable.menu_style > MENU_STYLE_KALE)
|
|
SysVariable.menu_style = MENU_STYLE_HONEYCOMB;
|
|
|
|
printf("func_menu_form_create %d",SysVariable.menu_style);
|
|
switch (SysVariable.menu_style) {
|
|
case MENU_STYLE_HONEYCOMB:
|
|
return func_menu_sub_honeycomb_form_create();
|
|
|
|
case MENU_STYLE_WATERFALL:
|
|
return func_menu_sub_waterfall_form_create();
|
|
|
|
case MENU_STYLE_LIST:
|
|
case MENU_STYLE_CUM_FOURGRID:
|
|
return func_menu_sub_list_form_create();
|
|
|
|
#if defined(TJD_GUI_Sudoku_Show) || defined(TJD_GUI_Sudoku_hrz_Show)
|
|
case MENU_STYLE_SUDOKU:
|
|
|
|
case MENU_STYLE_SUDOKU_HRZ:
|
|
return func_menu_sub_sudoku_form_create();
|
|
#endif
|
|
|
|
case MENU_STYLE_GRID:
|
|
case MENU_STYLE_CUM_GRID:
|
|
return func_menu_sub_grid_form_create();
|
|
#if defined(TJD_GUI_Disk_Show)
|
|
case MENU_STYLE_DISK:
|
|
return func_menu_sub_disk_form_create();
|
|
#endif
|
|
|
|
case MENU_STYLE_RING:
|
|
return func_menu_sub_ring_form_create();
|
|
|
|
case MENU_STYLE_KALE:
|
|
return func_menu_sub_kale_form_create();
|
|
#if defined(TJD_GUI_Skyrer_Show)
|
|
case MENU_STYLE_SKYRER:
|
|
return func_menu_sub_skyrer_form_create();
|
|
#endif
|
|
|
|
// case MENU_STYLE_CUM_SUDOKU:
|
|
// return func_menu_sub_cum_sudoku_form_create();
|
|
|
|
// case MENU_STYLE_CUM_HEXAGON:
|
|
// return func_menu_sub_hexagon_form_create();
|
|
|
|
default:
|
|
halt(HALT_FUNC_MENU_SUBSTA);
|
|
return NULL;
|
|
}
|
|
}
|
|
|
|
//切换菜单样式
|
|
static void func_menu_switch_style(void)
|
|
{
|
|
func_cb.menu_idx = 0;
|
|
func_switching(FUNC_SWITCH_FADE_OUT | FUNC_SWITCH_AUTO, NULL);
|
|
func_cb.flag_animation = true;
|
|
SysVariable.menu_style ++;
|
|
sys_cb.motor_flag = 1;
|
|
set_func_motor(80, 2, 2, 1);
|
|
if(SysVariable.menu_style > MENU_STYLE_KALE)
|
|
SysVariable.menu_style = MENU_STYLE_HONEYCOMB;
|
|
}
|
|
|
|
//菜单样式公用消息
|
|
void func_menu_sub_message(size_msg_t msg)
|
|
{
|
|
switch (msg) {
|
|
case KU_BACK:
|
|
//不响应
|
|
break;
|
|
|
|
case KD_BACK:
|
|
if (tick_check_expire(func_cb.enter_tick, TICK_IGNORE_KEY)) {
|
|
func_menu_switch_style();
|
|
}
|
|
break;
|
|
|
|
default:
|
|
func_message(msg);
|
|
break;
|
|
}
|
|
}
|
|
|
|
//退出菜单样式
|
|
void func_menu_sub_exit(void)
|
|
{
|
|
compo_form_destroy(func_cb.frm_main);
|
|
func_free(func_cb.f_cb);
|
|
func_cb.frm_main = NULL;
|
|
func_cb.f_cb = NULL;
|
|
}
|
|
|
|
|
|
//进入主菜单功能
|
|
static void func_menu_enter(void)
|
|
{
|
|
}
|
|
|
|
//退出主菜单功能
|
|
static void func_menu_exit(void)
|
|
{
|
|
func_cb.last = FUNC_MENU;
|
|
}
|
|
|
|
//主菜单功能
|
|
void func_menu(void)
|
|
{
|
|
printf("%s\n", __func__);
|
|
func_menu_enter();
|
|
|
|
if(SysVariable.menu_style > MENU_STYLE_KALE)
|
|
SysVariable.menu_style = MENU_STYLE_HONEYCOMB;
|
|
|
|
while (func_cb.sta == FUNC_MENU) {
|
|
switch (SysVariable.menu_style) {
|
|
case MENU_STYLE_HONEYCOMB:
|
|
func_menu_sub_honeycomb();
|
|
break;
|
|
|
|
case MENU_STYLE_WATERFALL:
|
|
func_menu_sub_waterfall();
|
|
break;
|
|
|
|
case MENU_STYLE_LIST:
|
|
case MENU_STYLE_CUM_FOURGRID:
|
|
func_menu_sub_list();
|
|
break;
|
|
#if defined(TJD_GUI_Sudoku_Show) || defined(TJD_GUI_Sudoku_hrz_Show)
|
|
case MENU_STYLE_SUDOKU:
|
|
case MENU_STYLE_SUDOKU_HRZ:
|
|
func_menu_sub_sudoku();
|
|
break;
|
|
#endif
|
|
case MENU_STYLE_GRID:
|
|
case MENU_STYLE_CUM_GRID:
|
|
func_menu_sub_grid();
|
|
break;
|
|
#if defined(TJD_GUI_Disk_Show)
|
|
case MENU_STYLE_DISK:
|
|
func_menu_sub_disk();
|
|
break;
|
|
#endif
|
|
case MENU_STYLE_RING:
|
|
func_menu_sub_ring();
|
|
break;
|
|
|
|
case MENU_STYLE_KALE:
|
|
func_menu_sub_kale();
|
|
break;
|
|
#if defined(TJD_GUI_Skyrer_Show)
|
|
case MENU_STYLE_SKYRER:
|
|
func_menu_sub_skyrer();
|
|
break;
|
|
#endif
|
|
// case MENU_STYLE_CUM_SUDOKU:
|
|
// func_menu_sub_cum_sudoku();
|
|
// break;
|
|
|
|
// case MENU_STYLE_CUM_HEXAGON:
|
|
// func_menu_sub_hexagon();
|
|
// break;
|
|
|
|
default:
|
|
halt(HALT_FUNC_MENU_SUBSTA);
|
|
break;
|
|
}
|
|
}
|
|
func_menu_exit();
|
|
}
|