static void Button_TestSelSetProc(WM_HWIN hWin) { Button_Set_BkColor(hWin_SWRB_TESTSEL, ID_TESTSEL_BUTTON_TESTSEL, GUI_LIGHTRED); gSwrbTestSetSelectFlag = SWRB_TEST_SET_SELECT_TESTSEL; WM_HideWin(hWin); WM_ShowWin(hWin_SWRB_TESTSEL); }
void SWRB_WM_ShowWidget(WM_HWIN hWin, int id) { WM_HWIN hItem; hItem = WM_GetDialogItem(hWin, id); WM_ShowWin(hItem); }
static void Button_SNSetProc(WM_HWIN hWin) { Button_Set_BkColor(hWin_SWRB_SNSET, ID_SNSET_BUTTON_SNSET, GUI_LIGHTRED); gSwrbTestSetSelectFlag = SWRB_TEST_SET_SELECT_SN; WM_HideWin(hWin); WM_ShowWin(hWin_SWRB_SNSET); }
static void Button_CancelProc(WM_HWIN hWin) { gSwrbDialogSelectFlag = SWRB_DIALOG_SELECT_NONE; gSwrbTestMode = SWRB_TEST_MODE_IDLE; ListWheel_ResetToLastPos(hWin); WM_HideWin(hWin); WM_ShowWin(hWin_SWRB_START); }
static void Button_ConfirmProc(WM_HWIN hWin) { WM_HideWin(hWin_SWRB_TIMESET); WM_ShowWin(hWin_SWRB_LOGIN); }
/********************************************************************* * * _cbDialog */ static void _cbDialog(WM_MESSAGE * pMsg) { WM_HWIN hItem; int NCode; int Id; switch (pMsg->MsgId) { case WM_INIT_DIALOG: for(Id=ID_STEERMOTOR_BUTTON_RETURN;Id<ID_STEERMOTOR_BUTTON_BOUND;Id++){ hItem = WM_GetDialogItem(pMsg->hWin, Id); BUTTON_SetText(hItem, aSteerMotorDlgButtonInitText[Id-ID_STEERMOTOR_BUTTON_RETURN][0]); BUTTON_SetFont(hItem, GUI_FONT_20_ASCII); BUTTON_SetSkinClassic(hItem); WIDGET_SetEffect(hItem, &WIDGET_Effect_None); } hItem = WM_GetDialogItem(pMsg->hWin, ID_STEERMOTOR_SLIDER_LCOLLISION); SLIDER_SetRange(hItem, 300, 2500); SLIDER_SetNumTicks(hItem, 10); hItem = WM_GetDialogItem(pMsg->hWin, ID_STEERMOTOR_SLIDER_MWHEELFLOAT); SLIDER_SetRange(hItem, 270, 1050); SLIDER_SetNumTicks(hItem, 10); hItem = WM_GetDialogItem(pMsg->hWin, ID_STEERMOTOR_SLIDER_RCOLLISION); SLIDER_SetRange(hItem, 300, 2500); SLIDER_SetNumTicks(hItem, 10); hItem = WM_GetDialogItem(pMsg->hWin, ID_STEERMOTOR_EDIT_LCOLLISION); EDIT_SetTextAlign(hItem, GUI_TA_HCENTER | GUI_TA_VCENTER); EDIT_SetDecMode(hItem, 0, 0, 10000, 0, GUI_EDIT_SUPPRESS_LEADING_ZEROES); hItem = WM_GetDialogItem(pMsg->hWin, ID_STEERMOTOR_EDIT_MWHEELFLOAT); EDIT_SetTextAlign(hItem, GUI_TA_HCENTER | GUI_TA_VCENTER); EDIT_SetDecMode(hItem, 0, 0, 10000, 0, GUI_EDIT_SUPPRESS_LEADING_ZEROES); hItem = WM_GetDialogItem(pMsg->hWin, ID_STEERMOTOR_EDIT_RCOLLISION); EDIT_SetTextAlign(hItem, GUI_TA_HCENTER | GUI_TA_VCENTER); EDIT_SetDecMode(hItem, 0, 0, 10000, 0, GUI_EDIT_SUPPRESS_LEADING_ZEROES); WM_HideWin(pMsg->hWin); break; case WM_NOTIFY_PARENT: Id = WM_GetId(pMsg->hWinSrc); NCode = pMsg->Data.v; switch(Id) { case ID_STEERMOTOR_BUTTON_LIDLE: // Notifications sent by 'btnLIdle' switch(NCode) { case WM_NOTIFICATION_CLICKED: break; case WM_NOTIFICATION_RELEASED: SweepRobot_CollisionCtrlLeftSteerMotorPosMove(STEER_MOTOR_IDLE_POS); break; } break; case ID_STEERMOTOR_BUTTON_LFRONT: // Notifications sent by 'btnLFront' switch(NCode) { case WM_NOTIFICATION_CLICKED: break; case WM_NOTIFICATION_RELEASED: // SweepRobot_CollisionCtrlLeftSteerMotorPosMove(STEER_MOTOR_FRONT_POS); SweepRobot_CollisionCtrlLeftSteerMotorPosSet(gSteerMotorDutyCycleLeft); break; } break; case ID_STEERMOTOR_BUTTON_LSIDE: // Notifications sent by 'btnLSide' switch(NCode) { case WM_NOTIFICATION_CLICKED: break; case WM_NOTIFICATION_RELEASED: SweepRobot_CollisionCtrlLeftSteerMotorPosMove(STEER_MOTOR_SIDE_POS); break; } break; case ID_STEERMOTOR_BUTTON_RIDLE: // Notifications sent by 'btnRIdle' switch(NCode) { case WM_NOTIFICATION_CLICKED: break; case WM_NOTIFICATION_RELEASED: SweepRobot_CollisionCtrlRightSteerMotorPosMove(STEER_MOTOR_IDLE_POS); break; } break; case ID_STEERMOTOR_BUTTON_RFRONT: // Notifications sent by 'btnRFront' switch(NCode) { case WM_NOTIFICATION_CLICKED: break; case WM_NOTIFICATION_RELEASED: // SweepRobot_CollisionCtrlRightSteerMotorPosMove(STEER_MOTOR_FRONT_POS); SweepRobot_CollisionCtrlRightSteerMotorPosSet(gSteerMotorDutyCycleRight); break; } break; case ID_STEERMOTOR_BUTTON_RSIDE: // Notifications sent by 'btnRSide' switch(NCode) { case WM_NOTIFICATION_CLICKED: break; case WM_NOTIFICATION_RELEASED: SweepRobot_CollisionCtrlRightSteerMotorPosMove(STEER_MOTOR_SIDE_POS); break; } break; case ID_STEERMOTOR_BUTTON_MIDLE: // Notifications sent by 'btnMIdle' switch(NCode) { case WM_NOTIFICATION_CLICKED: break; case WM_NOTIFICATION_RELEASED: SweepRobot_WheelFloatCtrlSteerMotorPosMove(STEER_MOTOR_IDLE_POS); break; } break; case ID_STEERMOTOR_BUTTON_MUP: // Notifications sent by 'btnMUp' switch(NCode) { case WM_NOTIFICATION_CLICKED: break; case WM_NOTIFICATION_RELEASED: // SweepRobot_WheelFloatCtrlSteerMotorPosMove(gSteerMotorDutyCycleMiddle); SweepRobot_WheelFloatCtrlSteerMotorPosSet(gSteerMotorDutyCycleMiddle); break; } break; case ID_STEERMOTOR_BUTTON_MDOWN: // Notifications sent by 'btnMDown' switch(NCode) { case WM_NOTIFICATION_CLICKED: break; case WM_NOTIFICATION_RELEASED: SweepRobot_WheelFloatCtrlSteerMotorPosMove(STEER_MOTOR_DOWN_POS); break; } break; case ID_STEERMOTOR_BUTTON_RETURN: // Notifications sent by 'btnReturn' switch(NCode) { case WM_NOTIFICATION_CLICKED: break; case WM_NOTIFICATION_RELEASED: WM_HideWin(hWin_SWRB_STEERMOTOR); WM_ShowWin(hWin_SWRB_START); break; } break; case ID_STEERMOTOR_SLIDER_LCOLLISION: switch(NCode) { case WM_NOTIFICATION_CLICKED: break; case WM_NOTIFICATION_RELEASED: break; case WM_NOTIFICATION_VALUE_CHANGED: hItem = WM_GetDialogItem(pMsg->hWin, ID_STEERMOTOR_SLIDER_LCOLLISION); gSteerMotorDutyCycleLeft = SLIDER_GetValue(hItem); Edit_Set_Value(pMsg->hWin, ID_STEERMOTOR_EDIT_LCOLLISION, gSteerMotorDutyCycleLeft); break; } break; case ID_STEERMOTOR_SLIDER_MWHEELFLOAT: switch(NCode) { case WM_NOTIFICATION_CLICKED: break; case WM_NOTIFICATION_RELEASED: break; case WM_NOTIFICATION_VALUE_CHANGED: hItem = WM_GetDialogItem(pMsg->hWin, ID_STEERMOTOR_SLIDER_MWHEELFLOAT); gSteerMotorDutyCycleMiddle = SLIDER_GetValue(hItem); Edit_Set_Value(pMsg->hWin, ID_STEERMOTOR_EDIT_MWHEELFLOAT, gSteerMotorDutyCycleMiddle); break; } break; case ID_STEERMOTOR_SLIDER_RCOLLISION: switch(NCode) { case WM_NOTIFICATION_CLICKED: break; case WM_NOTIFICATION_RELEASED: break; case WM_NOTIFICATION_VALUE_CHANGED: hItem = WM_GetDialogItem(pMsg->hWin, ID_STEERMOTOR_SLIDER_RCOLLISION); gSteerMotorDutyCycleRight = SLIDER_GetValue(hItem); Edit_Set_Value(pMsg->hWin, ID_STEERMOTOR_EDIT_RCOLLISION, gSteerMotorDutyCycleRight); break; } break; case ID_STEERMOTOR_EDIT_LCOLLISION: // Notifications sent by 'editLeft' switch(NCode) { case WM_NOTIFICATION_CLICKED: break; case WM_NOTIFICATION_RELEASED: break; case WM_NOTIFICATION_VALUE_CHANGED: break; } break; case ID_STEERMOTOR_EDIT_MWHEELFLOAT: // Notifications sent by 'editMiddle' switch(NCode) { case WM_NOTIFICATION_CLICKED: break; case WM_NOTIFICATION_RELEASED: break; case WM_NOTIFICATION_VALUE_CHANGED: break; } break; case ID_STEERMOTOR_EDIT_RCOLLISION: // Notifications sent by 'editRight' switch(NCode) { case WM_NOTIFICATION_CLICKED: break; case WM_NOTIFICATION_RELEASED: break; case WM_NOTIFICATION_VALUE_CHANGED: break; } break; } break; default: WM_DefaultProc(pMsg); break; } }
static void _cbWindow(WM_MESSAGE * pMsg) { const WM_KEY_INFO* pInfo; WM_HWIN thisFrame = pMsg->hWin; int NCode; int Id; int xSize; int ySize; switch (pMsg->MsgId) { case WM_SET_FOCUS: if(pMsg->Data.v) { // WM_GetUserData(pMsg->hWin,&UserData,4); if(UserData==MONITMMSI_FULL || UserData == MONITMMSI_FIRST) { WM_SetFocus(buttons[2]); } else { UserData = 0; WM_SetFocus(buttons[0]); } } break; case WM_PAINT: xSize = WM_GetWindowSizeX(pMsg->hWin); ySize = WM_GetWindowSizeY(pMsg->hWin); // hMem0 = GUI_MEMDEV_Create(0, 0, xSize, ySize); // GUI_MEMDEV_Select(hMem0); GUI_DrawGradientRoundedV(0, 0, xSize - 1, ySize - 1, 20, pColors->bkTopColor,pColors->bkBottomColor); // GUI_MEMDEV_Select(0); // GUI_MEMDEV_CopyToLCD(hMem0); // GUI_MEMDEV_Delete(hMem0); break; case USER_MSG_SKIN: pColors = &(confirmWinColors[pMsg->Data.v]); BUTTON_SetBkColor(buttons[0], BUTTON_BI_UNPRESSED, pColors->btBkColor); BUTTON_SetBkColor(buttons[1], BUTTON_BI_UNPRESSED, pColors->btBkColor); BUTTON_SetBkColor(buttons[2], BUTTON_BI_UNPRESSED, pColors->btBkColor); BUTTON_SetFocusColor(buttons[0], pColors->btFocusBkColor); BUTTON_SetFocusColor(buttons[1], pColors->btFocusBkColor); BUTTON_SetFocusColor(buttons[2], pColors->btFocusBkColor); TEXT_SetTextColor(dlgTextContent, pColors->textColor); break; case WM_CREATE: pColors = &confirmWinColors[t90_set.sys.nightmode]; BUTTON_CreateEx (60,110,80,40,thisFrame, WM_CF_HASTRANS ,0,GUI_ID_BUTTON0); buttons[0] = WM_GetDialogItem(pMsg->hWin, GUI_ID_BUTTON0); BUTTON_SetFocusColor(buttons[0],pColors->btFocusBkColor); WM_ShowWindow (buttons[0]); BUTTON_SetText(buttons[0], "确定"); BUTTON_SetFont(buttons[0], &GUI_Font_T90_30); WM_SetCallback(buttons[0], &myButton); BUTTON_SetBkColor(buttons[0],BUTTON_BI_UNPRESSED,pColors->btBkColor); BUTTON_SetTextColor(buttons[0],BUTTON_BI_UNPRESSED,pColors->btTextColor); BUTTON_CreateEx(260, 110, 80, 40,thisFrame,WM_CF_HASTRANS,0,GUI_ID_BUTTON1); buttons[1] = WM_GetDialogItem(pMsg->hWin, GUI_ID_BUTTON1); BUTTON_SetFocusColor(buttons[1],pColors->btFocusBkColor); WM_ShowWindow (buttons[1]); BUTTON_SetText(buttons[1], "取消"); BUTTON_SetFont(buttons[1], &GUI_Font_T90_30); WM_SetCallback(buttons[1], &myButton); BUTTON_SetBkColor(buttons[1],BUTTON_BI_UNPRESSED,pColors->btBkColor); BUTTON_SetTextColor(buttons[1],BUTTON_BI_UNPRESSED,pColors->btTextColor); buttons[2] = BUTTON_CreateEx (160,110,80,40,thisFrame, WM_CF_HASTRANS ,0,GUI_ID_BUTTON2); WM_HideWin(buttons[2]); BUTTON_SetText(buttons[2], "确定"); BUTTON_SetFont(buttons[2], &GUI_Font_T90_30); WM_SetCallback(buttons[2], &myButton); BUTTON_SetFocusColor(buttons[2],pColors->btFocusBkColor); BUTTON_SetBkColor(buttons[2],BUTTON_BI_UNPRESSED,pColors->btBkColor); BUTTON_SetTextColor(buttons[2],BUTTON_BI_UNPRESSED,pColors->btTextColor); TEXT_CreateEx (0, 35, 400, 80, thisFrame,WM_CF_SHOW,0,ID_TEXT_CONTENT,NULL); dlgTextContent = WM_GetDialogItem(pMsg->hWin, ID_TEXT_CONTENT); TEXT_SetTextAlign(dlgTextContent,TEXT_CF_HCENTER); TEXT_SetFont(dlgTextContent, &GUI_Font_T90_30); TEXT_SetTextColor (dlgTextContent,pColors->textColor); break; case WM_KEY: pInfo = (WM_KEY_INFO*)pMsg->Data.p; switch(pInfo->Key) { case GUI_KEY_LEFT: case GUI_KEY_RIGHT: // WM_GetUserData(pMsg->hWin,&UserData,4); if(UserData==MONITMMSI_FULL || UserData == MONITMMSI_FIRST) { WM_SetFocus(buttons[2]); } else { if(WM_HasFocus(buttons[0])) { WM_SetFocus(buttons[1]); } else { WM_SetFocus(buttons[0]); } } break; default: break; } break; case WM_NOTIFY_PARENT: Id = WM_GetId(pMsg->hWinSrc); // Id of widget NCode = pMsg->Data.v; // Notification code switch (NCode) { case WM_NOTIFICATION_RELEASED: // React only if released switch (Id) { case GUI_ID_BUTTON0: // if(myMsg.Data.v == UPDATA) // { // updata[2] = 0x01; // if(UART_Send(UART_1, updata, 18, BLOCKING) == 18) // { // GUI_Delay(100); // NVIC_SystemReset(); // } // break; // } myMsg.hWin = myMsg.hWinSrc; myMsg.hWinSrc = pMsg->hWin; myMsg.MsgId = USER_MSG_REPLY; myMsg.Data.v = REPLY_OK; WM_SendMessage(myMsg.hWin, &myMsg); break; case GUI_ID_BUTTON1: // if(myMsg.Data.v == UPDATA) // { // UART_Send(UART_1, updata, 18, BLOCKING); // WM_SetFocus(myMsg.hWinSrc); // break; // } WM_SetFocusOnPrevChild(confirmWin); myMsg.hWin = myMsg.hWinSrc; myMsg.hWinSrc = pMsg->hWin; myMsg.MsgId = USER_MSG_REPLY; myMsg.Data.v = REPLY_CANCEL; WM_SendMessage(myMsg.hWin, &myMsg); break; case GUI_ID_BUTTON2: myMsg.hWin = myMsg.hWinSrc; myMsg.hWinSrc = pMsg->hWin; myMsg.MsgId = USER_MSG_REPLY; myMsg.Data.v = REPLY_OK; WM_SendMessage(myMsg.hWin, &myMsg); { WM_ShowWin(buttons[0]); WM_ShowWin(buttons[1]); WM_HideWin(buttons[2]); } break; } WM_BringToBottom(confirmWin); break; } break; case USER_MSG_CHOOSE: Option = pMsg->Data.v; myMsg.hWinSrc = pMsg->hWinSrc; myMsg.Data.v = Option; switch(Option) { case CANCEL_MONITED: TEXT_SetText(dlgTextContent, "??????????"); break; case STORE_SETTING: TEXT_SetText(dlgTextContent, "??????????"); break; case ADD_MONITED: TEXT_SetText(dlgTextContent, "????????????"); break; case SYS_SETTING: TEXT_SetText(dlgTextContent, "是否更改设置内容?"); UserData = SYS_SETTING; // WM_SetUserData(pMsg->hWin,&UserData,4); break; case SYS_RESET: TEXT_SetText(dlgTextContent, "是否恢复出厂设置?"); UserData = SYS_RESET; // WM_SetUserData(pMsg->hWin,&UserData,4); break; case MONITMMSI_SET: MMSI = getMMSItmp(); sprintf(pstring,"您输入的辅船九位码为: \n%09ld,是否确定?",MMSI); TEXT_SetText(dlgTextContent, pstring); UserData = MONITMMSI_SET; // WM_SetUserData(pMsg->hWin,&UserData,4); break; case MONITMMSI_ADD: MMSI = getMMSItmp(); sprintf(pstring, "确定将船只 %09ld \n加入船队?",MMSI); TEXT_SetText(dlgTextContent, pstring); UserData = MONITMMSI_ADD; // WM_SetUserData(pMsg->hWin,&UserData,4); break; case MONITMMSI_DEL: TEXT_SetText(dlgTextContent, "删除后,对该船只报警功能\n恢复正常,是否确认删除?"); UserData = MONITMMSI_DEL; WM_SetUserData(pMsg->hWin,&UserData,4); break; case MONITMMSI_FULL: TEXT_SetText(dlgTextContent, "已经达到设置上限,请删\n除后再进行添加!"); WM_HideWin(buttons[0]); WM_HideWin(buttons[1]); WM_ShowWin(buttons[2]); UserData = MONITMMSI_FULL; // WM_SetUserData(pMsg->hWin,&UserData,4); break; case MONITMMSI_NINE: TEXT_SetText(dlgTextContent, "你输入的九位码不足九位, \n确定继续修改?"); break; case MONITMMSI_FIRST: TEXT_SetText(dlgTextContent, "你输入的九位码不足九位, \n请继续输入!"); WM_HideWin(buttons[0]); WM_HideWin(buttons[1]); WM_ShowWin(buttons[2]); UserData = MONITMMSI_FIRST; // WM_SetUserData(pMsg->hWin,&UserData,4); break; // case UPDATA: // TEXT_SetText(dlgTextContent,"是否进行更新?"); default: break; } break; default: WM_DefaultProc(pMsg); break; } }