#ifndef _UI_ENGINEER_SETTING_SCREEN_EVENT_H
#define _UI_ENGINEER_SETTING_SCREEN_EVENT_H
#include <ctype.h>
#include <stdbool.h>
#include <stdint.h>
#include <stdio.h>
#include <string.h>

#include "ui.h"
#ifdef __cplusplus
extern "C" {
#endif

#define F_VALUE_TYPE   (0)
#define I_VALUE_TYPE   (1)

#define DATA_TYPE   (0)
#define SWITCH_TYPE   (1)

#define ENGI_PAGE_ALL (5)

/*工程参数设置类型定义*/
typedef struct {
  lv_obj_t  **param1;
  lv_obj_t  **param2;
  lv_obj_t  **param3;
  lv_obj_t  **param4;
  lv_obj_t  **param5;
  lv_obj_t  **param6;
}engineering_param_dis_t;

/*数值对应文字显示类型*/
typedef struct
{
  int type;     //0：数值显示:1：文字显示
  

  char *assic;
}value_text_t;

/*工程参数设置类型定义*/
typedef struct engineering{
  uint8_t number;     //数据编号
  char *assic_code;   //文字显示
  uint8_t type;     //0:数值类型， 1：开关类型
  float fvalue;
  char *unit;
  bool switch_value;  //开关布尔型数据
  float min_value;    //最小值
  float max_value;    //最大值
}engineering_param_t;

void EngineerSettingInterfaceRefresh(bool all_en);

void EngineerSettingScreenLoadStartCallback(lv_event_t * e);
void EngineerSettingScreenLoadedCallback(lv_event_t * e);
void EngineerSettingScreenUnloadedCallback(lv_event_t * e);
void EngineerSettingPanelReturnPanelClickedCallback(lv_event_t * e);
void EngineerSettingPanelSegXPanelChildPanelActPanelClickedCallback(lv_event_t * e);
void EngineerSettingPanelSegXPanelChildPanelSwitchClickedCallback(lv_event_t * e);
void EngineerSettingPanelPreNextPanelClickedCallback(lv_event_t * e);

#ifdef __cplusplus
} /*extern "C"*/
#endif

#endif
