mirror of
https://github.com/makerbase-mks/MKS-TFT35-Firmware.git
synced 2026-03-22 00:26:57 +01:00
279 lines
5.5 KiB
C++
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();
|
|
}
|
|
*/
|
|
|