/********************************************************************* * * _cbDialogMain * * Function description * Callback routine of DialogMain */ static void _cbDialogMain(WM_MESSAGE * pMsg) { WM_HWIN hDlg; WM_HWIN hItem; int Id; hDlg = pMsg->hWin; switch (pMsg->MsgId) { case WM_PAINT: break; case WM_INIT_DIALOG: // // Init progress bars // hItem = WM_GetDialogItem(hDlg, GUI_ID_PROGBAR0); WIDGET_SetEffect(hItem, &WIDGET_Effect_3D); _SetProgbarValue(GUI_ID_PROGBAR0, _aTemp1[GUI_COUNTOF(_aTemp1) - 1]); hItem = WM_GetDialogItem(hDlg, GUI_ID_PROGBAR1); WIDGET_SetEffect(hItem, &WIDGET_Effect_3D); _SetProgbarValue(GUI_ID_PROGBAR1, _aTemp2[GUI_COUNTOF(_aTemp2) - 1]); // // Init edit widgets // hItem = WM_GetDialogItem(hDlg, GUI_ID_EDIT0); EDIT_SetDecMode(hItem, _TempMin, 0, 999, 0, 0); WM_DisableWindow(hItem); hItem = WM_GetDialogItem(hDlg, GUI_ID_EDIT1); EDIT_SetDecMode(hItem, _TempMax, 0, 999, 0, 0); WM_DisableWindow(hItem); // // Init temperature window * // hItem = WM_GetClientWindow(WM_GetDialogItem(hDlg, ID_TEMPERATURE)); _pcbCallbackTemperature = WM_SetCallback(hItem, _cbTemperature); _UpdateTextColors(hDlg); break; case WM_NOTIFY_PARENT: if (pMsg->Data.v == WM_NOTIFICATION_RELEASED) { Id = WM_GetId(pMsg->hWinSrc); // Id of widget switch (Id) { case GUI_ID_BUTTON0: WM_SetFocus(_hDialogColor); GUI_SetOrg(0, 240); break; } } break; default: WM_DefaultProc(pMsg); } }
/********************************************************************* * * GUI_EditDec */ I32 GUI_EditDec(I32 Value, I32 Min, I32 Max, int Len, int xsize, int Shift, U8 Flags) { I32 Ret = Value; int Key, x, y, ysize, Id; EDIT_Handle hEdit; EDIT_Obj* pObj; const GUI_FONT GUI_UNI_PTR * pOldFont; WM_LOCK(); pOldFont = GUI_SetFont(EDIT_GetDefaultFont()); x = GUI_GetDispPosX(); y = GUI_GetDispPosY(); if (xsize == 0) xsize = GUI_GetCharDistX('X') * Len + 6; ysize = GUI_GetFontSizeY(); Id = 0x1234; hEdit = EDIT_Create(x, y, xsize, ysize, Id, Len, 0); pObj = EDIT_H2P(hEdit); EDIT_SetDecMode(hEdit, Value, Min, Max, Shift, Flags); WM_SetFocus(hEdit); do { Key = GUI_WaitKey(); } while ((Key != GUI_KEY_ESCAPE) && (Key != GUI_KEY_ENTER) && (Key != 0)); GUI_SetFont(pOldFont); if (Key == GUI_KEY_ENTER) Ret = pObj->CurrentValue; EDIT_Delete(hEdit); WM_UNLOCK(); return Ret; }
void EDIT_SetFloatMode(EDIT_Handle hEdit, float Value, float Min, float Max, int Shift, U8 Flags) { I32 _Value, _Min, _Max; float Scale; if (hEdit) { WM_LOCK(); Scale =(float)GUI_Pow10[Shift]; _Value = floor(Scale * Value + 0.5); _Min = floor(Scale * Min + 0.5); _Max = floor(Scale * Max + 0.5); EDIT_SetDecMode(hEdit, _Value, _Min, _Max, Shift, Flags); WM_UNLOCK(); } }
/********************************************************************* * * _cbCallback */ static void _cbCallback(WM_MESSAGE * pMsg) { int i; int NCode, Id; WM_HWIN hDlg, hItem; hDlg = pMsg->hWin; switch (pMsg->MsgId) { case WM_PAINT: _OnPaint(); return; case WM_INIT_DIALOG: for (i = 0; i < 3; i++) { hItem = WM_GetDialogItem(hDlg, GUI_ID_SLIDER0 + i); SLIDER_SetRange(hItem, 0, 255); SLIDER_SetValue(hItem, _aColorSep[i]); /* Init EDIT-widgets */ hItem = WM_GetDialogItem(hDlg, GUI_ID_EDIT0 + i); EDIT_SetDecMode(hItem, _aColorSep[i], 0, 255, 0, 0); } break; case WM_KEY: switch (((WM_KEY_INFO*)(pMsg->Data.p))->Key) { case GUI_KEY_ESCAPE: ; break; case GUI_KEY_ENTER: GUI_EndDialog(hDlg, 0); 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 */ if (Id == GUI_ID_OK) { /* OK Button */ GUI_EndDialog(hDlg, 0); } if (Id == GUI_ID_CANCEL) { /* Cancel Button */ GUI_EndDialog(hDlg, 1); } break; case WM_NOTIFICATION_VALUE_CHANGED: /* Value has changed */ _OnValueChanged(hDlg, Id); break; } break; default: WM_DefaultProc(pMsg); } }
/******************************************************************* * * _DemoScrollbarMove This function creates the window and his child objects. Then it runs into a idle-loop, so that the window manager can handle the objects. */ static void _DemoScrollbarMove(void) { int x, y; WM_HWIN hWindow; SCROLLBAR_Handle hScroll; /* Clear display and display headline */ GUI_SetBkColor(GUI_BLUE); GUI_Clear(); GUI_SetColor(GUI_WHITE); GUI_SetFont(&GUI_Font24_ASCII); GUI_SetTextAlign(GUI_TA_HCENTER); GUI_DispStringAt("SCROLLBAR_Move - Sample", 160, 5); GUI_SetTextAlign(GUI_TA_LEFT); GUI_SetColor(0xFFFFFF); GUI_SetFont(&GUI_Font8x16); /* Create the window */ hWindow = WM_CreateWindow(50, 90, 220, 79, WM_CF_SHOW, &_cbWindow, 0); /* Create the scrollbar */ hScroll = SCROLLBAR_CreateAttached(hWindow, 0); SCROLLBAR_SetNumItems(hScroll, 48 * EDIT_MAX_X); SCROLLBAR_SetPageSize(hScroll, 220); /* Create the edit-fields */ for (y = 0; y < EDIT_MAX_Y; y++) { for (x = 0; x < EDIT_MAX_X; x++) { _aahEdit[y][x] = EDIT_CreateAsChild(x * 48, y * 22, 48, 22, hWindow, 13, WM_CF_SHOW, 5); EDIT_SetTextAlign(_aahEdit[y][x], GUI_TA_RIGHT | GUI_TA_VCENTER); EDIT_SetFont(_aahEdit[y][x], &GUI_Font8x16); EDIT_SetDecMode(_aahEdit[y][x], ((y * EDIT_MAX_X) + x) * 100, -99999, +99999, 2, 0); } } /* idle-loop */ while (1) { GUI_Exec(); GUI_Delay(20); } /* delete window and clear display */ WM_DeleteWindow(hWindow); GUI_Clear(); }
/********************************************************************* * * _cbCallback */ static void _cbCallback(WM_MESSAGE * pMsg) { WM_HWIN hDlg, hWinSrc, hItem; int Id, NCode, i; hWinSrc = pMsg->hWinSrc; hDlg = pMsg->hWin; switch (pMsg->MsgId) { case WM_INIT_DIALOG: WM_MakeModal(hDlg); FRAMEWIN_SetFont(hDlg, &GUI_Font24B_ASCII); FRAMEWIN_SetTextAlign(hDlg, GUI_TA_HCENTER); FRAMEWIN_SetClientColor(hDlg, GUI_YELLOW); for (i = 0; i < 4; i++) { hItem = WM_GetDialogItem(hDlg, GUI_ID_SLIDER0 + i); SLIDER_SetRange(hItem, 0, 999); SLIDER_SetValue(hItem, _aSlider[i]); hItem = WM_GetDialogItem(hDlg, GUI_ID_EDIT0 + i); EDIT_SetDecMode(hItem, _aSlider[i], 0, 999, 0, 0); WM_DisableWindow(hItem); } break; case WM_NOTIFY_PARENT: Id = WM_GetId(hWinSrc); /* Id of widget */ NCode = pMsg->Data.v; /* Notification code */ if (NCode == WM_NOTIFICATION_RELEASED) { /* React only if released */ if (Id == GUI_ID_OK) { /* OK Button */ GUI_EndDialog(hDlg, 0); WM_SetFocus(_hPrevWin); } } if (NCode == WM_NOTIFICATION_VALUE_CHANGED) { _OnValueChanged(hDlg, Id); } break; default: WM_DefaultProc(pMsg); } }
/********************************************************************* * * _cbCallback */ static void _cbCallback(WM_MESSAGE * pMsg) { WM_HWIN hDlg; WM_HWIN hItem; int Sel; int NCode; int Id; GUI_PID_STATE * pState; hDlg = pMsg->hWin; switch (pMsg->MsgId) { case WM_INIT_DIALOG: hItem = WM_GetDialogItem(hDlg, GUI_ID_EDIT0); EDIT_SetDecMode(hItem, 30, 0, 999, 0, 0); // Select decimal mode WM_DisableWindow(hItem); break; case WM_KEY: switch (((WM_KEY_INFO*)(pMsg->Data.p))->Key) { case GUI_KEY_ESCAPE: GUI_EndDialog(hDlg, 1); break; case GUI_KEY_ENTER: GUI_EndDialog(hDlg, 0); break; } break; case WM_TOUCH_CHILD: Id = WM_GetId(pMsg->hWinSrc); // Id of widget switch (Id) { case GUI_ID_TEXT0: case GUI_ID_TEXT1: case GUI_ID_TEXT2: pState = (GUI_PID_STATE *)((WM_MESSAGE *)pMsg->Data.p)->Data.p; if (pState) { if (pState->Pressed) { WM_HWIN hRadio = WM_GetDialogItem(hDlg, GUI_ID_RADIO0); RADIO_SetValue(hRadio, Id - GUI_ID_TEXT0); // Use the text beside the radio button to // set the value of the radio button } } 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_OK: GUI_EndDialog(hDlg, 0); break; case GUI_ID_CANCEL: GUI_EndDialog(hDlg, 1); break; } break; case WM_NOTIFICATION_VALUE_CHANGED: hItem = WM_GetDialogItem(hDlg, GUI_ID_RADIO0); Sel = RADIO_GetValue(hItem); hItem = WM_GetDialogItem(hDlg, GUI_ID_EDIT0); WM_SetEnableState(hItem, Sel == 2); break; } break; default: WM_DefaultProc(pMsg); } }
/********************************************************************* * * _cbDialog */ static void _cbDialog(WM_MESSAGE * pMsg) { WM_HWIN hItem; int NCode; int Id; // USER START (Optionally insert additional variables) // USER END GUI_DrawBitmap(&bmlogo,40,10); #if(Gradient_Rectangle) { GUI_DrawGradientRoundedH(220,120,580,380,20,REC_color1,REC_color2); } #endif #if(RoundedFrame) GUI_SetColor(GUI_GREEN); GUI_DrawRoundedFrame(218,118,582,382,20,3); #endif #if(FillRoundedRect) GUI_SetColor(RoundedRect); GUI_FillRoundedRect(220,120,580,380,20); #endif switch (pMsg->MsgId) { case WM_INIT_DIALOG: // // Initialization of 'inuse' // hItem = pMsg->hWin; FRAMEWIN_SetTitleVis(hItem, 0); FRAMEWIN_SetClientColor( hItem, framewin_backcolor); FRAMEWIN_SetFont(hItem, GUI_FONT_8_1); FRAMEWIN_SetText(hItem, "Framewin"); FRAMEWIN_SetTextAlign(hItem, GUI_TA_HCENTER | GUI_TA_VCENTER); FRAMEWIN_SetTextColor(hItem, 0x00000000); hItem = pMsg->hWin; FRAMEWIN_SetTitleVis(hItem, 0); hItem = WM_GetDialogItem(pMsg->hWin, ID_BUTTON_1); BUTTON_SetFont(hItem, &GUI_Fonthz_song30); BUTTON_SetText(hItem, "返回 "); #if(Button_3Dskin) BUTTON_SetSkin(hItem,BUTTON_SKIN_FLEX); #endif #if(!Button_3Dskin) BUTTON_SetBkColor( hItem,BUTTON_CI_UNPRESSED,Button_unpress_color); BUTTON_SetBkColor( hItem,BUTTON_CI_PRESSED,Button_press_color); #endif // // Initialization of 'Button' // hItem = WM_GetDialogItem(pMsg->hWin, ID_BUTTON_0); BUTTON_SetFont(hItem, &GUI_Fonthz_song30); BUTTON_SetText(hItem, "停止充电 "); #if(Button_3Dskin) BUTTON_SetSkin(hItem,BUTTON_SKIN_FLEX); #endif #if(!Button_3Dskin) BUTTON_SetBkColor( hItem,BUTTON_CI_UNPRESSED,Button_unpress_color); BUTTON_SetBkColor( hItem,BUTTON_CI_PRESSED,Button_press_color); #endif // // Initialization of 'Button' // // // Initialization of 'Edit' // hItem = WM_GetDialogItem(pMsg->hWin, ID_EDIT_0); EDIT_EnableBlink( hItem,1 ,0); EDIT_SetDecMode(hItem,0,0,99,0,0); EDIT_SetFont(hItem, GUI_FONT_32_ASCII); EDIT_SetTextAlign(hItem, GUI_TA_HCENTER | GUI_TA_VCENTER); // // Initialization of 'Edit' // hItem = WM_GetDialogItem(pMsg->hWin, ID_EDIT_1); EDIT_EnableBlink( hItem,1 ,0); EDIT_SetDecMode(hItem,0,0,99,0,0); EDIT_SetFont(hItem, GUI_FONT_32_ASCII); EDIT_SetTextAlign(hItem, GUI_TA_HCENTER | GUI_TA_VCENTER); EDIT_SetTextColor(hItem, EDIT_CI_ENABLED, 0x00000000); // // Initialization of 'Edit' // hItem = WM_GetDialogItem(pMsg->hWin, ID_EDIT_2); EDIT_EnableBlink( hItem,1 ,0); EDIT_SetDecMode(hItem,0,0,99,0,0); EDIT_SetFont(hItem, GUI_FONT_32_ASCII); EDIT_SetTextAlign(hItem, GUI_TA_HCENTER | GUI_TA_VCENTER); EDIT_SetTextColor(hItem, EDIT_CI_ENABLED, 0x00000000); // // Initialization of 'Edit' // hItem = WM_GetDialogItem(pMsg->hWin, ID_EDIT_3); EDIT_EnableBlink( hItem,1 ,0); EDIT_SetDecMode(hItem,0,0,9999,0,0); EDIT_SetFont(hItem, GUI_FONT_32_ASCII); EDIT_SetTextAlign(hItem, GUI_TA_HCENTER | GUI_TA_VCENTER); EDIT_SetTextColor(hItem, EDIT_CI_ENABLED, 0x00000000); // // Initialization of 'cddianliang' // hItem = WM_GetDialogItem(pMsg->hWin, ID_TEXT_0); TEXT_SetFont(hItem, &GUI_Fonthz_song24); TEXT_SetText(hItem, "使用电量 "); TEXT_SetTextAlign(hItem, GUI_TA_RIGHT); TEXT_SetTextColor(hItem, 0x00000000); // // Initialization of 'Text' // hItem = WM_GetDialogItem(pMsg->hWin, ID_TEXT_1); TEXT_SetFont(hItem, &GUI_Fonthz_song24); TEXT_SetText(hItem, "使用时间 "); TEXT_SetTextColor(hItem, 0x00000000); TEXT_SetTextAlign(hItem, GUI_TA_RIGHT); // // Initialization of 'Text' // hItem = WM_GetDialogItem(pMsg->hWin, ID_TEXT_2); TEXT_SetFont(hItem, &GUI_Fonthz_song24); TEXT_SetText(hItem, "消费金额 "); TEXT_SetTextAlign(hItem, GUI_TA_RIGHT); TEXT_SetTextColor(hItem, 0x00000000); // // Initialization of 'Text' // hItem = WM_GetDialogItem(pMsg->hWin, ID_TEXT_3); TEXT_SetFont(hItem, &GUI_Fonthz_song24); TEXT_SetText(hItem, "账户余额 "); TEXT_SetTextAlign(hItem, GUI_TA_RIGHT); TEXT_SetTextColor(hItem, 0x00000000); hItem = WM_GetDialogItem(pMsg->hWin, ID_TEXT_4); TEXT_SetTextAlign(hItem, GUI_TA_LEFT | GUI_TA_TOP); TEXT_SetText(hItem, "安徽绿建科技有限公司 "); TEXT_SetTextColor(hItem, 0x00000000); TEXT_SetFont(hItem, &GUI_FontSong_60); // // Initialization of 'Text' // hItem = WM_GetDialogItem(pMsg->hWin, ID_TEXT_5); TEXT_SetTextAlign(hItem, GUI_TA_LEFT | GUI_TA_TOP); TEXT_SetTextColor(hItem, 0x00000000); TEXT_SetText(hItem, "ANHUI GREEN BUILDING TECHNOLOGY CO.,LTD."); TEXT_SetFont(hItem, GUI_FONT_24_ASCII); // USER START (Optionally insert additional code for further widget initialization) // USER END break; case WM_NOTIFY_PARENT: Id = WM_GetId(pMsg->hWinSrc); NCode = pMsg->Data.v; switch(Id) { case ID_BUTTON_0: // Notifications sent by 'Button' switch(NCode) { case WM_NOTIFICATION_CLICKED: // USER START (Optionally insert code for reacting on notification message) // USER END break; case WM_NOTIFICATION_RELEASED: // USER START (Optionally insert code for reacting on notification message) // USER END // op=ensure; // handle_button(); GUI_EndDialog( pMsg->hWin,1); Createensure(); break; // USER START (Optionally insert additional code for further notification handling) // USER END } break; case ID_BUTTON_1: // Notifications sent by 'Button' switch(NCode) { case WM_NOTIFICATION_CLICKED: // USER START (Optionally insert code for reacting on notification message) // USER END break; case WM_NOTIFICATION_RELEASED: // USER START (Optionally insert code for reacting on notification message) // USER END GUI_EndDialog( pMsg->hWin,1); Createwindow0(); break; // USER START (Optionally insert additional code for further notification handling) // USER END } break; case ID_EDIT_0: // Notifications sent by 'Edit' switch(NCode) { case WM_NOTIFICATION_CLICKED: // USER START (Optionally insert code for reacting on notification message) // USER END break; case WM_NOTIFICATION_RELEASED: // USER START (Optionally insert code for reacting on notification message) // USER END break; case WM_NOTIFICATION_VALUE_CHANGED: // USER START (Optionally insert code for reacting on notification message) // USER END break; // USER START (Optionally insert additional code for further notification handling) // USER END } break; case ID_EDIT_1: // Notifications sent by 'Edit' switch(NCode) { case WM_NOTIFICATION_CLICKED: // USER START (Optionally insert code for reacting on notification message) // USER END break; case WM_NOTIFICATION_RELEASED: // USER START (Optionally insert code for reacting on notification message) // USER END break; case WM_NOTIFICATION_VALUE_CHANGED: // USER START (Optionally insert code for reacting on notification message) // USER END break; // USER START (Optionally insert additional code for further notification handling) // USER END } break; case ID_EDIT_2: // Notifications sent by 'Edit' switch(NCode) { case WM_NOTIFICATION_CLICKED: // USER START (Optionally insert code for reacting on notification message) // USER END break; case WM_NOTIFICATION_RELEASED: // USER START (Optionally insert code for reacting on notification message) // USER END break; case WM_NOTIFICATION_VALUE_CHANGED: // USER START (Optionally insert code for reacting on notification message) // USER END break; // USER START (Optionally insert additional code for further notification handling) // USER END } break; case ID_EDIT_3: // Notifications sent by 'Edit' switch(NCode) { case WM_NOTIFICATION_CLICKED: // USER START (Optionally insert code for reacting on notification message) // USER END break; case WM_NOTIFICATION_RELEASED: // USER START (Optionally insert code for reacting on notification message) // USER END break; case WM_NOTIFICATION_VALUE_CHANGED: // USER START (Optionally insert code for reacting on notification message) // USER END break; // USER START (Optionally insert additional code for further notification handling) // USER END } break; // USER START (Optionally insert additional code for further Ids) // USER END } break; // USER START (Optionally insert additional message handling) // USER END default: WM_DefaultProc(pMsg); break; } }
void Edit_Set_DecMode(WM_HWIN hWin, int editId, long value, long min, long max, int shift, unsigned char flags) { WM_HWIN hItem; hItem = WM_GetDialogItem(hWin, editId); EDIT_SetDecMode(hItem, value, min, max, shift, flags); }
/********************************************************************* * * _cbCallback */ static void _cbCallback(WM_MESSAGE * pMsg) { WM_HWIN hDlg; WM_HWIN hItem; int i; int NCode; int Id; hDlg = pMsg->hWin; switch (pMsg->MsgId) { case WM_INIT_DIALOG: for (i = 0; i < 3; i++) { hItem = WM_GetDialogItem(hDlg, GUI_ID_SLIDER0 + i); SLIDER_SetRange(hItem, 0, 100); SLIDER_SetValue(hItem, _duty[i]); // // Init EDIT-widgets // hItem = WM_GetDialogItem(hDlg, GUI_ID_EDIT0 + i); EDIT_SetDecMode(hItem, _duty[i], 0, 255, 0, 0); } break; case WM_KEY: switch (((WM_KEY_INFO*)(pMsg->Data.p))->Key) { case GUI_KEY_ESCAPE: ; break; case GUI_KEY_ENTER: GUI_EndDialog(hDlg, 0); 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 if (Id == GUI_ID_OK) { // OK Button GUI_EndDialog(hDlg, 0); } if (Id == GUI_ID_BUTTON3) { // Stop Button AzimuthalMotor.dutyCycle(0); AzimuthalMotor.start(); VerticalMotor.dutyCycle(0); VerticalMotor.start(); ClawMotor.dutyCycle(0); ClawMotor.start(); } if (Id == GUI_ID_BUTTON0) { // Azimuthal Button VerticalMotor.dutyCycle(0); VerticalMotor.start(); ClawMotor.dutyCycle(0); ClawMotor.start(); AzimuthalMotor.dutyCycle(_duty[0]); AzimuthalMotor.start(); } if (Id == GUI_ID_BUTTON1) { // Vertical Button AzimuthalMotor.dutyCycle(0); AzimuthalMotor.start(); ClawMotor.dutyCycle(0); ClawMotor.start(); VerticalMotor.dutyCycle(_duty[1]); VerticalMotor.start(); } if (Id == GUI_ID_BUTTON2) { // Claw Button AzimuthalMotor.dutyCycle(0); AzimuthalMotor.start(); VerticalMotor.dutyCycle(0); VerticalMotor.start(); ClawMotor.dutyCycle(_duty[2]); ClawMotor.start(); } if (Id == GUI_ID_BUTTON4) { // Forward Button HAL_GPIO_WritePin(GPIOI, GPIO_PIN_3, GPIO_PIN_RESET); } if (Id == GUI_ID_BUTTON5) { // Reverse Button HAL_GPIO_WritePin(GPIOI, GPIO_PIN_3, GPIO_PIN_SET); } break; case WM_NOTIFICATION_VALUE_CHANGED: // Value has changed _OnValueChanged(hDlg, Id); break; } break; default: WM_DefaultProc(pMsg); } }
/********************************************************************* * * _cbCallback */ static void _cbCallback(WM_MESSAGE * pMsg) { WM_KEY_INFO * pKeyInfo; WM_HWIN hItem; WM_HWIN hDlg; int NCode; int Id; int i; hDlg = pMsg->hWin; switch (pMsg->MsgId) { case WM_PAINT: _OnPaint(); return; case WM_INIT_DIALOG: // // Init SLIDER and EDIT widgets // for (i = 0; i < 3; i++) { hItem = WM_GetDialogItem(hDlg, GUI_ID_SLIDER0 + i); SLIDER_SetRange(hItem, 0, 255); SLIDER_SetValue(hItem, _aColorSep[i]); hItem = WM_GetDialogItem(hDlg, GUI_ID_EDIT0 + i); EDIT_SetDecMode(hItem, _aColorSep[i], 0, 255, 0, 0); } // // Init CHECKBOX // hItem = WM_GetDialogItem(hDlg, GUI_ID_CHECK0); CHECKBOX_SetText(hItem, "Auto"); CHECKBOX_SetState(hItem, _Auto); break; case WM_KEY: pKeyInfo = (WM_KEY_INFO *)(pMsg->Data.p); switch (pKeyInfo->Key) { case GUI_KEY_ESCAPE: break; case GUI_KEY_ENTER: GUI_EndDialog(hDlg, 0); break; } break; case WM_NOTIFY_PARENT: Id = WM_GetId(pMsg->hWinSrc); NCode = pMsg->Data.v; switch (NCode) { case WM_NOTIFICATION_RELEASED: if (Id == GUI_ID_OK) { GUI_EndDialog(hDlg, 0); } if (Id == GUI_ID_CANCEL) { GUI_EndDialog(hDlg, 1); } break; case WM_NOTIFICATION_VALUE_CHANGED: switch (Id) { case GUI_ID_CHECK0: hItem = WM_GetDialogItem(hDlg, Id); _Auto = CHECKBOX_GetState(hItem); break; default: _OnValueChanged(hDlg, Id); break; } break; } break; default: WM_DefaultProc(pMsg); } }
static void InitDialog(WM_MESSAGE * pMsg) { WM_HWIN hWin = pMsg->hWin; // //FRAMEWIN // FRAMEWIN_SetTitleVis(hWin,0); // //GUI_ID_BUTTON7 // BUTTON_SetFont(WM_GetDialogItem(hWin,GUI_ID_BUTTON7),&GUI_FontHZ_SongTi_16); // //GUI_ID_BUTTON4 // BUTTON_SetFont(WM_GetDialogItem(hWin,GUI_ID_BUTTON4),&GUI_FontHZ_SongTi_16); // //GUI_ID_BUTTON5 // BUTTON_SetFont(WM_GetDialogItem(hWin,GUI_ID_BUTTON5),&GUI_FontHZ_SongTi_16); // //GUI_ID_BUTTON3 // BUTTON_SetFont(WM_GetDialogItem(hWin,GUI_ID_BUTTON3),&GUI_FontHZ_SongTi_16); // //GUI_ID_BUTTON6 // BUTTON_SetFont(WM_GetDialogItem(hWin,GUI_ID_BUTTON6),&GUI_FontHZ_SongTi_16); // //GUI_ID_BUTTON2 // BUTTON_SetFont(WM_GetDialogItem(hWin,GUI_ID_BUTTON2),&GUI_FontHZ_SongTi_16); // //GUI_ID_BUTTON0 // BUTTON_SetFont(WM_GetDialogItem(hWin,GUI_ID_BUTTON0),&GUI_FontHZ_SongTi_16); // //GUI_ID_BUTTON1 // BUTTON_SetFont(WM_GetDialogItem(hWin,GUI_ID_BUTTON1),&GUI_FontHZ_SongTi_16); // //GUI_ID_CANCEL // BUTTON_SetFont(WM_GetDialogItem(hWin,GUI_ID_CANCEL),&GUI_FontHZ_SongTi_16); // //GUI_ID_OK // BUTTON_SetFont(WM_GetDialogItem(hWin,GUI_ID_OK),&GUI_FontHZ_SongTi_16); // //GUI_ID_BUTTON8 // BUTTON_SetFont(WM_GetDialogItem(hWin,GUI_ID_BUTTON8),&GUI_FontHZ_SongTi_16); // //GUI_ID_BUTTON9 // BUTTON_SetFont(WM_GetDialogItem(hWin,GUI_ID_BUTTON9),&GUI_FontHZ_SongTi_16); // //GUI_ID_EDIT0 // EDIT_SetFont(WM_GetDialogItem(hWin,GUI_ID_EDIT0),&GUI_FontHZ_SongTi_16); EDIT_SetDecMode(WM_GetDialogItem(hWin,GUI_ID_EDIT0),0,0,999999999,0,0); }
static void _cbDialog_VNC_SETTINGS(WM_MESSAGE * pMsg) { WM_HWIN hItem; int Id, NCode; switch (pMsg->MsgId) { case WM_INIT_DIALOG: /* Restore VNC settings */ _VNCServer_RestoreSettings(); /* Initialization of 'VNC Server Settings' */ hItem = pMsg->hWin; FRAMEWIN_SetTitleHeight(hItem, 18); /* Initialization of 'DHCP' */ hItem = WM_GetDialogItem(pMsg->hWin, ID_CHECKBOX_DHCP); CHECKBOX_SetText(hItem, "Enable DHCP"); CHECKBOX_SetState(hItem, VNCSettings.dhcp_use.b.dhcp); /* Initialization of 'Edit' */ hItem = WM_GetDialogItem(pMsg->hWin, ID_EDIT_IPADDRESS_3); EDIT_SetDecMode(hItem, VNCSettings.ipaddr.b.addr3, 0, 255, 0, GUI_EDIT_SUPPRESS_LEADING_ZEROES); /* Initialization of 'Edit' */ hItem = WM_GetDialogItem(pMsg->hWin, ID_EDIT_IPADDRESS_2); EDIT_SetDecMode(hItem, VNCSettings.ipaddr.b.addr2, 0, 255, 0, GUI_EDIT_SUPPRESS_LEADING_ZEROES); /* Initialization of 'Edit' */ hItem = WM_GetDialogItem(pMsg->hWin, ID_EDIT_IPADDRESS_1); EDIT_SetDecMode(hItem, VNCSettings.ipaddr.b.addr1, 0, 255, 0, GUI_EDIT_SUPPRESS_LEADING_ZEROES); /* Initialization of 'Edit' */ hItem = WM_GetDialogItem(pMsg->hWin, ID_EDIT_IPADDRESS_0); EDIT_SetDecMode(hItem, VNCSettings.ipaddr.b.addr0, 0, 255, 0, GUI_EDIT_SUPPRESS_LEADING_ZEROES); /* Initialization of 'Edit' */ hItem = WM_GetDialogItem(pMsg->hWin, ID_EDIT_SNMASK_3); EDIT_SetDecMode(hItem, VNCSettings.maskaddr.b.addr3, 0, 255, 0, GUI_EDIT_SUPPRESS_LEADING_ZEROES); /* Initialization of 'Edit' */ hItem = WM_GetDialogItem(pMsg->hWin, ID_EDIT_SNMASK_2); EDIT_SetDecMode(hItem, VNCSettings.maskaddr.b.addr2, 0, 255, 0, GUI_EDIT_SUPPRESS_LEADING_ZEROES); /* Initialization of 'Edit' */ hItem = WM_GetDialogItem(pMsg->hWin, ID_EDIT_SNMASK_1); EDIT_SetDecMode(hItem, VNCSettings.maskaddr.b.addr1, 0, 255, 0, GUI_EDIT_SUPPRESS_LEADING_ZEROES); /* Initialization of 'Edit' */ hItem = WM_GetDialogItem(pMsg->hWin, ID_EDIT_SNMASK_0); EDIT_SetDecMode(hItem, VNCSettings.maskaddr.b.addr0, 0, 255, 0, GUI_EDIT_SUPPRESS_LEADING_ZEROES); /* Initialization of 'Edit' */ hItem = WM_GetDialogItem(pMsg->hWin, ID_EDIT_GWADDRESS_3); EDIT_SetDecMode(hItem, VNCSettings.gwaddr.b.addr3, 0, 255, 0, GUI_EDIT_SUPPRESS_LEADING_ZEROES); /* Initialization of 'Edit' */ hItem = WM_GetDialogItem(pMsg->hWin, ID_EDIT_GWADDRESS_2); EDIT_SetDecMode(hItem, VNCSettings.gwaddr.b.addr2, 0, 255, 0, GUI_EDIT_SUPPRESS_LEADING_ZEROES); /* Initialization of 'Edit' */ hItem = WM_GetDialogItem(pMsg->hWin, ID_EDIT_GWADDRESS_1); EDIT_SetDecMode(hItem, VNCSettings.gwaddr.b.addr1, 0, 255, 0, GUI_EDIT_SUPPRESS_LEADING_ZEROES); /* Initialization of 'Edit' */ hItem = WM_GetDialogItem(pMsg->hWin, ID_EDIT_GWADDRESS_0); EDIT_SetDecMode(hItem, VNCSettings.gwaddr.b.addr0, 0, 255, 0, GUI_EDIT_SUPPRESS_LEADING_ZEROES); /* If DHCP enabled: disable all Edits*/ if (VNCSettings.dhcp_use.b.dhcp) { hItem = WM_GetDialogItem(pMsg->hWin, ID_EDIT_IPADDRESS_3); WM_DisableWindow(hItem); EDIT_SetFocussable(hItem, 0); hItem = WM_GetDialogItem(pMsg->hWin, ID_EDIT_IPADDRESS_2); WM_DisableWindow(hItem); EDIT_SetFocussable(hItem, 0); hItem = WM_GetDialogItem(pMsg->hWin, ID_EDIT_IPADDRESS_1); WM_DisableWindow(hItem); EDIT_SetFocussable(hItem, 0); hItem = WM_GetDialogItem(pMsg->hWin, ID_EDIT_IPADDRESS_0); WM_DisableWindow(hItem); EDIT_SetFocussable(hItem, 0); hItem = WM_GetDialogItem(pMsg->hWin, ID_EDIT_SNMASK_3); WM_DisableWindow(hItem); EDIT_SetFocussable(hItem, 0); hItem = WM_GetDialogItem(pMsg->hWin, ID_EDIT_SNMASK_2); WM_DisableWindow(hItem); EDIT_SetFocussable(hItem, 0); hItem = WM_GetDialogItem(pMsg->hWin, ID_EDIT_SNMASK_1); WM_DisableWindow(hItem); EDIT_SetFocussable(hItem, 0); hItem = WM_GetDialogItem(pMsg->hWin, ID_EDIT_SNMASK_0); WM_DisableWindow(hItem); EDIT_SetFocussable(hItem, 0); hItem = WM_GetDialogItem(pMsg->hWin, ID_EDIT_GWADDRESS_3); WM_DisableWindow(hItem); EDIT_SetFocussable(hItem, 0); hItem = WM_GetDialogItem(pMsg->hWin, ID_EDIT_GWADDRESS_2); WM_DisableWindow(hItem); EDIT_SetFocussable(hItem, 0); hItem = WM_GetDialogItem(pMsg->hWin, ID_EDIT_GWADDRESS_1); WM_DisableWindow(hItem); EDIT_SetFocussable(hItem, 0); hItem = WM_GetDialogItem(pMsg->hWin, ID_EDIT_GWADDRESS_0); WM_DisableWindow(hItem); EDIT_SetFocussable(hItem, 0); } break; case WM_DELETE: hWinVNC_Settings = 0; 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 ID_BUTTON_SETTINGS_CANCEL: /* Settings: Cancel */ /* Delete NumPad VNC Window */ WM_DeleteWindow(hNumPad); GUI_EndDialog(pMsg->hWin, 0); break; case ID_BUTTON_SETTINGS_OK: /* Settings: OK */ /* Save Settings */ hItem = WM_GetDialogItem(pMsg->hWin, ID_CHECKBOX_DHCP); if (CHECKBOX_GetState(hItem)) /* Use DHCP to allocate dynamic IP address */ { if(VNCSettings.dhcp_use.b.dhcp == 0) { VNCSettings.dhcp_use.b.dhcp = 1; VNCSettings.ipaddr.b.addr0 = 0; VNCSettings.ipaddr.b.addr1 = 0; VNCSettings.ipaddr.b.addr2 = 0; VNCSettings.ipaddr.b.addr3 = 0; VNCSettings.maskaddr.b.addr0 = 0; VNCSettings.maskaddr.b.addr1 = 0; VNCSettings.maskaddr.b.addr2 = 0; VNCSettings.maskaddr.b.addr3 = 0; VNCSettings.gwaddr.b.addr0 = 0; VNCSettings.gwaddr.b.addr1 = 0; VNCSettings.gwaddr.b.addr2 = 0; VNCSettings.gwaddr.b.addr3 = 0; hItem = WM_GetDialogItem(hWinVNC, ID_TEXT_DHCP_STATE); TEXT_SetText(hItem, (char const *)"Enabled"); hItem = WM_GetDialogItem(hWinVNC, ID_TEXT_IPADDR_VALUE); TEXT_SetText(hItem, (char const *)"Not assigned"); hItem = WM_GetDialogItem(hWinVNC, ID_TEXT_SUBNETMASK_VALUE); TEXT_SetText(hItem, (char const *)"Not assigned"); hItem = WM_GetDialogItem(hWinVNC, ID_TEXT_GWADDR_VALUE); TEXT_SetText(hItem, (char const *)"Not assigned"); if (start_button == VNC_HIDE) { hItem = WM_GetDialogItem(hWinVNC, ID_MULTIEDIT_VNC); MULTIEDIT_AddText(hItem, (const char *) "Network settings has been modified\r\n"); MULTIEDIT_AddText(hItem, (const char *) "Restart to apply new settings\r\n"); } } } /* Use static IP address */ else { if (VNCSettings.dhcp_use.b.dhcp == 1) { VNCSettings.dhcp_use.b.dhcp = 0; } if (start_button == VNC_HIDE) { hItem = WM_GetDialogItem(hWinVNC, ID_MULTIEDIT_VNC); MULTIEDIT_AddText(hItem, (const char *) "Network settings has been modified\r\n"); MULTIEDIT_AddText(hItem, (const char *) "Restart to apply new settings\r\n"); } /* Get the new network addresses configuration */ hItem = WM_GetDialogItem(pMsg->hWin, ID_EDIT_IPADDRESS_3); VNCSettings.ipaddr.b.addr3 = EDIT_GetValue(hItem); hItem = WM_GetDialogItem(pMsg->hWin, ID_EDIT_IPADDRESS_2); VNCSettings.ipaddr.b.addr2 = EDIT_GetValue(hItem); hItem = WM_GetDialogItem(pMsg->hWin, ID_EDIT_IPADDRESS_1); VNCSettings.ipaddr.b.addr1 = EDIT_GetValue(hItem); hItem = WM_GetDialogItem(pMsg->hWin, ID_EDIT_IPADDRESS_0); VNCSettings.ipaddr.b.addr0 = EDIT_GetValue(hItem); hItem = WM_GetDialogItem(pMsg->hWin, ID_EDIT_SNMASK_3); VNCSettings.maskaddr.b.addr3 = EDIT_GetValue(hItem); hItem = WM_GetDialogItem(pMsg->hWin, ID_EDIT_SNMASK_2); VNCSettings.maskaddr.b.addr2 = EDIT_GetValue(hItem); hItem = WM_GetDialogItem(pMsg->hWin, ID_EDIT_SNMASK_1); VNCSettings.maskaddr.b.addr1 = EDIT_GetValue(hItem); hItem = WM_GetDialogItem(pMsg->hWin, ID_EDIT_SNMASK_0); VNCSettings.maskaddr.b.addr0 = EDIT_GetValue(hItem); hItem = WM_GetDialogItem(pMsg->hWin, ID_EDIT_GWADDRESS_3); VNCSettings.gwaddr.b.addr3 = EDIT_GetValue(hItem); hItem = WM_GetDialogItem(pMsg->hWin, ID_EDIT_GWADDRESS_2); VNCSettings.gwaddr.b.addr2 = EDIT_GetValue(hItem); hItem = WM_GetDialogItem(pMsg->hWin, ID_EDIT_GWADDRESS_1); VNCSettings.gwaddr.b.addr1 = EDIT_GetValue(hItem); hItem = WM_GetDialogItem(pMsg->hWin, ID_EDIT_GWADDRESS_0); VNCSettings.gwaddr.b.addr0 = EDIT_GetValue(hItem); _VNCApp_GetIPAddress(IP_ADDRESS, VNCSettings.ipaddr.b.addr3, VNCSettings.ipaddr.b.addr2, VNCSettings.ipaddr.b.addr1, VNCSettings.ipaddr.b.addr0); _VNCApp_GetIPAddress(SUBNET_MASK, VNCSettings.maskaddr.b.addr3, VNCSettings.maskaddr.b.addr2, VNCSettings.maskaddr.b.addr1, VNCSettings.maskaddr.b.addr0); _VNCApp_GetIPAddress(GW_ADDRESS, VNCSettings.gwaddr.b.addr3, VNCSettings.gwaddr.b.addr2, VNCSettings.gwaddr.b.addr1, VNCSettings.gwaddr.b.addr0); } /********** Save Settings ***********/ _VNCServer_SaveSettings(); /* Delete NumPad VNC Window */ WM_DeleteWindow(hNumPad); GUI_EndDialog(pMsg->hWin, 0); break; } break; case WM_NOTIFICATION_VALUE_CHANGED: switch (Id) { case ID_CHECKBOX_DHCP: { hItem = WM_GetDialogItem(pMsg->hWin, ID_CHECKBOX_DHCP); if (CHECKBOX_IsChecked(hItem)) { hItem = WM_GetDialogItem(pMsg->hWin, ID_EDIT_IPADDRESS_3); WM_DisableWindow(hItem); EDIT_SetFocussable(hItem, 0); hItem = WM_GetDialogItem(pMsg->hWin, ID_EDIT_IPADDRESS_2); WM_DisableWindow(hItem); EDIT_SetFocussable(hItem, 0); hItem = WM_GetDialogItem(pMsg->hWin, ID_EDIT_IPADDRESS_1); WM_DisableWindow(hItem); EDIT_SetFocussable(hItem, 0); hItem = WM_GetDialogItem(pMsg->hWin, ID_EDIT_IPADDRESS_0); WM_DisableWindow(hItem); EDIT_SetFocussable(hItem, 0); hItem = WM_GetDialogItem(pMsg->hWin, ID_EDIT_SNMASK_3); WM_DisableWindow(hItem); EDIT_SetFocussable(hItem, 0); hItem = WM_GetDialogItem(pMsg->hWin, ID_EDIT_SNMASK_2); WM_DisableWindow(hItem); EDIT_SetFocussable(hItem, 0); hItem = WM_GetDialogItem(pMsg->hWin, ID_EDIT_SNMASK_1); WM_DisableWindow(hItem); EDIT_SetFocussable(hItem, 0); hItem = WM_GetDialogItem(pMsg->hWin, ID_EDIT_SNMASK_0); WM_DisableWindow(hItem); EDIT_SetFocussable(hItem, 0); hItem = WM_GetDialogItem(pMsg->hWin, ID_EDIT_GWADDRESS_3); WM_DisableWindow(hItem); EDIT_SetFocussable(hItem, 0); hItem = WM_GetDialogItem(pMsg->hWin, ID_EDIT_GWADDRESS_2); WM_DisableWindow(hItem); EDIT_SetFocussable(hItem, 0); hItem = WM_GetDialogItem(pMsg->hWin, ID_EDIT_GWADDRESS_1); WM_DisableWindow(hItem); EDIT_SetFocussable(hItem, 0); hItem = WM_GetDialogItem(pMsg->hWin, ID_EDIT_GWADDRESS_0); WM_DisableWindow(hItem); EDIT_SetFocussable(hItem, 0); } else { hItem = WM_GetDialogItem(pMsg->hWin, ID_EDIT_IPADDRESS_3); WM_EnableWindow(hItem); EDIT_SetFocussable(hItem, 1); hItem = WM_GetDialogItem(pMsg->hWin, ID_EDIT_IPADDRESS_2); WM_EnableWindow(hItem); EDIT_SetFocussable(hItem, 1); hItem = WM_GetDialogItem(pMsg->hWin, ID_EDIT_IPADDRESS_1); WM_EnableWindow(hItem); EDIT_SetFocussable(hItem, 1); hItem = WM_GetDialogItem(pMsg->hWin, ID_EDIT_IPADDRESS_0); WM_EnableWindow(hItem); EDIT_SetFocussable(hItem, 1); hItem = WM_GetDialogItem(pMsg->hWin, ID_EDIT_SNMASK_3); WM_EnableWindow(hItem); EDIT_SetFocussable(hItem, 1); hItem = WM_GetDialogItem(pMsg->hWin, ID_EDIT_SNMASK_2); WM_EnableWindow(hItem); EDIT_SetFocussable(hItem, 1); hItem = WM_GetDialogItem(pMsg->hWin, ID_EDIT_SNMASK_1); WM_EnableWindow(hItem); EDIT_SetFocussable(hItem, 1); hItem = WM_GetDialogItem(pMsg->hWin, ID_EDIT_SNMASK_0); WM_EnableWindow(hItem); EDIT_SetFocussable(hItem, 1); hItem = WM_GetDialogItem(pMsg->hWin, ID_EDIT_GWADDRESS_3); WM_EnableWindow(hItem); EDIT_SetFocussable(hItem, 1); hItem = WM_GetDialogItem(pMsg->hWin, ID_EDIT_GWADDRESS_2); WM_EnableWindow(hItem); EDIT_SetFocussable(hItem, 1); hItem = WM_GetDialogItem(pMsg->hWin, ID_EDIT_GWADDRESS_1); WM_EnableWindow(hItem); EDIT_SetFocussable(hItem, 1); hItem = WM_GetDialogItem(pMsg->hWin, ID_EDIT_GWADDRESS_0); WM_EnableWindow(hItem); EDIT_SetFocussable(hItem, 1); } } break; } break; } break; default: WM_DefaultProc(pMsg); break; } }
/********************************************************************* * * MainTask */ void MainTask(void) { GUI_Init(); WM_SetDesktopColor(GUI_BLUE); //!< SetDesktopColor /* The First window to display the Temperature Curve */ { hWM_HBKWIN_CURVE = WM_CreateWindow(0,0,400,240,WM_CF_SHOW | WM_CF_MEMDEV ,0,0); btn = BUTTON_CreateAsChild(315, 10, 75, 35,hWM_HBKWIN_CURVE, ID_CURVE_BTN_SWTITCH_2_PARA, WM_CF_SHOW); btnClear = BUTTON_CreateAsChild(315, 60, 75, 35,hWM_HBKWIN_CURVE, 202, WM_CF_SHOW); /** PWM Edit **/ { /* Edit to display the PWM1 */ Edit_PWM1 = EDIT_CreateEx (370, 170, 25, 20,hWM_HBKWIN_CURVE, WM_CF_SHOW,EDIT_CF_HCENTER | EDIT_CF_VCENTER,ID_CFG_PID_EDT_PWM1, 3); EDIT_SetDecMode(Edit_PWM1,0,0,255,0,0); EDIT_SetValue(Edit_PWM1,0); /* Edit to display the PWM2 */ Edit_PWM2 = EDIT_CreateEx (370, 190, 25, 20,hWM_HBKWIN_CURVE, WM_CF_SHOW,EDIT_CF_HCENTER | EDIT_CF_VCENTER,ID_CFG_PID_EDT_PWM2, 3); EDIT_SetDecMode(Edit_PWM2,0,0,255,0,0); EDIT_SetValue(Edit_PWM2,0); /* Edit to display the PWM3 */ Edit_PWM3 = EDIT_CreateEx (370, 210, 25, 20,hWM_HBKWIN_CURVE, WM_CF_SHOW,EDIT_CF_HCENTER | EDIT_CF_VCENTER,ID_CFG_PID_EDT_PWM3, 3); EDIT_SetDecMode(Edit_PWM3,0,0,255,0,0); EDIT_SetValue(Edit_PWM3,0); } // Set Callback function for background window WM_SetCallback(hWM_HBKWIN_CURVE, _cbBk); } { hWM_HBKWIN_CFG_PID = WM_CreateWindow(0,0,400,240,WM_CF_HIDE | WM_CF_MEMDEV ,0,0); //Add the | WM_CF_MEMDEV flah btn1 = BUTTON_CreateAsChild(320, 30 , 60, 35,hWM_HBKWIN_CFG_PID, ID_CFG_PID_BTN_SWTITCH_2_CURVE, WM_CF_SHOW); btnClear1 = BUTTON_CreateAsChild(320, 75, 60, 35,hWM_HBKWIN_CFG_PID, 203, WM_CF_SHOW); BUTTON_SetText(btn1,"PID_Set"); BUTTON_SetText(btnClear1,"Back"); BUTTON_SetText(btn ,"Running"); BUTTON_SetText(btnClear,"PID_Set"); WM_SetCallback(hWM_HBKWIN_CFG_PID, _cbBk_CFG_PID); } //!< Create a graph widget { hGraph = GRAPH_CreateEx(8, 10, 300, 220, hWM_HBKWIN_CURVE, WM_CF_SHOW | WM_CF_CONST_OUTLINE | WM_CF_MEMDEV_ON_REDRAW , 0, 100); //GRAPH_DATA_YT_MirrorX(hGraph , 1); //!< Create a YT_data hData = GRAPH_DATA_YT_Create(GUI_BLUE, 292,0, 0); // Set the MaxItemNum to 0 hData2 = GRAPH_DATA_YT_Create(GUI_RED,292,0,0); GRAPH_AttachData(hGraph, hData); //!< Attach the data to graph GRAPH_AttachData(hGraph, hData2); //!< Attach the data to graph } WM_ShowWindow(hWM_HBKWIN_CURVE); WM_HideWindow(hWM_HBKWIN_CFG_PID); /* WM_BringToTop(hWM_HBKWIN); WM_BringToBottom(hWM_HBKWIN_CFG_PID); WM_MoveTo(hWM_HBKWIN_CFG_PID,400,240); WM_ResizeWindow(hWM_HBKWIN_CFG_PID,1,1); */ #ifdef PWM_TEXT /** PWM Text **/ { /* Edit to display the PWM1 */ Text_PWM1 = TEXT_CreateEx (310, 170, 30, 20,hWM_HBKWIN_CURVE, WM_CF_SHOW,EDIT_CF_HCENTER | EDIT_CF_VCENTER,ID_CFG_PID_TXT_PWM1, "PMW1"); /* Edit to display the PWM2 */ Text_PWM2 = TEXT_CreateEx (310, 190, 30, 20,hWM_HBKWIN_CURVE, WM_CF_SHOW,EDIT_CF_HCENTER | EDIT_CF_VCENTER,ID_CFG_PID_TXT_PWM2, "PWM2"); /* Edit to display the PWM3 */ Text_PWM3 = TEXT_CreateEx (310, 210, 30, 20,hWM_HBKWIN_CURVE, WM_CF_SHOW,EDIT_CF_HCENTER | EDIT_CF_VCENTER,ID_CFG_PID_TXT_PWM3, "PWM3"); } #endif #ifdef EDIT_AD { /* Edit to display the AD1 */ Edit_AD1 = EDIT_CreateEx (350, 120, 35, 20,hWM_HBKWIN_CURVE, WM_CF_SHOW,EDIT_CF_HCENTER | EDIT_CF_VCENTER,ID_CFG_PID_EDT_AD1, 5); EDIT_SetDecMode(Edit_AD1,0,0,4095,0,0); EDIT_SetValue(Edit_AD1,0); /* Edit to display the AD2 */ Edit_AD2 = EDIT_CreateEx (350, 140, 35, 20,hWM_HBKWIN_CURVE, WM_CF_SHOW,EDIT_CF_HCENTER | EDIT_CF_VCENTER,ID_CFG_PID_EDT_AD2, 5); EDIT_SetDecMode(Edit_AD2,0,0,4095,0,0); EDIT_SetValue(Edit_AD2,0); EDIT_SetFloatMode( Edit_AD1,1.0, 0.0,99.9,1,/*1 bit after dot*/ 0 ); EDIT_SetFloatMode( Edit_AD2,0.0, 0.0,99.9,1,/*1 bit after dot*/ 0 ); } #endif //!< Graph configuration { hScale = GRAPH_SCALE_Create(28, GUI_TA_RIGHT, GRAPH_SCALE_CF_VERTICAL, 20); GRAPH_SCALE_SetTextColor(hScale,GUI_GREEN); GRAPH_SCALE_SetFactor(hScale,0.5); GRAPH_SCALE_SetNumDecs(hScale,1); GRAPH_AttachScale(hGraph, hScale); GRAPH_SetGridDistX(hGraph,0); // Hide the X Grid GRAPH_SetGridDistY(hGraph,20); GRAPH_SetGridVis(hGraph,1); //!< Display the Grid GRAPH_SetBorder(hGraph,30,5,5,5); //!< Set the frame border //GRAPH_SetGridFixedX(hGraph,1); //GRAPH_SetVSizeX(hGraph,500); //加入此会导致死掉 程序卡死在获取此指针上面. //GRAPH_SetGridFixedY(hGraph,1); GRAPH_SetColor(hGraph,GUI_BLUE,GRAPH_CI_BORDER); GRAPH_SetColor(hGraph,GUI_WHITE,GRAPH_CI_BK); GRAPH_SetColor(hGraph,GUI_WHITE,GRAPH_CI_FRAME); } /* Button Configuration */ { BUTTON_SetBkColor(btn,BUTTON_CI_UNPRESSED,GUI_LIGHTBLUE); BUTTON_SetBkColor(btn,BUTTON_CI_PRESSED,GUI_RED); BUTTON_SetFocusColor(btn,GUI_YELLOW); } while(1) { GUI_Exec(); OSTimeDlyHMSM(0,0,0,50); //#define DRAWPOINT #ifdef DRAWPOINT itoa(usValue, buf, 10); BUTTON_SetText(btn,buf); // GRAPH_DATA_YT_AddValue(hData,usValue/20); #endif } }
/********************************************************************* * * _cbDialogColor * * Function description * Callback routine of DialogColor */ static void _cbDialogColor(WM_MESSAGE * pMsg) { GUI_COLOR Color; WM_HWIN hDlg; WM_HWIN hItem; int i; int NCode; int Id; hDlg = pMsg->hWin; Color = 0; switch (pMsg->MsgId) { case WM_PAINT: // // Draw RGB values // GUI_SetColor(_aColorSep[0]); GUI_FillRect(180, 60, 199, 79); GUI_SetColor(_aColorSep[1] << 8); GUI_FillRect(180, 90, 199, 109); GUI_SetColor(((U32)_aColorSep[2]) << 16); GUI_FillRect(180, 120, 199, 139); // // Draw resulting color // GUI_SetColor(_aColorSep[0] | (((U32)_aColorSep[1]) << 8) | (((U32)_aColorSep[2]) << 16)); GUI_FillRect(205, 60, 285, 139); return; case WM_INIT_DIALOG: _ColorIndex = 0; for (i = 0; i < 3; i++) { hItem = WM_GetDialogItem(hDlg, GUI_ID_SLIDER0 + i); _aColorSep[i] = (_ColorBackGround & (0xff << (i * 8))) >> (i * 8); SLIDER_SetRange(hItem, 0, 255); SLIDER_SetValue(hItem, _aColorSep[i]); // // Init EDIT-widgets // hItem = WM_GetDialogItem(hDlg, GUI_ID_EDIT0 + i); EDIT_SetDecMode(hItem, _aColorSep[i], 0, 255, 0, 0); } // // Init dropdown widgets // hItem = WM_GetDialogItem(hDlg, GUI_ID_DROPDOWN0); DROPDOWN_SetAutoScroll(hItem, 1); DROPDOWN_AddString(hItem, "Background"); DROPDOWN_AddString(hItem, "Grid"); DROPDOWN_AddString(hItem, "Label"); DROPDOWN_AddString(hItem, "Temperature 1"); DROPDOWN_AddString(hItem, "Temperature 2"); 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 if (Id == GUI_ID_OK) { // OK Button _SaveCurrentColor(); _UpdateTextColors(_hDialogMain); hItem = WM_GetClientWindow(WM_GetDialogItem(_hDialogMain, ID_TEMPERATURE)); WM_InvalidateWindow(hItem); WM_SetFocus(WM_GetDialogItem(_hDialogMain, ID_TEMPERATURE)); GUI_SetOrg(0, 0); } break; case WM_NOTIFICATION_SEL_CHANGED: _SaveCurrentColor(); if (Id == GUI_ID_DROPDOWN0) { for (i = 0; i < 3; i++) { hItem = WM_GetDialogItem(hDlg, GUI_ID_DROPDOWN0); _ColorIndex = DROPDOWN_GetSel(hItem); hItem = WM_GetDialogItem(hDlg, GUI_ID_SLIDER0 + i); switch (_ColorIndex) { case 0: Color = _ColorBackGround; break; case 1: Color = _ColorGrid; break; case 2: Color = _ColorLabel; break; case 3: Color = _ColorTemp1; break; case 4: Color = _ColorTemp2; break; } _aColorSep[i] = (Color & (0xff << (i * 8))) >> (i * 8); SLIDER_SetRange(hItem, 0, 255); SLIDER_SetValue(hItem, _aColorSep[i]); // // Init EDIT-widgets // hItem = WM_GetDialogItem(hDlg, GUI_ID_EDIT0 + i); EDIT_SetDecMode(hItem, _aColorSep[i], 0, 255, 0, 0); } } break; case WM_NOTIFICATION_VALUE_CHANGED: // Value has changed { unsigned Index, v; WM_HWIN hSlider, hEdit; Index = 0; v = 0; if ((Id >= GUI_ID_SLIDER0) && (Id <= GUI_ID_SLIDER2)) { Index = Id - GUI_ID_SLIDER0; // // SLIDER-widget has changed, update EDIT-widget // hSlider = WM_GetDialogItem(hDlg, GUI_ID_SLIDER0 + Index); hEdit = WM_GetDialogItem(hDlg, GUI_ID_EDIT0 + Index); v = SLIDER_GetValue(hSlider); EDIT_SetValue(hEdit, v); } else if ((Id >= GUI_ID_EDIT0) && (Id <= GUI_ID_EDIT2)) { Index = Id - GUI_ID_EDIT0; // // If EDIT-widget has changed, update SLIDER-widget // hSlider = WM_GetDialogItem(hDlg, GUI_ID_SLIDER0 + Index); hEdit = WM_GetDialogItem(hDlg, GUI_ID_EDIT0 + Index); v = EDIT_GetValue(hEdit); SLIDER_SetValue(hSlider, v); } _aColorSep[Index] = v; // // At last invalidate dialog client window // WM_InvalidateWindow(WM_GetClientWindow(hDlg)); } break; } break; default: WM_DefaultProc(pMsg); } }
/********************************************************************* * * _cbCallback */ static void _cbCallback(WM_MESSAGE * pMsg) { int NCode; int Id; int Sel; char ac[80]; WM_HWIN hDlg; WM_HWIN hMulti; WM_HWIN hItem; hDlg = pMsg->hWin; hMulti = WM_GetDialogItem(hDlg, GUI_ID_MULTIEDIT0); switch (pMsg->MsgId) { case WM_INIT_DIALOG: hItem = WM_GetDialogItem(hDlg, GUI_ID_SLIDER0); SLIDER_SetRange(hItem, 1, 100); SLIDER_SetValue(hItem, 100); hItem = WM_GetDialogItem(hDlg, GUI_ID_SLIDER1); SLIDER_SetRange(hItem, 1, 152); SLIDER_SetValue(hItem, 152); hItem = WM_GetDialogItem(hDlg, GUI_ID_SLIDER2); SLIDER_SetRange(hItem, 0, 5); SLIDER_SetValue(hItem, 2); hItem = WM_GetDialogItem(hDlg, GUI_ID_SLIDER3); SLIDER_SetRange(hItem, 0, 100); SLIDER_SetValue(hItem, 0); hItem = WM_GetDialogItem(hDlg, GUI_ID_EDIT1); EDIT_SetDecMode(hItem, 0, 0, 1000, 0, 0); hItem = WM_GetDialogItem(hDlg, GUI_ID_RADIO2); RADIO_SetText(hItem, "None", 0); RADIO_SetText(hItem, "Char", 1); RADIO_SetText(hItem, "Word", 2); hItem = WM_GetDialogItem(hDlg, GUI_ID_RADIO3); RADIO_SetText(hItem, "None", 0); RADIO_SetText(hItem, "Simple", 1); RADIO_SetText(hItem, "3D", 2); RADIO_SetValue(hItem, 2); RADIO_SetTextColor(hItem, GUI_BLUE); MULTIEDIT_EnableBlink(hMulti, 300, 1); MULTIEDIT_SetFont(hMulti, &GUI_Font8x16); MULTIEDIT_SetBkColor(hMulti, 0, GUI_YELLOW); MULTIEDIT_SetTextColor(hMulti, 0, GUI_BLUE); MULTIEDIT_SetAutoScrollV(hMulti, 1); MULTIEDIT_SetInsertMode(hMulti, 1); MULTIEDIT_SetPrompt(hMulti, "C:\\>"); MULTIEDIT_SetHBorder(hMulti, 2); MULTIEDIT_SetText(hMulti, "Multiedit - long line 12345678901234567890\nThis demonstrates the use of a MULTIEDIT widget"); MULTIEDIT_AddKey(hMulti, 'A'); MULTIEDIT_AddKey(hMulti, 'B'); MULTIEDIT_AddKey(hMulti, 'C'); MULTIEDIT_AddKey(hMulti, GUI_KEY_ENTER); MULTIEDIT_SetAutoScrollH(hMulti, 1); hItem = WM_GetDialogItem(hDlg, GUI_ID_BUTTON5); BUTTON_SetFocussable(hItem, 0); break; case WM_KEY: switch (((WM_KEY_INFO*)(pMsg->Data.p))->Key) { case GUI_KEY_ESCAPE: GUI_EndDialog(hDlg, 1); break; case GUI_KEY_ENTER: GUI_EndDialog(hDlg, 0); break; } break; case WM_NOTIFY_PARENT: Id = WM_GetId(pMsg->hWinSrc); NCode = pMsg->Data.v; hItem = WM_GetDialogItem(hDlg, Id); switch (NCode) { case WM_NOTIFICATION_VALUE_CHANGED: switch (Id) { case GUI_ID_SLIDER0: Sel = SLIDER_GetValue(hItem); WM_SetYSize(hMulti, Sel); break; case GUI_ID_SLIDER1: Sel = SLIDER_GetValue(hItem); WM_SetXSize(hMulti, Sel); break; case GUI_ID_SLIDER2: Sel = SLIDER_GetValue(hItem); MULTIEDIT_SetHBorder(hMulti, Sel); break; case GUI_ID_SLIDER3: Sel = SLIDER_GetValue(hItem); MULTIEDIT_SetMaxNumChars(hMulti, Sel); break; case GUI_ID_RADIO0: // // Horizontal scrollbar // Sel = RADIO_GetValue(hItem); switch (Sel) { case 0: MULTIEDIT_SetAutoScrollH(hMulti, 1); // Auto break; case 1: MULTIEDIT_SetAutoScrollH(hMulti, 0); // Off WM_SetScrollbarH(hMulti, 0); break; case 2: MULTIEDIT_SetAutoScrollH(hMulti, 0); // On WM_SetScrollbarH(hMulti, 1); break; } break; case GUI_ID_RADIO1: // // Vertical scrollbar // Sel = RADIO_GetValue(hItem); switch (Sel) { case 0: MULTIEDIT_SetAutoScrollV(hMulti, 1); break; case 1: MULTIEDIT_SetAutoScrollV(hMulti, 0); WM_SetScrollbarV(hMulti, 0); break; case 2: MULTIEDIT_SetAutoScrollV(hMulti, 0); WM_SetScrollbarV(hMulti, 1); break; } break; case GUI_ID_RADIO2: // // Wrap // Sel = RADIO_GetValue(hItem); switch (Sel) { case 0: MULTIEDIT_SetWrapNone(hMulti); break; case 1: MULTIEDIT_SetWrapChar(hMulti); break; case 2: MULTIEDIT_SetWrapWord(hMulti); break; } break; case GUI_ID_RADIO3: // // Effect type // Sel = RADIO_GetValue(hItem); switch (Sel) { case 0: WIDGET_SetEffect(hMulti, &WIDGET_Effect_None); break; case 1: WIDGET_SetEffect(hMulti, &WIDGET_Effect_Simple); break; case 2: WIDGET_SetEffect(hMulti, &WIDGET_Effect_3D); break; } break; } break; case WM_NOTIFICATION_RELEASED: // React only if released WM_GetDialogItem(hDlg, Id); switch (Id) { case GUI_ID_OK: GUI_EndDialog(hDlg, 0); break; case GUI_ID_CANCEL: GUI_EndDialog(hDlg, 1); break; case GUI_ID_CHECK0: _RdOnly ^= 1; MULTIEDIT_SetReadOnly(hMulti, _RdOnly); break; case GUI_ID_CHECK1: _RTF8 ^= 1; if (_RTF8) { GUI_UC_SetEncodeUTF8(); } else { GUI_UC_SetEncodeNone(); } WM_InvalidateWindow(hMulti); break; case GUI_ID_CHECK2: _Password ^= 1; MULTIEDIT_SetPasswordMode(hMulti, _Password); break; case GUI_ID_BUTTON1: hItem = WM_GetDialogItem(hDlg, GUI_ID_EDIT0); EDIT_GetText(hItem, &ac[0], sizeof(ac)); MULTIEDIT_SetPrompt(hMulti, ac); break; case GUI_ID_BUTTON2: hItem = WM_GetDialogItem(hDlg, GUI_ID_EDIT1); MULTIEDIT_SetCursorOffset(hMulti, EDIT_GetValue(hItem)); WM_SetFocus(hMulti); break; case GUI_ID_BUTTON3: MULTIEDIT_SetText(hMulti, "Short text"); break; case GUI_ID_BUTTON4: MULTIEDIT_SetText(hMulti, "Long text\n123456789012345678901234567890\nLast line\n"); break; case GUI_ID_BUTTON5: MULTIEDIT_AddText(hMulti, "Added"); break; case GUI_ID_BUTTON6: MULTIEDIT_SetFont(hMulti, &GUI_Font8x16); break; case GUI_ID_BUTTON7: MULTIEDIT_SetFont(hMulti, &GUI_Font16_1); break; } break; } break; default: WM_DefaultProc(pMsg); } }
/********************************************************************* * * _cbCallback * * Function description * Callback function of the dialog */ void Main_cbCallback (WM_MESSAGE* pMsg) { int NCode, Id; WM_HWIN hDlg; WM_HWIN hItem; hDlg = pMsg->hWin; switch (pMsg->MsgId) { case WM_INIT_DIALOG: OSC_InitDialog(pMsg); hItem = WM_GetDialogItem(hDlg, GUI_ID_GRAPH0); g_Disp.hItemGraph_OSC = hItem; // // Set graph attributes // MemDisp(200, 200); GRAPH_SetGridDistY(hItem, 25); GRAPH_SetGridVis(hItem, 1); GRAPH_SetGridFixedX(hItem, 1); GRAPH_SetUserDraw(hItem, Main_UserDraw); // // Create and add vertical scale // g_hScaleV = GRAPH_SCALE_Create(SCALE_V_Pos, GUI_TA_RIGHT, GRAPH_SCALE_CF_VERTICAL, 25); GRAPH_SCALE_SetTextColor(g_hScaleV, GUI_YELLOW); GRAPH_AttachScale(hItem, g_hScaleV); // // Create and add horizontal scale // g_hScaleH = GRAPH_SCALE_Create(SCALE_H_Pos, GUI_TA_HCENTER, GRAPH_SCALE_CF_HORIZONTAL, 50); GRAPH_SCALE_SetTextColor(g_hScaleH, GUI_DARKGREEN); GRAPH_AttachScale(hItem, g_hScaleH); case WM_PAINT: OSC_PaintDialog(pMsg); break; case WM_KEY: switch (((WM_KEY_INFO*)(pMsg->Data.p))->Key) { case GUI_KEY_ESCAPE: GUI_EndDialog(hDlg, 1); break; case GUI_KEY_ENTER: GUI_EndDialog(hDlg, 0); break; } break; case WM_NOTIFY_PARENT: Id = WM_GetId(pMsg->hWinSrc); NCode = pMsg->Data.v; switch (Id) { case GUI_ID_OK: if (NCode == WM_NOTIFICATION_RELEASED) GUI_EndDialog(hDlg, 0); break; case GUI_ID_CANCEL: if (NCode == WM_NOTIFICATION_RELEASED) GUI_EndDialog(hDlg, 0); break; case __ZoomPlusID: //Zoom+ if (NCode == WM_NOTIFICATION_RELEASED) g_OSCInfo.Time_rat = Safe_Return (g_OSCInfo.Time_rat + 1, eReslt_rat_Begin, eReslt_rat_End) ; break; case __ZoomSubID: //Zoom- if (NCode == WM_NOTIFICATION_RELEASED) g_OSCInfo.Time_rat = Safe_Return (g_OSCInfo.Time_rat - 1, eReslt_rat_Begin, eReslt_rat_End) ; break; case __AmpliPlusID: //Zoom+ if (NCode == WM_NOTIFICATION_RELEASED) g_OSCInfo.Ampli_rat = Safe_Return (g_OSCInfo.Ampli_rat + 1, eReslt_rat_Begin, eReslt_rat_End) ; break; case __AmpliSubID: //Zoom- if (NCode == WM_NOTIFICATION_RELEASED) g_OSCInfo.Ampli_rat = Safe_Return (g_OSCInfo.Ampli_rat - 1, eReslt_rat_Begin, eReslt_rat_End) ; break; case __MeasureID: //Measure if (NCode == WM_NOTIFICATION_RELEASED) if (g_GUICon.MeasureState == eClose) {//打开Measure CloseAllBSPDLG(); WindowSwitch(g_Disp.BSP_MersureDlg, eOpen); g_GUICon.MeasureState = eOpen; } else {//关闭Measure CloseAllBSPDLG(); } break; case __NumpadID: //开关Singal控制面板 if (NCode == WM_NOTIFICATION_RELEASED) if (g_GUICon.NumpadState == eClose) {//打开NumPad CloseAllBSPDLG(); WindowSwitch(g_Disp.BSP_NumpadDlg, eOpen); g_GUICon.NumpadState = eOpen; } else {//关闭NumPad CloseAllBSPDLG(); } break; case __StopID: //Stop if (NCode == WM_NOTIFICATION_RELEASED) { if (g_GUICon.GraphDispState == eClose) {//开始 g_GUICon.GraphDispState = eOpen; BUTTON_SetText(g_GraphButton.Stop.Handle, "Stop"); BUTTON_SetBkColor(g_GraphButton.Stop.Handle, BUTTON_CI_PRESSED, GUI_BLUE); BUTTON_SetBkColor(g_GraphButton.Stop.Handle, BUTTON_CI_UNPRESSED, GUI_BLUE); } else {//暂停 g_GUICon.GraphDispState = eClose; BUTTON_SetText(g_GraphButton.Stop.Handle, "Continue"); BUTTON_SetBkColor(g_GraphButton.Stop.Handle, BUTTON_CI_PRESSED, GUI_RED); BUTTON_SetBkColor(g_GraphButton.Stop.Handle, BUTTON_CI_UNPRESSED, GUI_RED); } } break; case __InputModeID: if (NCode == WM_NOTIFICATION_RELEASED) { if (g_UserInput.InputMode == eAD9834DutyInput) {//改为输入频率 g_UserInput.InputMode = eAD9834FreqInput; BUTTON_SetText(g_GraphButton.InputMode.Handle, "Freq Input"); EDIT_SetDecMode(g_UserInput.Numpad.EdirorHandle, g_Device.AD9834Freq, 1000, 1000000, 0, GUI_EDIT_SUPPRESS_LEADING_ZEROES); BUTTON_SetBkColor(g_GraphButton.InputMode.Handle, BUTTON_CI_PRESSED, GUI_BLUE); BUTTON_SetBkColor(g_GraphButton.InputMode.Handle, BUTTON_CI_UNPRESSED, GUI_BLUE); } else {//改为输入占空比 g_UserInput.InputMode = eAD9834DutyInput; BUTTON_SetText(g_GraphButton.InputMode.Handle, "Duty Input"); EDIT_SetFloatMode(g_UserInput.Numpad.EdirorHandle, g_Device.AD9834Duty, 0, 100, 2, GUI_EDIT_SUPPRESS_LEADING_ZEROES); BUTTON_SetBkColor(g_GraphButton.InputMode.Handle, BUTTON_CI_PRESSED, GUI_RED); BUTTON_SetBkColor(g_GraphButton.InputMode.Handle, BUTTON_CI_UNPRESSED, GUI_RED); } } break; } break; default: WM_DefaultProc(pMsg); } }
/********************************************************************* * * _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; } }