static void prvResetDlgWnd(){ for(int c = 0; c < MODAL_DIALOG_MAX_BUTTONS; c++){ vWidgetHide(xButtons[c]); } pcLabelSetText(xMessageHeader, ""); pcLabelSetText(xMessage, ""); vWidgetHide(xPBar); }
static void prvDlgShowActive(){ xModalDialog * xDlg = xMDActive; if(!xDlg){ //return; vInterfaceCloseWindow(WINDOW_MODAL); //TODO: выставить кол-во активных диалогов в 0 } char cBtnCnt = strlen(xDlg->sDialogConfig); xModalDialogPictureSet xPicSet; char * sBtns = xDlg->sDialogConfig; xMenuButton * xBtn; u16 betweenBtnsX, usX, usY; prvResetDlgWnd(); betweenBtnsX = (usInterfaceGetW() - cBtnCnt * usWidgetGetW(xButtons[0])) / (cBtnCnt + 1); usY = usWidgetGetY0(xButtons[0], FALSE); usX = betweenBtnsX; pcLabelSetText(xMessageHeader, xDlg->sHdr); pcLabelSetText(xMessage, xDlg->sMsg); prvShowPB(xDlg); for(int c = 0; c < cBtnCnt; c++){ xBtn = xButtons[c]; xPicSet = prvGetPicSet(sBtns[c]); bWidgetMoveTo(xBtn, usX, usY); vWidgetShow(xBtn); pxMenuButtonSetMainPic(xBtn, xPicSet.xPicMain); pxMenuButtonSetPushPic(xBtn, xPicSet.xPicMainPress); pxMenuButtonSetLabelText(xBtn, xPicSet.strLabel); usX += betweenBtnsX + usWidgetGetW(xBtn); } }
void vProgressBarSetProcExec(xWidget *pxW, u16 usExecProc){ xProgressBarProps *xP; char pcText[strlen(pcBarText) + 5]; if (!(xP = pxWidgetGetProps(pxW, WidgetProgressBar))) return ; if (usExecProc > 100) usExecProc = 100; if(xP->usExProc == usExecProc) return; sprintf(pcText, "%s %d%c", pcBarText, usExecProc, '%'); pcLabelSetText(xP->pxBarLabel, pcText); xP->usExProc = usExecProc; vWidgetInvalidate(pxW); }