コード例 #1
0
ファイル: _main_config.c プロジェクト: caoqing32/deviation
const char *menusel_cb(guiObject_t *obj, int dir, void *data)
{
    (void) obj;
    (void) dir;
    int i = (long)data;
    int max_pages = PAGE_GetNumPages();
    int start_page = PAGE_GetStartPage();
    int page = GUI_TextSelectHelper(pc.quickpage[i], start_page, max_pages -1, dir, 1, 1, NULL);
    if (page != pc.quickpage[i]) {
        int increment = (page > pc.quickpage[i]) ? 1 : -1;
        while (page >= start_page && page != max_pages && ! PAGE_IsValid(page)) {
            page = (page + increment);
        }
        if (page >= start_page && page != max_pages)
            pc.quickpage[i] = page;
    }
    return PAGE_GetName(pc.quickpage[i]);
}
コード例 #2
0
ファイル: pages.c プロジェクト: nongxiaoming/STM32F4_Tx
void PAGE_ChangeQuick(int dir)
{
    int quick = 0;
    for (int i = 0; i < NUM_QUICKPAGES; i++) {
        if(Model.pagecfg2.quickpage[i] && Model.pagecfg2.quickpage[i] == cur_page) {
            quick = i+1;
            break;
        }
    }
    int increment = dir > 0 ? 1 : NUM_QUICKPAGES;
    while(1) {
       quick = (quick + increment) % 5;
       if (quick == 0
           || (Model.pagecfg2.quickpage[quick-1] && PAGE_IsValid(Model.pagecfg2.quickpage[quick-1])))
       {
           break;
       }
    }
    if (quick == 0) {
        PAGE_ChangeByID(PAGEID_MAIN);
    } else {
        PAGE_ChangeByID(Model.pagecfg2.quickpage[quick-1]);
    }
}