/******************************************************************* * * _DemoListBox */ void _DemoListBox(void) { int i; int Entries = GUI_COUNTOF(_ListBox) - 1; LISTBOX_Handle hListBox; int xSize = LCD_GetXSize(); //int ySize = GUI_GetYDistOfFont(&GUI_Font13B_1) * Entries; int ySize = LCD_GetYSize(); /* Create the listbox */ hListBox = LISTBOX_Create(_ListBox, 0, 0, xSize, ySize, WM_CF_SHOW); /* Change current selection of the listbox */ for (i = 0; i < Entries-1; i++) { GUI_Delay(500); LISTBOX_IncSel(hListBox); WM_ExecIdle(); } GUI_Delay(75000); for (i = 0; i < Entries-1; i++) { GUI_Delay(500); LISTBOX_DecSel(hListBox); WM_ExecIdle(); } GUI_Delay(7500); /* Delete listbox widget */ LISTBOX_Delete(hListBox); GUI_ClearRect(0, 50, 319, 239); GUI_Delay(750); }
/******************************************************************* * * _DemoHardkey Demonstrates HARDKEY simulation with a listbox */ static void _DemoHardkey(void) { LISTBOX_Handle hListBox; GUI_SetBkColor(GUI_BLACK); GUI_Clear(); GUI_SetColor(GUI_WHITE); GUI_SetTextAlign(GUI_TA_HCENTER); GUI_SetFont(&GUI_Font24_ASCII); GUI_DispStringAt("Hardkey - Sample", 160, 5); GUI_SetFont(&GUI_Font8x8); GUI_DispStringHCenterAt("Exit", 65, 230); GUI_DispStringHCenterAt("Up", 160, 230); GUI_DispStringHCenterAt("Down", 255, 230); /* Create the listbox */ hListBox = LISTBOX_Create(_aListBox, 100, 100, 120, 75, WM_CF_SHOW); WM_SetFocus(hListBox); LISTBOX_SetFont(hListBox, &GUI_Font13B_1); SCROLLBAR_CreateAttached(hListBox, SCROLLBAR_CF_VERTICAL); /* Handle the listbox */ while (!_Ready) { GUI_Delay(10); } /* Delete listbox widget */ LISTBOX_Delete(hListBox); GUI_Clear(); }
/******************************************************************* * * _DemoListBox */ static void _DemoListBox(void) { int i; int Entries; int ySize; LISTBOX_Handle hListBox; Entries = GUI_COUNTOF(_ListBox) - 1; ySize = GUI_GetYDistOfFont(&GUI_Font13B_1) * Entries; // // Create the listbox // hListBox = LISTBOX_Create(_ListBox, 130, 80, 60, ySize, WM_CF_SHOW); // // Change current selection of the listbox // for (i = 0; i < Entries-1; i++) { GUI_Delay(500); LISTBOX_IncSel(hListBox); WM_ExecIdle(); } for (i = 0; i < Entries-1; i++) { GUI_Delay(500); LISTBOX_DecSel(hListBox); WM_ExecIdle(); } GUI_Delay(750); // // Delete listbox widget // LISTBOX_Delete(hListBox); GUI_ClearRect(0, 50, 319, 239); GUI_Delay(750); }
/********************************************************************* * * GUIDEMO_DemoFrameWin */ void GUIDEMO_DemoFrameWin(void) { FRAMEWIN_Handle hFrame; LISTBOX_Handle hListBox; int xSize = LCD_GetXSize(); int ySize = LCD_GetYSize(); int i, x, y, w, h; const GUI_FONT* pFont = &GUI_FontComic18B_1; GUI_COLOR DesktopColorOld; #if GUIDEMO_LARGE GUIDEMO_ShowIntro("Frame Window & Listbox", NULL); #else GUIDEMO_ShowIntro("Frame Window\n & Listbox", NULL); #endif DesktopColorOld = GUIDEMO_SetBkColor(GUI_RED); DesktopColorOld = WM_SetDesktopColor(DesktopColorOld); /* Automatically update desktop window */ x = BORDER; #if GUIDEMO_LARGE y = 75; #else y = BORDER; #endif w = xSize - x - BORDER; h = ySize - y - BORDER; if (w > 140) { w = 140; } if (h > 120) { h = 120; } hFrame = FRAMEWIN_Create("Select language", NULL, WM_CF_SHOW, x, y, w, h); FRAMEWIN_SetActive(hFrame, 1); FRAMEWIN_SetMoveable(hFrame, 1); FRAMEWIN_AddMaxButton(hFrame, FRAMEWIN_BUTTON_RIGHT, 0); FRAMEWIN_AddMinButton(hFrame, FRAMEWIN_BUTTON_RIGHT, 1); FRAMEWIN_SetFont(hFrame, &GUI_Font13_ASCII); hListBox = LISTBOX_CreateAsChild(_asLang, WM_GetClientWindow(hFrame), 0, 0, 0, 0, WM_CF_SHOW | WM_SF_ANCHOR_LEFT | WM_SF_ANCHOR_TOP | WM_SF_ANCHOR_RIGHT | WM_SF_ANCHOR_BOTTOM); WM_SetFocus(hListBox); LISTBOX_SetFont(hListBox, pFont); GUIDEMO_Wait(); for (i = 0; (i < 10) && !GUIDEMO_CheckCancel(); i++) { LISTBOX_IncSel(hListBox); GUIDEMO_Delay(250); } for (i = 0; (i < 10) && !GUIDEMO_CheckCancel(); i++) { LISTBOX_DecSel(hListBox); GUIDEMO_Delay(250); } GUIDEMO_Delay(500); LISTBOX_Delete(hListBox); FRAMEWIN_Delete(hFrame); WM_SetDesktopColor(DesktopColorOld); }
/******************************************************************* * * _DemoListBox */ void _DemoListBox(LISTBOX_Handle hListBox) { int i; /* Change current selection of the listbox */ for (i = 0; i < Entries-1; i++) { GUI_Delay(500); LISTBOX_IncSel(hListBox); WM_ExecIdle(); } GUI_Delay(75000); for (i = 0; i < Entries-1; i++) { GUI_Delay(500); LISTBOX_DecSel(hListBox); WM_ExecIdle(); } GUI_Delay(7500); /* Delete listbox widget */ LISTBOX_Delete(hListBox); GUI_ClearRect(0, 50, 319, 239); GUI_Delay(750); }
/******************************************************************* * * _ShowSeveralFunctions */ static void _ShowSeveralFunctions(LISTBOX_Handle hListBox) { int NumEntries, i; /* Add scrollbar */ GUI_DispStringAtCEOL("SCROLLBAR_CreateAttached", 5, 55); GUI_Delay(SPEED); SCROLLBAR_CreateAttached(hListBox, SCROLLBAR_CF_VERTICAL); GUI_Delay(SPEED * 0.75); /* Add strings */ GUI_DispStringAtCEOL("LISTBOX_AddString", 5, 55); GUI_Delay(SPEED); LISTBOX_AddString(hListBox, "Français"); GUI_Delay(SPEED / 6); LISTBOX_AddString(hListBox, "Japanese"); GUI_Delay(SPEED / 6); LISTBOX_AddString(hListBox, "Italiano"); GUI_Delay(SPEED / 6); LISTBOX_AddString(hListBox, "Español"); GUI_Delay(SPEED / 6); LISTBOX_AddString(hListBox, "Other language ..."); GUI_Delay(SPEED * 0.6); /* Set focus */ GUI_DispStringAtCEOL("WM_SetFocus", 5, 55); GUI_Delay(SPEED * 0.9); WM_SetFocus(hListBox); GUI_Delay(SPEED * 0.7); /* Set font */ GUI_DispStringAtCEOL("LISTBOX_SetFont", 5, 55); GUI_Delay(SPEED * 0.9); LISTBOX_SetFont(hListBox, &GUI_Font13B_1); GUI_Delay(SPEED * 0.7); /* Increment selection */ GUI_DispStringAtCEOL("LISTBOX_IncSel", 5, 55); GUI_Delay(SPEED); NumEntries = LISTBOX_GetNumItems(hListBox); for (i = 0; i < NumEntries - 1; i++) { LISTBOX_IncSel(hListBox); GUI_Delay(SPEED / 6); } GUI_Delay(SPEED / 4); /* Show automatic scrollbar */ GUI_DispStringAtCEOL("Optional automatic scrollbar", 5, 55); GUI_Delay(SPEED); LISTBOX_SetAutoScrollH(hListBox, 1); LISTBOX_SetAutoScrollV(hListBox, 1); GUI_Delay(SPEED * 0.75); /* Set font */ GUI_DispStringAtCEOL("LISTBOX_SetFont", 5, 55); GUI_Delay(SPEED); LISTBOX_SetFont(hListBox, &GUI_Font16B_1); GUI_Delay(SPEED * 0.75); /* Decrement selection */ GUI_DispStringAtCEOL("LISTBOX_DecSel", 5, 55); GUI_Delay(SPEED); for (i = 0; i < NumEntries - 1; i++) { LISTBOX_DecSel(hListBox); GUI_Delay(SPEED / 6); } GUI_Delay(SPEED / 4); /* Change width of scrollbar */ GUI_DispStringAtCEOL("Change scrollbar width", 5, 55); GUI_Delay(SPEED * 0.7); { SCROLLBAR_Handle hScrollH = WM_GetDialogItem(hListBox, GUI_ID_HSCROLL); SCROLLBAR_Handle hScrollV = WM_GetDialogItem(hListBox, GUI_ID_VSCROLL); SCROLLBAR_SetWidth(hScrollV, 14); GUI_Delay(SPEED / 4); SCROLLBAR_SetWidth(hScrollH, 14); GUI_Delay(SPEED * 0.6); } /* Change size of listbox */ GUI_DispStringAtCEOL("Change size of listbox", 5, 55); GUI_Delay(SPEED * 0.75); WM_ResizeWindow(hListBox, -15, 0); GUI_Delay(SPEED / 4); WM_ResizeWindow(hListBox, 0, -15); GUI_Delay(SPEED / 4); WM_ResizeWindow(hListBox, 15, 0); GUI_Delay(SPEED / 4); WM_ResizeWindow(hListBox, 0, 15); GUI_Delay(SPEED / 2); /* Disable item */ GUI_DispStringAtCEOL("LISTBOX_SetItemDisabled", 5, 55); GUI_Delay(SPEED); LISTBOX_SetItemDisabled(hListBox, 4, 1); GUI_Delay(SPEED * 0.75); /* Set multi selection mode */ GUI_DispStringAtCEOL("LISTBOX_SetMulti", 5, 55); GUI_Delay(SPEED); LISTBOX_SetMulti(hListBox, 1); GUI_Delay(SPEED * 0.75); /* Select item */ GUI_DispStringAtCEOL("LISTBOX_SetItemSel", 5, 55); GUI_Delay(SPEED); LISTBOX_SetItemSel(hListBox, 0, 1); GUI_Delay(SPEED / 4); LISTBOX_SetItemSel(hListBox, 1, 1); GUI_Delay(SPEED / 4); LISTBOX_SetItemSel(hListBox, 2, 1); GUI_Delay(SPEED * 0.8); /* Delete listbox widget */ GUI_DispStringAtCEOL("LISTBOX_Delete", 5, 55); GUI_Delay(SPEED * 1.1); LISTBOX_Delete(hListBox); GUI_Delay(SPEED * 0.75); }
void vHeartbeatTask (void * pvParameters){ int Key, Entries, ySize; uint16_t click_cnt=0; int8_t Item_nb; BUTTON_Handle hOK_Button, hTest_Key; LISTBOX_Handle hStationListBox; static enum GuiState eGuiState = SELECT; static const GUI_ConstString StationList[] = {"ZET", "RMFFM", "RMFMAXXX", "SKY.FM", "ESKA ROCK", "TERMINAL", NULL}; vSemaphoreCreateBinary(xButton_pushed_Semaphore); if(xDMAch1_Semaphore != NULL){ xSemaphoreTake(xButton_pushed_Semaphore, 0); }else{ // The semaphore was not created } BUTTON_Config(); //INT0 Button as source of interrupt xSemaphoreTake(xButton_pushed_Semaphore, 0); xListBoxQueue = xQueueCreate(2, sizeof(int8_t)); GUI_Init(); if(0){ _ExecCalibration(); }else{ _DefaultCalibration(); } GUI_SetBkColor(GUI_BLUE); GUI_Clear(); if (xSemaphoreTake(xDhcpCmplSemaphore_1, portMAX_DELAY) == pdTRUE) { /* OK button */ hOK_Button = BUTTON_CreateEx(120, 210, 80, 20, 0, WM_CF_SHOW, 0, 12); GUI_SetFont(&GUI_Font32_ASCII); BUTTON_SetText(hOK_Button, "OK"); /* Cancel button */ hTest_Key = BUTTON_CreateEx(120, 180, 80, 20, 0, WM_CF_SHOW, 0, 13); GUI_SetFont(&GUI_Font16B_ASCII); BUTTON_SetText(hTest_Key, "CLICK"); WM_SetStayOnTop(hTest_Key, 1); /* Station list */ Entries = 6;//countof(StationList) - 1; ySize = GUI_GetYDistOfFont(&GUI_Font16B_ASCII)*Entries; hStationListBox = LISTBOX_CreateEx(100, 10, 120, ySize, 0, WM_CF_SHOW, 0, 5, StationList); SCROLLBAR_CreateAttached(hStationListBox, SCROLLBAR_CF_VERTICAL); } while(1){ Key = GUI_GetKey(); //top = WM_GetStayOnTop(hTest_Key); switch(eGuiState){ case SELECT: switch (Key){ case 12: Item_nb = LISTBOX_GetSel(hStationListBox); if(Item_nb >= 0){ if(xQueueSendToBack(xListBoxQueue, &Item_nb, 50/portTICK_RATE_MS) == pdPASS){ /* OK button delete */ BUTTON_Delete(hOK_Button); GUI_SetBkColor(GUI_BLUE); GUI_ClearRect(120, 210, 200, 230); GUI_ClearKeyBuffer(); /* Listbox delete */ LISTBOX_Delete(hStationListBox); GUI_ClearRect(100, 10, 220, ySize+10); eGuiState = PLAYING; } } vTaskResume(xShoutcastTaskHandle); break; case 13: click_cnt++; GUI_SetFont(&GUI_Font16B_ASCII); Item_nb = LISTBOX_GetSel(hStationListBox); GUI_DispStringAt("CNT = ", 0, 210); GUI_DispDecSpace(Item_nb, 3); break; default: break; } break; case PLAYING: switch (Key){ case 13: click_cnt++; GUI_SetFont(&GUI_Font16B_ASCII); // Item_nb = LISTBOX_GetSel(hStationListBox); GUI_DispStringAt("CNT = ", 0, 210); GUI_DispDecSpace(123, 3); break; default: break; } } vTaskDelay(20/portTICK_RATE_MS); } }