uiEntry.h 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. #ifndef __UI__H_
  2. #define __UI__H_
  3. #include "gui.h"
  4. typedef enum{
  5. UIS_NULL,
  6. UIS_STANDBY, //0:待机界面
  7. UIS_MENU_MAIN, //1:主菜单
  8. UIS_MENU_GROUP_SEL, //1.1:群组选择菜单
  9. UIS_MENU_USER_SEL, //1.2:成员选择菜单
  10. UIS_MENU_MAIL_SEL, //1.3:文本消息菜单
  11. UIS_MENU_SYS_SEL, //1.4:系统设置菜单
  12. UIS_MENU_LOCATION_SEL, //1.5:定位设置菜单
  13. UIS_MENU_INFO_SEL, //1.6:终端信息菜单
  14. UIS_MENU_MAIL_READ, //1.3.1:文本消息读
  15. UIS_MENU_MAIL_OPTION, //1.3.2:文本消息选项
  16. UIS_MENU_MAIL_DEL, //1.3.3:文本删除
  17. UIS_MENU_MAIL_FORMAT, //1.3.4:文本格式化
  18. UIS_MENU_SYS_LCD, //1.4.1:系统设置LCD
  19. UIS_MENU_SYS_NET, //1.4.2:系统设置网络
  20. UIS_MENU_SYS_SIM, //1.4.3:系统设置SIM
  21. UIS_MENU_SYS_PWR, //1.4.4:系统设置功耗
  22. UIS_MENU_SYS_SERVERPASS,//1.4.5:系统设置服务器(先输入密码)
  23. UIS_MENU_SYS_VERSION, //1.4.6:系统设置版本
  24. UIS_MENU_SYS_NOTE, //1.4.7:系统设置提示音
  25. UIS_MENU_SYS_CSQ,
  26. UIS_MENU_SYS_MIC,
  27. UIS_MENU_SYS_SPK,
  28. UIS_MENU_SYS_FONT,
  29. UIS_MENU_SYS_LOCK,
  30. UIS_MENU_SYS_SERVER, //1.4.5.1:服务器设置
  31. UIS_MENU_SYS_FACTORY,
  32. UIS_MENU_SHUT_PWR,
  33. #ifdef ENABLE_DEBUG
  34. UIS_DEBUG
  35. #endif
  36. }UIS_ENUM;
  37. #pragma pack(push)
  38. #pragma pack(1)
  39. typedef struct{
  40. unsigned char sta[4];
  41. unsigned char ok_back;
  42. short top;
  43. unsigned char FastUiChange;
  44. unsigned char esc;//记录ESC键是否按下
  45. }UI_STACKDEF;
  46. typedef struct{
  47. unsigned char Status;
  48. unsigned char LastStatus;
  49. unsigned char NextStatus;
  50. unsigned char ItemRefresh;
  51. }UI_STATUSDEF;
  52. #pragma pack(pop)
  53. extern UI_STATUSDEF sutUIstatus;
  54. extern UI_STACKDEF uiStack;
  55. //状态栏高度及所在行
  56. #define UI_STATUS_BAR_Y 0
  57. #define UI_STATUS_BAR_HEIGH 25//
  58. //对讲标语显示栏高度及所在行
  59. #define UI_STATUS_ITEM_Y UI_STATUS_BAR_HEIGH //24
  60. #define UI_STATUS_ITEM_HEIGH 25 //
  61. //底部信标
  62. #define UI_LOCATION_HEIGH 24//
  63. #define UI_LOCATION_SHOW_Y (GLCD_HEIGHT-UI_LOCATION_HEIGH-2)//214
  64. //底部按键栏高度及所在行
  65. #define UI_BOTTOM_BUTTON_HEIGH 24//
  66. #define UI_BOTTOM_SHOW_Y (UI_LOCATION_SHOW_Y-UI_LOCATION_HEIGH)//214
  67. //对讲状态显示区高度及所在行
  68. #define UI_CONTENT_SHOW_Y (UI_STATUS_ITEM_Y+UI_STATUS_ITEM_HEIGH) //49
  69. #define UI_CONTENT_HEIGHT (GLCD_HEIGHT-UI_STATUS_BAR_HEIGH-UI_STATUS_ITEM_HEIGH-UI_BOTTOM_BUTTON_HEIGH)
  70. //正在登录信息显示所在的
  71. #define UI_LOGIN_SHOW_Y (UI_STATUS_BAR_HEIGH+UI_STATUS_ITEM_HEIGH+2) //51
  72. //群组信息显示所在的
  73. #define UI_LEARN_SHOW_Y (UI_STATUS_BAR_HEIGH+UI_STATUS_ITEM_HEIGH+5) //54
  74. //学习组信息显示所在
  75. #define UI_GROUP_SHOW_Y (UI_LOGIN_SHOW_Y+4)//(UI_LEARN_SHOW_Y+2+16) //55
  76. //成员信息显示所在的
  77. #define UI_USER_SHOW_Y (UI_GROUP_SHOW_Y+4+24) //79
  78. //话权信息显示所在的
  79. #define UI_VOICE_SHOW_Y (UI_USER_SHOW_Y+4+24) //107
  80. //菜单中在最下面显示状态信息前显示
  81. #define UI_BOTTOM_LINE_Y UI_BOTTOM_SHOW_Y
  82. //菜单中在最下面显示状态信息所在的
  83. #define UI_NOTE_LOCATION_Y (UI_BOTTOM_LINE_Y)
  84. UI_STACKDEF *getStackStruct(void);
  85. void uiLoop(unsigned int exeInterval);
  86. void uiResponse(unsigned int exeInterval);
  87. void uISetNextStatus(unsigned char status);
  88. void uiDataInit(void);
  89. short uiPushStack(unsigned char data);
  90. short uiPullStack(void);
  91. void uiMenuShowBottomLine(void);
  92. void uiMenuShowBottomIndacitor(const char *infoLF, const char *infoRI);
  93. void uiTimeOutToStandby(char status, unsigned int timeinterval);
  94. #endif