Files
MKS-TFT35-Firmware/User/ui/draw_FileTransfer_ui.cpp
2020-03-19 13:32:54 +08:00

279 lines
5.5 KiB
C++

#include "gui.h"
#include "button.h"
#include "PROGBAR.h"
#include "draw_ui.h"
#include "fontLib.h"
#include "LISTBOX.h"
#include "text.h"
#include "draw_FileTransfer_ui.h"
#include "draw_ready_print.h"
#ifndef GUI_FLASH
#define GUI_FLASH
#endif
extern uint8_t WifiFileProcess;
extern uint32_t WifiFileUnzipSize;
static GUI_HWIN hFileTransferWnd;
static PROGBAR_Handle fileTransferBar;
static GUI_HWIN hWifiFileDlgWnd;
static TEXT_Handle WifiFilestateDlgText,FileTransferText;
static BUTTON_STRUCT buttonReturn;
extern uint8_t Get_Temperature_Flg;
static void cbWifiFileDlgWin(WM_MESSAGE * pMsg) {
switch (pMsg->MsgId)
{
case WM_PAINT:
//GUI_SetBkColor(GUI_BLUE);
//GUI_Clear();
//GUI_DispString("window");
break;
case WM_TOUCH:
break;
case WM_TOUCH_CHILD:
break;
case WM_NOTIFY_PARENT:
if(pMsg->Data.v == WM_NOTIFICATION_RELEASED)
{
if(pMsg->hWinSrc == buttonReturn.btnHandle)
{
Clear_WifiFileTransferdialog();
Get_Temperature_Flg = 0;
draw_ready_print();
}
}
break;
default:
WM_DefaultProc(pMsg);
}
}
void draw_dialog_filetransfer(uint8_t WifiTransferDialogType)
{
int i;
if(disp_state_stack._disp_state[disp_state_stack._disp_index] != FILETRANSFERSTATE_UI)
{
disp_state_stack._disp_index++;
disp_state_stack._disp_state[disp_state_stack._disp_index] = FILETRANSFERSTATE_UI;
}
disp_state = FILETRANSFERSTATE_UI;
GUI_SetBkColor(gCfgItems.background_color);
GUI_SetColor(gCfgItems.title_color);
GUI_Clear();
GUI_SetFont(&FONT_TITLE);
if(gCfgItems.language == LANG_ENGLISH)
{
if(WifiTransferDialogType == 0)
{
GUI_DispStringAt("file transfer fail!", 80, titleHeight + 75);
}
else if(WifiTransferDialogType == 1)
{
GUI_DispStringAt("file transfer success!", 80, titleHeight + 75);
}
else if(WifiTransferDialogType == 2)
{
GUI_DispStringAt("please check \nwether memory device insert!", 40, titleHeight + 70);
}
}
else
{
if(WifiTransferDialogType == 0)
{
GUI_DispStringAt("文件传输失败!", 80, titleHeight + 75);
}
else if(WifiTransferDialogType == 1)
{
GUI_DispStringAt("文件传输成功!", 80, titleHeight + 75);
}
else if(WifiTransferDialogType == 2)
{
GUI_DispStringAt("请检查是否插入存储设备!", 40, titleHeight + 75);
}
}
GUI_SetFont(&FONT_TITLE);
hWifiFileDlgWnd = WM_CreateWindow(LCD_WIDTH * 3 / 4 , titleHeight + imgHeight / 2, LCD_WIDTH / 4 - 1, imgHeight / 2 - 1, WM_CF_SHOW, cbWifiFileDlgWin, 0);
BUTTON_SetDefaultTextAlign(GUI_TA_VCENTER | GUI_TA_HCENTER);
BUTTON_SetDefaultFont(&FONT_BUTTON);
buttonReturn.btnHandle = BUTTON_CreateEx(0 , 0, LCD_WIDTH / 4 - 2, imgHeight / 2 - 1, hWifiFileDlgWnd, BUTTON_CF_SHOW, 0, alloc_win_id());
TEXT_SetDefaultFont(&FONT_STATE_INF);
if(gCfgItems.language == LANG_ENGLISH)
{
BUTTON_SetText(buttonReturn.btnHandle, "Back");
}
else
{
BUTTON_SetText(buttonReturn.btnHandle, "返回\n");
}
BUTTON_SetBkColor(buttonReturn.btnHandle, BUTTON_CI_UNPRESSED, gCfgItems.background_color);
BUTTON_SetBkColor(buttonReturn.btnHandle, BUTTON_CI_PRESSED, gCfgItems.background_color);
//GUI_Exec();
}
void Clear_WifiFileTransferdialog()
{
GUI_SetBkColor(gCfgItems.background_color);
if(WM_IsWindow(hWifiFileDlgWnd))
{
WM_DeleteWindow(hWifiFileDlgWnd);
//GUI_Exec();
}
//GUI_Clear();
}
static void cbFileTransferWin(WM_MESSAGE * pMsg) {
struct PressEvt *press_event;
switch (pMsg->MsgId)
{
case WM_PAINT:
break;
case WM_TOUCH:
press_event = (struct PressEvt *)pMsg->Data.p;
break;
case WM_TOUCH_CHILD:
press_event = (struct PressEvt *)pMsg->Data.p;
break;
case WM_NOTIFY_PARENT:
break;
default:
WM_DefaultProc(pMsg);
}
}
void draw_filetansfer(uint8_t file_unzip_flg)
{
int8_t buf[50] = {0};
int i;
if(disp_state_stack._disp_state[disp_state_stack._disp_index] != FILETRANSFER_UI)
{
disp_state_stack._disp_index++;
disp_state_stack._disp_state[disp_state_stack._disp_index] = FILETRANSFER_UI;
}
disp_state = FILETRANSFER_UI;
GUI_SetBkColor(gCfgItems.background_color);
GUI_SetColor(gCfgItems.title_color);
GUI_Clear();
GUI_SetFont(&FONT_TITLE);
hFileTransferWnd = WM_CreateWindow(0, 0, LCD_WIDTH, LCD_HEIGHT, WM_CF_SHOW, cbFileTransferWin, 0);
FileTransferText = TEXT_CreateEx(0,120, LCD_WIDTH, 30, hFileTransferWnd, WM_CF_SHOW, TEXT_CF_LEFT, alloc_win_id(), "");
TEXT_SetBkColor(FileTransferText, gCfgItems.background_color);
#if 1
if(gCfgItems.fileSysType == FILE_SYS_SD)
{
if(gCfgItems.language == LANG_ENGLISH)
{
TEXT_SetText(FileTransferText,"Recieving file");
}
else
{
TEXT_SetText(FileTransferText,"接收文件中");
}
}
else if(gCfgItems.fileSysType == FILE_SYS_USB)
{
if(gCfgItems.language == LANG_ENGLISH)
{
if(file_unzip_flg == 1)
{
TEXT_SetText(FileTransferText,"unziping file");
}
else
{
TEXT_SetText(FileTransferText,"Recieving file");
}
}
else
{
if(file_unzip_flg == 1)
{
TEXT_SetText(FileTransferText,"文件解压中");
}
else
{
TEXT_SetText(FileTransferText,"文件接收中");
}
}
}
#endif
TEXT_SetTextColor(FileTransferText, gCfgItems.title_color);
TEXT_SetTextAlign(FileTransferText, GUI_TA_VCENTER | GUI_TA_HCENTER);
//GUI_Exec();
}
void Clear_fileTransfer()
{
GUI_SetBkColor(gCfgItems.background_color);
if(WM_IsWindow(hFileTransferWnd))
{
WM_DeleteWindow(hFileTransferWnd);
//GUI_Exec();
}
//GUI_Clear();
}
/*
void Clear_WifiFileTransferdialog()
{
GUI_SetBkColor(gCfgItems.background_color);
if(WM_IsWindow(hWifiFileDlgWnd))
{
WM_DeleteWindow(hWifiFileDlgWnd);
GUI_Exec();
}
GUI_Clear();
}
*/