/** * @brief Callback function of the Camera Settings page * @param pMsg: pointer to data structure of type WM_MESSAGE * @retval None */ static void _cbCameraSettings(WM_MESSAGE * pMsg) { WM_HWIN hItem; switch (pMsg->MsgId) { case WM_INIT_DIALOG: /* Initialization of 'Brightness' */ hItem = WM_GetDialogItem(pMsg->hWin, ID_TEXT_0); TEXT_SetFont(hItem, GUI_FONT_13B_1); TEXT_SetTextAlign(hItem, GUI_TA_RIGHT | GUI_TA_VCENTER); /* Initialization of 'Contrast' */ hItem = WM_GetDialogItem(pMsg->hWin, ID_TEXT_1); TEXT_SetFont(hItem, GUI_FONT_13B_1); TEXT_SetTextAlign(hItem, GUI_TA_RIGHT | GUI_TA_VCENTER); /* Initialization of '-2 -1 0 1 2' */ hItem = WM_GetDialogItem(pMsg->hWin, ID_TEXT_3); TEXT_SetFont(hItem, GUI_FONT_13_1); TEXT_SetTextAlign(hItem, GUI_TA_HCENTER | GUI_TA_VCENTER); /* Initialization of '-2 -1 0 1 2' */ hItem = WM_GetDialogItem(pMsg->hWin, ID_TEXT_4); TEXT_SetTextAlign(hItem, GUI_TA_HCENTER | GUI_TA_VCENTER); hItem = WM_GetDialogItem(pMsg->hWin, ID_SLIDER_0); SLIDER_SetRange(hItem, 1, 5); SLIDER_SetNumTicks(hItem, 5); if(CameraSettings.b.brightness == 0) { CameraSettings.b.brightness = 3; } SLIDER_SetValue(hItem, CameraSettings.b.brightness); hItem = WM_GetDialogItem(pMsg->hWin, ID_SLIDER_1); SLIDER_SetRange(hItem, 1, 5); SLIDER_SetNumTicks(hItem, 5); if(CameraSettings.b.contrast == 0) { CameraSettings.b.contrast = 3; } SLIDER_SetValue(hItem, CameraSettings.b.contrast); break; default: WM_DefaultProc(pMsg); break; } }
/********************************************************************* * * _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); } }
void InitDialog(WM_MESSAGE * pMsg) { WM_HWIN hWin = pMsg->hWin; FRAMEWIN_SetTextAlign(hWin,GUI_TA_VCENTER|GUI_TA_CENTER); FRAMEWIN_AddCloseButton(hWin, FRAMEWIN_BUTTON_RIGHT, 0); FRAMEWIN_AddMaxButton(hWin, FRAMEWIN_BUTTON_RIGHT, 1); FRAMEWIN_AddMinButton(hWin, FRAMEWIN_BUTTON_RIGHT, 2); FRAMEWIN_SetTitleHeight(hWin,18); SLIDER_SetRange(WM_GetDialogItem(hWin,GUI_ID_SLIDER0),5,250); SLIDER_SetValue(WM_GetDialogItem(hWin,GUI_ID_SLIDER0),200); EDIT_SetTextAlign(WM_GetDialogItem(hWin,GUI_ID_EDIT0),GUI_TA_VCENTER|GUI_TA_CENTER); EDIT_SetTextAlign(WM_GetDialogItem(hWin,GUI_ID_EDIT1),GUI_TA_VCENTER|GUI_TA_CENTER); EDIT_SetTextAlign(WM_GetDialogItem(hWin,GUI_ID_EDIT2),GUI_TA_VCENTER|GUI_TA_CENTER); EDIT_SetTextAlign(WM_GetDialogItem(hWin,GUI_ID_EDIT3),GUI_TA_VCENTER|GUI_TA_CENTER); EDIT_SetTextAlign(WM_GetDialogItem(hWin,GUI_ID_EDIT4),GUI_TA_VCENTER|GUI_TA_CENTER); }
/********************************************************************* * * _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) { 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 * * Purpose: * Callback function of the dialog */ static void _cbCallback(WM_MESSAGE * pMsg) { int NCode, Id, Value, i; WM_HWIN hDlg, hItem; hDlg = pMsg->hWin; switch (pMsg->MsgId) { case WM_INIT_DIALOG: hItem = WM_GetDialogItem(hDlg, GUI_ID_GRAPH0); _InitPoints(); /* Add graphs */ for (i = 0; i < 3; i++) { GRAPH_DATA_Handle hDataXY; hDataXY = GRAPH_DATA_XY_Create(_aColor[i], GUI_COUNTOF(_aPoint[i]), _aPoint[i], GUI_COUNTOF(_aPoint[i])); GRAPH_DATA_XY_SetLineStyle(hDataXY, _aLStyle[i]); GRAPH_AttachData(hItem, hDataXY); } /* Set graph attributes */ GRAPH_SetGridDistY(hItem, 25); GRAPH_SetGridVis(hItem, 1); GRAPH_SetUserDraw(hItem, _UserDraw); /* Create and add vertical scale */ _hScaleV = GRAPH_SCALE_Create( 35, GUI_TA_RIGHT, GRAPH_SCALE_CF_VERTICAL, 25); GRAPH_SCALE_SetOff(_hScaleV, 100); GRAPH_SCALE_SetFactor(_hScaleV, 0.04f); GRAPH_SCALE_SetTextColor(_hScaleV, GUI_RED); GRAPH_AttachScale(hItem, _hScaleV); /* Create and add horizontal scale */ _hScaleH = GRAPH_SCALE_Create(70, GUI_TA_HCENTER, GRAPH_SCALE_CF_HORIZONTAL, 50); GRAPH_SCALE_SetFactor(_hScaleH, 0.02f); GRAPH_SCALE_SetTextColor(_hScaleH, GUI_DARKGREEN); GRAPH_AttachScale(hItem, _hScaleH); /* Init check boxes */ hItem = WM_GetDialogItem(hDlg, GUI_ID_CHECK2); CHECKBOX_SetText(hItem, "L"); CHECKBOX_SetState(hItem, 1); hItem = WM_GetDialogItem(hDlg, GUI_ID_CHECK3); CHECKBOX_SetText(hItem, "T"); hItem = WM_GetDialogItem(hDlg, GUI_ID_CHECK4); CHECKBOX_SetText(hItem, "R"); hItem = WM_GetDialogItem(hDlg, GUI_ID_CHECK5); CHECKBOX_SetText(hItem, "B"); hItem = WM_GetDialogItem(hDlg, GUI_ID_CHECK1); CHECKBOX_SetText(hItem, "Grid"); CHECKBOX_SetState(hItem, 1); hItem = WM_GetDialogItem(hDlg, GUI_ID_CHECK6); CHECKBOX_SetText(hItem, "HScroll"); hItem = WM_GetDialogItem(hDlg, GUI_ID_CHECK7); CHECKBOX_SetText(hItem, "VScroll"); /* Init slider widgets */ hItem = WM_GetDialogItem(hDlg, GUI_ID_SLIDER0); SLIDER_SetRange(hItem, 0, 10); SLIDER_SetValue(hItem, 5); SLIDER_SetNumTicks(hItem, 6); hItem = WM_GetDialogItem(hDlg, GUI_ID_SLIDER1); SLIDER_SetRange(hItem, 0, 20); SLIDER_SetValue(hItem, 5); SLIDER_SetNumTicks(hItem, 6); /* Init radio widget */ hItem = WM_GetDialogItem(hDlg, GUI_ID_RADIO0); RADIO_SetText(hItem, "3D", 0); RADIO_SetText(hItem, "flat", 1); RADIO_SetText(hItem, "-", 2); /* Init button widget */ hItem = WM_GetDialogItem(hDlg, GUI_ID_BUTTON0); WM_SetStayOnTop(hItem, 1); break; case WM_NOTIFY_PARENT: Id = WM_GetId(pMsg->hWinSrc); /* Id of widget */ NCode = pMsg->Data.v; /* Notification code */ switch (NCode) { case WM_NOTIFICATION_CLICKED: switch (Id) { case GUI_ID_BUTTON0: _ToggleFullScreenMode(hDlg); break; } break; case WM_NOTIFICATION_VALUE_CHANGED: switch (Id) { case GUI_ID_CHECK1: /* Toggle grid */ hItem = WM_GetDialogItem(hDlg, GUI_ID_GRAPH0); GRAPH_SetGridVis(hItem, CHECKBOX_IsChecked(WM_GetDialogItem(hDlg, GUI_ID_CHECK1))); break; case GUI_ID_CHECK2: case GUI_ID_CHECK3: case GUI_ID_CHECK4: case GUI_ID_CHECK5: /* Toggle border */ hItem = WM_GetDialogItem(hDlg, GUI_ID_GRAPH0); GRAPH_SetBorder(hItem, CHECKBOX_IsChecked(WM_GetDialogItem(hDlg, GUI_ID_CHECK2)) * 40, CHECKBOX_IsChecked(WM_GetDialogItem(hDlg, GUI_ID_CHECK3)) * 5, CHECKBOX_IsChecked(WM_GetDialogItem(hDlg, GUI_ID_CHECK4)) * 5, CHECKBOX_IsChecked(WM_GetDialogItem(hDlg, GUI_ID_CHECK5)) * 5); break; case GUI_ID_SLIDER0: /* Set horizontal grid spacing */ hItem = WM_GetDialogItem(hDlg, GUI_ID_GRAPH0); Value = SLIDER_GetValue(pMsg->hWinSrc) * 10; GRAPH_SetGridDistX(hItem, Value); GRAPH_SCALE_SetTickDist(_hScaleH, Value); if (Value != 50) { GRAPH_SCALE_SetNumDecs(_hScaleH, 1); } else { GRAPH_SCALE_SetNumDecs(_hScaleH, 0); } break; case GUI_ID_SLIDER1: /* Set vertical grid spacing */ hItem = WM_GetDialogItem(hDlg, GUI_ID_GRAPH0); Value = SLIDER_GetValue(pMsg->hWinSrc) * 5; GRAPH_SetGridDistY(hItem, Value); GRAPH_SCALE_SetTickDist(_hScaleV, Value); if (Value != 25) { GRAPH_SCALE_SetNumDecs(_hScaleV, 1); } else { GRAPH_SCALE_SetNumDecs(_hScaleV, 0); } break; case GUI_ID_RADIO0: /* Set the widget effect */ hItem = WM_GetDialogItem(hDlg, GUI_ID_GRAPH0); switch (RADIO_GetValue(pMsg->hWinSrc)) { case 0: WIDGET_SetEffect(hItem, &WIDGET_Effect_3D); break; case 1: WIDGET_SetEffect(hItem, &WIDGET_Effect_Simple); break; case 2: WIDGET_SetEffect(hItem, &WIDGET_Effect_None); break; } break; case GUI_ID_CHECK6: /* Toggle horizontal scroll bar */ hItem = WM_GetDialogItem(hDlg, GUI_ID_GRAPH0); if (CHECKBOX_IsChecked(WM_GetDialogItem(hDlg, GUI_ID_CHECK6))) { GRAPH_SetVSizeX(hItem, 500); } else { GRAPH_SetVSizeX(hItem, 0); } break; case GUI_ID_CHECK7: /* Toggle vertical scroll bar */ hItem = WM_GetDialogItem(hDlg, GUI_ID_GRAPH0); if (CHECKBOX_IsChecked(WM_GetDialogItem(hDlg, GUI_ID_CHECK7))) { GRAPH_SetVSizeY(hItem, 300); } else { GRAPH_SetVSizeY(hItem, 0); } break; } break; } break; default: WM_DefaultProc(pMsg); } }
static void _cbDialog(WM_MESSAGE * pMsg) { WM_HWIN hItem; int NCode; int Id; int led; static int i; int led_num; switch (pMsg->MsgId) { case WM_TIMER: rt_device_control(dev_led, RT_DEVICE_GET_LED_NUM, &led_num); rt_device_control(dev_led, RT_DEVICE_CTRL_LED_TOGGLE, &i); i++; i%= led_num; if(_gMode == LED_WATERLAMP) { WM_RestartTimer(pMsg->Data.v, _gFreq); } break; case WM_INIT_DIALOG: _gMode = 0; _LedInit(); hItem = pMsg->hWin; FRAMEWIN_SetText(hItem, "led"); hItem = WM_GetDialogItem(pMsg->hWin, ID_RADIO_0); RADIO_SetText(hItem, "control", 0); RADIO_SetText(hItem, "Water lamp", 1); RADIO_SetFont(hItem, GUI_FONT_13B_1); hItem = WM_GetDialogItem(pMsg->hWin, ID_SLIDER_0); SLIDER_SetRange(hItem, 50, 1000); hItem = WM_GetDialogItem(pMsg->hWin, ID_BUTTON_0); BUTTON_SetText(hItem, "led1"); hItem = WM_GetDialogItem(pMsg->hWin, ID_BUTTON_1); BUTTON_SetText(hItem, "led2"); hItem = WM_GetDialogItem(pMsg->hWin, ID_TEXT_0); TEXT_SetText(hItem, "freuqency"); hItem = WM_GetDialogItem(pMsg->hWin, ID_BUTTON_2); BUTTON_SetText(hItem, "led3"); hItem = WM_GetDialogItem(pMsg->hWin, ID_BUTTON_3); BUTTON_SetText(hItem, "led4"); hItem = WM_GetDialogItem(pMsg->hWin, ID_BUTTON_4); BUTTON_SetText(hItem, "Cancel"); break; case WM_NOTIFY_PARENT: Id = WM_GetId(pMsg->hWinSrc); NCode = pMsg->Data.v; switch(Id) { case ID_SLIDER_0: // Notifications sent by 'Slider' switch(NCode) { case WM_NOTIFICATION_VALUE_CHANGED: _gFreq = SLIDER_GetValue(WM_GetDialogItem(pMsg->hWin, ID_SLIDER_0)); break; } break; case ID_RADIO_0: switch(NCode) { case WM_NOTIFICATION_CLICKED: break; case WM_NOTIFICATION_RELEASED: break; case WM_NOTIFICATION_VALUE_CHANGED: _gMode = RADIO_GetValue(WM_GetDialogItem(pMsg->hWin, ID_RADIO_0)); if(_gMode == LED_WATERLAMP) { WM_CreateTimer(WM_GetClientWindow(pMsg->hWin), 0, 200, 0); } break; } break; case ID_BUTTON_0: switch(NCode) { case WM_NOTIFICATION_CLICKED: if(_gMode == LED_CONTROL) { led = 0; rt_device_control(dev_led, RT_DEVICE_CTRL_LED_TOGGLE, &led); } break; } break; case ID_BUTTON_1: switch(NCode) { case WM_NOTIFICATION_CLICKED: if(_gMode == LED_CONTROL) { led = 1; rt_device_control(dev_led, RT_DEVICE_CTRL_LED_TOGGLE, &led); } break; } break; case ID_BUTTON_2: switch(NCode) { case WM_NOTIFICATION_CLICKED: if(_gMode == LED_CONTROL) { led = 2; rt_device_control(dev_led, RT_DEVICE_CTRL_LED_TOGGLE, &led); } break; } break; case ID_BUTTON_3: switch(NCode) { case WM_NOTIFICATION_CLICKED: if(_gMode == LED_CONTROL) { led = 3; rt_device_control(dev_led, RT_DEVICE_CTRL_LED_TOGGLE, &led); } break; } break; case ID_BUTTON_4: // Notifications sent by 'Button' switch(NCode) { case WM_NOTIFICATION_RELEASED: GUI_EndDialog(pMsg->hWin, 0); break; } break; } break; default: WM_DefaultProc(pMsg); break; } }
/** * @brief Callback routine of the dialog * @param pMsg: pointer to a data structure of type WM_MESSAGE * @retval None */ static void _cbDialog(WM_MESSAGE * pMsg) { WM_HWIN hItem, hClient; GUI_RECT r; int Id, NCode, offset; switch (pMsg->MsgId) { case WM_INIT_DIALOG: hItem = WM_GetDialogItem(pMsg->hWin, ID_VIDEO_DURATION); TEXT_SetFont(hItem, GUI_FONT_13HB_ASCII); TEXT_SetTextColor(hItem, 0x00804000); hClient = WM_GetClientWindow(pMsg->hWin); WM_GetClientRectEx(hClient, &r); hVideoScreen = WM_CreateWindowAsChild(r.x0 + 2, r.y0 + 2, r.x1 - 2, r.y1 - 118, hClient, WM_CF_SHOW, _cbVideoWindow , 0); hItem = WM_GetDialogItem(pMsg->hWin, PLAY_BUTTON_VIDEO); BUTTON_SetBitmapEx(hItem, 0, &bmButtonPlayPauseOn, 16, 6); BUTTON_SetBitmapEx(hItem, 1, &bmButtonPlayPauseOff,16, 6); hItem = WM_GetDialogItem(pMsg->hWin, PREV_BUTTON_VIDEO); BUTTON_SetBitmapEx(hItem, 0, &bmButtonPreviousOn, 16, 6); BUTTON_SetBitmapEx(hItem, 1, &bmButtonPreviousOff,16, 6); hItem = WM_GetDialogItem(pMsg->hWin, NEXT_BUTTON_VIDEO); BUTTON_SetBitmapEx(hItem, 0, &bmButtonNextOn, 16, 6); BUTTON_SetBitmapEx(hItem, 1, &bmButtonNextOff,16, 6); hItem = WM_GetDialogItem(pMsg->hWin, STOP_BUTTON_VIDEO); BUTTON_SetBitmapEx(hItem, 0, &bmButtonStopOn, 16, 6); BUTTON_SetBitmapEx(hItem, 1, &bmButtonStopOff,16, 6); hItem = WM_GetDialogItem(pMsg->hWin, ID_VIDEO_PROGRESS); SLIDER_SetRange(hItem, 0, 100); SLIDER_SetWidth( hItem, 5); VideoPlayer_State = VIDEO_IDLE; _GetMJPEGFileList("0:"); hItem = WM_GetDialogItem(pMsg->hWin, ID_VIDEO_FILE); if (FILEMGR_FileList.ptr == 0) { TEXT_SetFont(hItem, GUI_FONT_20B_ASCII); TEXT_SetTextColor(hItem, GUI_BROWN); } else { TEXT_SetFont(hItem, GUI_FONT_13B_ASCII); TEXT_SetTextColor(hItem, 0x00804000); } do_clear = 1; if (FILEMGR_FileList.ptr > 0) { if(f_open(&Video_File, (char *)FILEMGR_FileList.file[FILEMGR_FileList.idx].line, FA_OPEN_EXISTING | FA_READ) == FR_OK) { hItem = WM_GetDialogItem(pMsg->hWin, ID_VIDEO_FILE); TEXT_SetText(hItem, (char *)FILEMGR_FileList.file[FILEMGR_FileList.idx].line); VideoPlayer_State = VIDEO_PLAY; ImageOffset = 0; time_start = GUI_GetTime(); hItem = WM_GetDialogItem(pMsg->hWin, PLAY_BUTTON_VIDEO); BUTTON_SetBitmapEx(hItem, 0, &bmButtonPlay, 16, 6); BUTTON_SetBitmapEx(hItem, 1, &bmButtonPlayPauseOff,16, 6); } else { /* error */ } } break; case WM_PAINT: break; case WM_NOTIFY_CHILD_HAS_FOCUS: do_clear = 1; break; case WM_NOTIFY_PARENT: Id = WM_GetId(pMsg->hWinSrc); NCode = pMsg->Data.v; if(NCode == WM_NOTIFICATION_CHILD_DELETED) { f_close(&Video_File); WM_NotifyParent(WM_GetParent(pMsg->hWin), 0x500); break; } switch(Id) { case PLAY_BUTTON_VIDEO: // Notifications sent by 'Button' switch(NCode) { case WM_NOTIFICATION_RELEASED: if(VideoPlayer_State == VIDEO_IDLE) { if (FILEMGR_FileList.ptr > 0) { if(f_open(&Video_File, (char *)FILEMGR_FileList.file[FILEMGR_FileList.idx].line, FA_OPEN_EXISTING | FA_READ) == FR_OK) { hItem = WM_GetDialogItem(pMsg->hWin, ID_VIDEO_FILE); TEXT_SetText(hItem, (char *)FILEMGR_FileList.file[FILEMGR_FileList.idx].line); VideoPlayer_State = VIDEO_PLAY; ImageOffset = 0; time_start = GUI_GetTime(); hItem = WM_GetDialogItem(pMsg->hWin, PLAY_BUTTON_VIDEO); BUTTON_SetBitmapEx(hItem, 0, &bmButtonPlay, 16, 6); BUTTON_SetBitmapEx(hItem, 1, &bmButtonPlayPauseOff,16, 6); } else { /* error */ } } else { /* No file */ } } else if(VideoPlayer_State == VIDEO_PLAY) { time_pause = GUI_GetTime(); hItem = WM_GetDialogItem(pMsg->hWin, PLAY_BUTTON_VIDEO); BUTTON_SetBitmapEx(hItem, 0, &bmButtonPause, 16, 6); BUTTON_SetBitmapEx(hItem, 1, &bmButtonPlayPauseOff,16, 6); VideoPlayer_State = VIDEO_PAUSE; } else if(VideoPlayer_State == VIDEO_PAUSE) { time_start = GUI_GetTime()+ time_start - time_pause ; hItem = WM_GetDialogItem(pMsg->hWin, PLAY_BUTTON_VIDEO); BUTTON_SetBitmapEx(hItem, 0, &bmButtonPlay, 16, 6); BUTTON_SetBitmapEx(hItem, 1, &bmButtonPlayPauseOff,16, 6); VideoPlayer_State = VIDEO_PLAY; } break; } break; case PREV_BUTTON_VIDEO: /* Notifications sent by 'Button' */ switch(NCode) { case WM_NOTIFICATION_RELEASED: if(VideoPlayer_State != VIDEO_IDLE) { ImageOffset = 0; time_start = GUI_GetTime(); VideoPlayer_State = VIDEO_PLAY; f_close(&Video_File); goto_previous_file(); hItem = WM_GetDialogItem(pMsg->hWin, ID_VIDEO_FILE); TEXT_SetText(hItem, (char *)FILEMGR_FileList.file[FILEMGR_FileList.idx].line); hItem = WM_GetDialogItem(pMsg->hWin, PLAY_BUTTON_VIDEO); BUTTON_SetBitmapEx(hItem, 0, &bmButtonPlay, 16, 6); BUTTON_SetBitmapEx(hItem, 1, &bmButtonPlayPauseOff,6, 6); } break; } break; case ID_VIDEO_EXIT: switch(NCode) { case WM_NOTIFICATION_RELEASED: { GUI_EndDialog(pMsg->hWin, 0); } break; } break; case ID_VIDEO_PROGRESS: /* Notifications sent by 'Progress Bar' */ switch(NCode) { case WM_NOTIFICATION_CLICKED: { progress_bar = 1; hItem = WM_GetDialogItem(pMsg->hWin, ID_VIDEO_PROGRESS); ImageOffset = (Video_File.fsize * SLIDER_GetValue(hItem))/100; offset =ImageOffset - Video_File.fptr; time_start -= (offset / frame_speed); } break; case WM_NOTIFICATION_RELEASED: progress_bar = 0; break; } break; case NEXT_BUTTON_VIDEO: /* Notifications sent by 'Button' */ switch(NCode) { case WM_NOTIFICATION_RELEASED: if(VideoPlayer_State != VIDEO_IDLE) { ImageOffset = 0; VideoPlayer_State = VIDEO_PLAY; time_start = GUI_GetTime(); f_close(&Video_File); goto_next_file(); hItem = WM_GetDialogItem(pMsg->hWin, ID_VIDEO_FILE); TEXT_SetText(hItem, (char *)FILEMGR_FileList.file[FILEMGR_FileList.idx].line); hItem = WM_GetDialogItem(pMsg->hWin, PLAY_BUTTON_VIDEO); BUTTON_SetBitmapEx(hItem, 0, &bmButtonPlay, 16, 6); BUTTON_SetBitmapEx(hItem, 1, &bmButtonPlayPauseOff,16, 6); } break; } break; case STOP_BUTTON_VIDEO: /* Notifications sent by 'Button' */ switch(NCode) { case WM_NOTIFICATION_RELEASED: VideoPlayer_State = VIDEO_IDLE; f_close(&Video_File); hItem = WM_GetDialogItem(pMsg->hWin, PLAY_BUTTON_VIDEO); BUTTON_SetBitmapEx(hItem, 0, &bmButtonPlayPauseOn, 16, 6); BUTTON_SetBitmapEx(hItem, 1, &bmButtonPlayPauseOff,16, 6); break; } break; } break; default: WM_DefaultProc(pMsg); break; } }
/********************************************************************* * * _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); } }
/********************************************************************* * * _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); } }
/********************************************************************* * * _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; } }