Lines Matching refs:table

96     lv_table_t * table = (lv_table_t *)obj;  in lv_table_set_cell_value()  local
99 if(col >= table->col_cnt) lv_table_set_column_count(obj, col + 1); in lv_table_set_cell_value()
100 if(row >= table->row_cnt) lv_table_set_row_count(obj, row + 1); in lv_table_set_cell_value()
102 uint32_t cell = row * table->col_cnt + col; in lv_table_set_cell_value()
106 if(table->cell_data[cell]) ctrl = table->cell_data[cell]->ctrl; in lv_table_set_cell_value()
111 if(table->cell_data[cell]) user_data = table->cell_data[cell]->user_data; in lv_table_set_cell_value()
115 table->cell_data[cell] = lv_realloc(table->cell_data[cell], to_allocate); in lv_table_set_cell_value()
116 LV_ASSERT_MALLOC(table->cell_data[cell]); in lv_table_set_cell_value()
117 if(table->cell_data[cell] == NULL) return; in lv_table_set_cell_value()
119 copy_cell_txt(table->cell_data[cell], txt); in lv_table_set_cell_value()
121 table->cell_data[cell]->ctrl = ctrl; in lv_table_set_cell_value()
122 table->cell_data[cell]->user_data = user_data; in lv_table_set_cell_value()
131 lv_table_t * table = (lv_table_t *)obj; in lv_table_set_cell_value_fmt() local
132 if(col >= table->col_cnt) { in lv_table_set_cell_value_fmt()
137 if(row >= table->row_cnt) { in lv_table_set_cell_value_fmt()
141 uint32_t cell = row * table->col_cnt + col; in lv_table_set_cell_value_fmt()
145 if(table->cell_data[cell]) ctrl = table->cell_data[cell]->ctrl; in lv_table_set_cell_value_fmt()
150 if(table->cell_data[cell]) user_data = table->cell_data[cell]->user_data; in lv_table_set_cell_value_fmt()
173table->cell_data[cell] = lv_realloc(table->cell_data[cell], sizeof(lv_table_cell_t) + len_ap + 1); in lv_table_set_cell_value_fmt()
174 LV_ASSERT_MALLOC(table->cell_data[cell]); in lv_table_set_cell_value_fmt()
175 if(table->cell_data[cell] == NULL) { in lv_table_set_cell_value_fmt()
179 lv_text_ap_proc(raw_txt, table->cell_data[cell]->txt); in lv_table_set_cell_value_fmt()
183 table->cell_data[cell] = lv_realloc(table->cell_data[cell], in lv_table_set_cell_value_fmt()
185 LV_ASSERT_MALLOC(table->cell_data[cell]); in lv_table_set_cell_value_fmt()
186 if(table->cell_data[cell] == NULL) { in lv_table_set_cell_value_fmt()
191 table->cell_data[cell]->txt[len] = 0; /*Ensure NULL termination*/ in lv_table_set_cell_value_fmt()
193 lv_vsnprintf(table->cell_data[cell]->txt, len + 1, fmt, ap2); in lv_table_set_cell_value_fmt()
198 table->cell_data[cell]->ctrl = ctrl; in lv_table_set_cell_value_fmt()
199 table->cell_data[cell]->user_data = user_data; in lv_table_set_cell_value_fmt()
207 lv_table_t * table = (lv_table_t *)obj; in lv_table_set_row_count() local
209 if(table->row_cnt == row_cnt) return; in lv_table_set_row_count()
211 uint32_t old_row_cnt = table->row_cnt; in lv_table_set_row_count()
212 table->row_cnt = row_cnt; in lv_table_set_row_count()
214 table->row_h = lv_realloc(table->row_h, table->row_cnt * sizeof(table->row_h[0])); in lv_table_set_row_count()
215 LV_ASSERT_MALLOC(table->row_h); in lv_table_set_row_count()
216 if(table->row_h == NULL) return; in lv_table_set_row_count()
220 uint32_t old_cell_cnt = old_row_cnt * table->col_cnt; in lv_table_set_row_count()
221 uint32_t new_cell_cnt = table->col_cnt * table->row_cnt; in lv_table_set_row_count()
224 if(table->cell_data[i] && table->cell_data[i]->user_data) { in lv_table_set_row_count()
225 lv_free(table->cell_data[i]->user_data); in lv_table_set_row_count()
226 table->cell_data[i]->user_data = NULL; in lv_table_set_row_count()
228 lv_free(table->cell_data[i]); in lv_table_set_row_count()
232table->cell_data = lv_realloc(table->cell_data, table->row_cnt * table->col_cnt * sizeof(lv_table_… in lv_table_set_row_count()
233 LV_ASSERT_MALLOC(table->cell_data); in lv_table_set_row_count()
234 if(table->cell_data == NULL) return; in lv_table_set_row_count()
238 uint32_t old_cell_cnt = old_row_cnt * table->col_cnt; in lv_table_set_row_count()
239 uint32_t new_cell_cnt = table->col_cnt * table->row_cnt; in lv_table_set_row_count()
240 …lv_memzero(&table->cell_data[old_cell_cnt], (new_cell_cnt - old_cell_cnt) * sizeof(table->cell_dat… in lv_table_set_row_count()
250 lv_table_t * table = (lv_table_t *)obj; in lv_table_set_column_count() local
252 if(table->col_cnt == col_cnt) return; in lv_table_set_column_count()
254 uint32_t old_col_cnt = table->col_cnt; in lv_table_set_column_count()
255 table->col_cnt = col_cnt; in lv_table_set_column_count()
257 …lv_table_cell_t ** new_cell_data = lv_malloc(table->row_cnt * table->col_cnt * sizeof(lv_table_cel… in lv_table_set_column_count()
260 uint32_t new_cell_cnt = table->col_cnt * table->row_cnt; in lv_table_set_column_count()
262 lv_memzero(new_cell_data, new_cell_cnt * sizeof(table->cell_data[0])); in lv_table_set_column_count()
269 for(row = 0; row < table->row_cnt; row++) { in lv_table_set_column_count()
273 lv_memcpy(&new_cell_data[new_col_start], &table->cell_data[old_col_start], in lv_table_set_column_count()
280 if(table->cell_data[idx] && table->cell_data[idx]->user_data) { in lv_table_set_column_count()
281 lv_free(table->cell_data[idx]->user_data); in lv_table_set_column_count()
282 table->cell_data[idx]->user_data = NULL; in lv_table_set_column_count()
284 lv_free(table->cell_data[idx]); in lv_table_set_column_count()
285 table->cell_data[idx] = NULL; in lv_table_set_column_count()
289 lv_free(table->cell_data); in lv_table_set_column_count()
290 table->cell_data = new_cell_data; in lv_table_set_column_count()
293 table->col_w = lv_realloc(table->col_w, col_cnt * sizeof(table->col_w[0])); in lv_table_set_column_count()
294 LV_ASSERT_MALLOC(table->col_w); in lv_table_set_column_count()
295 if(table->col_w == NULL) return; in lv_table_set_column_count()
299 table->col_w[col] = LV_DPI_DEF; in lv_table_set_column_count()
309 lv_table_t * table = (lv_table_t *)obj; in lv_table_set_column_width() local
312 if(col_id >= table->col_cnt) lv_table_set_column_count(obj, col_id + 1); in lv_table_set_column_width()
314 table->col_w[col_id] = w; in lv_table_set_column_width()
322 lv_table_t * table = (lv_table_t *)obj; in lv_table_add_cell_ctrl() local
325 if(col >= table->col_cnt) lv_table_set_column_count(obj, col + 1); in lv_table_add_cell_ctrl()
326 if(row >= table->row_cnt) lv_table_set_row_count(obj, row + 1); in lv_table_add_cell_ctrl()
328 uint32_t cell = row * table->col_cnt + col; in lv_table_add_cell_ctrl()
330 if(is_cell_empty(table->cell_data[cell])) { in lv_table_add_cell_ctrl()
331 table->cell_data[cell] = lv_malloc(sizeof(lv_table_cell_t) + 1); /*+1: trailing '\0 */ in lv_table_add_cell_ctrl()
332 LV_ASSERT_MALLOC(table->cell_data[cell]); in lv_table_add_cell_ctrl()
333 if(table->cell_data[cell] == NULL) return; in lv_table_add_cell_ctrl()
335 table->cell_data[cell]->ctrl = 0; in lv_table_add_cell_ctrl()
336 table->cell_data[cell]->user_data = NULL; in lv_table_add_cell_ctrl()
337 table->cell_data[cell]->txt[0] = '\0'; in lv_table_add_cell_ctrl()
340 table->cell_data[cell]->ctrl |= ctrl; in lv_table_add_cell_ctrl()
347 lv_table_t * table = (lv_table_t *)obj; in lv_table_clear_cell_ctrl() local
350 if(col >= table->col_cnt) lv_table_set_column_count(obj, col + 1); in lv_table_clear_cell_ctrl()
351 if(row >= table->row_cnt) lv_table_set_row_count(obj, row + 1); in lv_table_clear_cell_ctrl()
353 uint32_t cell = row * table->col_cnt + col; in lv_table_clear_cell_ctrl()
355 if(is_cell_empty(table->cell_data[cell])) { in lv_table_clear_cell_ctrl()
356 table->cell_data[cell] = lv_malloc(sizeof(lv_table_cell_t) + 1); /*+1: trailing '\0 */ in lv_table_clear_cell_ctrl()
357 LV_ASSERT_MALLOC(table->cell_data[cell]); in lv_table_clear_cell_ctrl()
358 if(table->cell_data[cell] == NULL) return; in lv_table_clear_cell_ctrl()
360 table->cell_data[cell]->ctrl = 0; in lv_table_clear_cell_ctrl()
361 table->cell_data[cell]->user_data = NULL; in lv_table_clear_cell_ctrl()
362 table->cell_data[cell]->txt[0] = '\0'; in lv_table_clear_cell_ctrl()
365 table->cell_data[cell]->ctrl &= (~ctrl); in lv_table_clear_cell_ctrl()
372 lv_table_t * table = (lv_table_t *)obj; in lv_table_set_cell_user_data() local
375 if(col >= table->col_cnt) lv_table_set_column_count(obj, col + 1); in lv_table_set_cell_user_data()
376 if(row >= table->row_cnt) lv_table_set_row_count(obj, row + 1); in lv_table_set_cell_user_data()
378 uint32_t cell = row * table->col_cnt + col; in lv_table_set_cell_user_data()
380 if(is_cell_empty(table->cell_data[cell])) { in lv_table_set_cell_user_data()
381 table->cell_data[cell] = lv_malloc(sizeof(lv_table_cell_t) + 1); /*+1: trailing '\0 */ in lv_table_set_cell_user_data()
382 LV_ASSERT_MALLOC(table->cell_data[cell]); in lv_table_set_cell_user_data()
383 if(table->cell_data[cell] == NULL) return; in lv_table_set_cell_user_data()
385 table->cell_data[cell]->ctrl = 0; in lv_table_set_cell_user_data()
386 table->cell_data[cell]->user_data = NULL; in lv_table_set_cell_user_data()
387 table->cell_data[cell]->txt[0] = '\0'; in lv_table_set_cell_user_data()
390 if(table->cell_data[cell]->user_data) { in lv_table_set_cell_user_data()
391 lv_free(table->cell_data[cell]->user_data); in lv_table_set_cell_user_data()
394 table->cell_data[cell]->user_data = user_data; in lv_table_set_cell_user_data()
401 lv_table_t * table = (lv_table_t *)obj; in lv_table_set_selected_cell() local
403 if(table->col_cnt == 0 || table->row_cnt == 0) return; in lv_table_set_selected_cell()
405 if(table->col_act != col || table->row_act != row) { in lv_table_set_selected_cell()
406 table->col_act = (col >= table->col_cnt) ? (table->col_cnt - 1) : col; in lv_table_set_selected_cell()
407 table->row_act = (row >= table->row_cnt) ? (table->row_cnt - 1) : row; in lv_table_set_selected_cell()
425 lv_table_t * table = (lv_table_t *)obj; in lv_table_get_cell_value() local
426 if(row >= table->row_cnt || col >= table->col_cnt) { in lv_table_get_cell_value()
430 uint32_t cell = row * table->col_cnt + col; in lv_table_get_cell_value()
432 if(is_cell_empty(table->cell_data[cell])) return ""; in lv_table_get_cell_value()
434 return table->cell_data[cell]->txt; in lv_table_get_cell_value()
441 lv_table_t * table = (lv_table_t *)obj; in lv_table_get_row_count() local
442 return table->row_cnt; in lv_table_get_row_count()
449 lv_table_t * table = (lv_table_t *)obj; in lv_table_get_column_count() local
450 return table->col_cnt; in lv_table_get_column_count()
457 lv_table_t * table = (lv_table_t *)obj; in lv_table_get_column_width() local
459 if(col >= table->col_cnt) { in lv_table_get_column_width()
464 return table->col_w[col]; in lv_table_get_column_width()
471 lv_table_t * table = (lv_table_t *)obj; in lv_table_has_cell_ctrl() local
472 if(row >= table->row_cnt || col >= table->col_cnt) { in lv_table_has_cell_ctrl()
476 uint32_t cell = row * table->col_cnt + col; in lv_table_has_cell_ctrl()
478 if(is_cell_empty(table->cell_data[cell])) return false; in lv_table_has_cell_ctrl()
479 else return (table->cell_data[cell]->ctrl & ctrl) == ctrl; in lv_table_has_cell_ctrl()
484 lv_table_t * table = (lv_table_t *)obj; in lv_table_get_selected_cell() local
485 *row = table->row_act; in lv_table_get_selected_cell()
486 *col = table->col_act; in lv_table_get_selected_cell()
493 lv_table_t * table = (lv_table_t *)obj; in lv_table_get_cell_user_data() local
494 if(row >= table->row_cnt || col >= table->col_cnt) { in lv_table_get_cell_user_data()
498 uint32_t cell = row * table->col_cnt + col; in lv_table_get_cell_user_data()
500 if(is_cell_empty(table->cell_data[cell])) return NULL; in lv_table_get_cell_user_data()
502 return table->cell_data[cell]->user_data; in lv_table_get_cell_user_data()
514 lv_table_t * table = (lv_table_t *)obj; in lv_table_constructor() local
516 table->col_cnt = 1; in lv_table_constructor()
517 table->row_cnt = 1; in lv_table_constructor()
518 table->col_w = lv_malloc(table->col_cnt * sizeof(table->col_w[0])); in lv_table_constructor()
519 table->row_h = lv_malloc(table->row_cnt * sizeof(table->row_h[0])); in lv_table_constructor()
520 table->col_w[0] = LV_DPI_DEF; in lv_table_constructor()
521 table->row_h[0] = LV_DPI_DEF; in lv_table_constructor()
522table->cell_data = lv_realloc(table->cell_data, table->row_cnt * table->col_cnt * sizeof(lv_table_… in lv_table_constructor()
523 table->cell_data[0] = NULL; in lv_table_constructor()
524 table->row_act = LV_TABLE_CELL_NONE; in lv_table_constructor()
525 table->col_act = LV_TABLE_CELL_NONE; in lv_table_constructor()
533 lv_table_t * table = (lv_table_t *)obj; in lv_table_destructor() local
536 for(i = 0; i < table->col_cnt * table->row_cnt; i++) { in lv_table_destructor()
537 if(table->cell_data[i]) { in lv_table_destructor()
538 if(table->cell_data[i]->user_data) { in lv_table_destructor()
539 lv_free(table->cell_data[i]->user_data); in lv_table_destructor()
540 table->cell_data[i]->user_data = NULL; in lv_table_destructor()
542 lv_free(table->cell_data[i]); in lv_table_destructor()
543 table->cell_data[i] = NULL; in lv_table_destructor()
547 if(table->cell_data) lv_free(table->cell_data); in lv_table_destructor()
548 if(table->row_h) lv_free(table->row_h); in lv_table_destructor()
549 if(table->col_w) lv_free(table->col_w); in lv_table_destructor()
564 lv_table_t * table = (lv_table_t *)obj; in lv_table_event() local
573 for(i = 0; i < table->col_cnt; i++) w += table->col_w[i]; in lv_table_event()
576 for(i = 0; i < table->row_cnt; i++) h += table->row_h[i]; in lv_table_event()
586 if(pr_res == LV_RESULT_OK && (table->col_act != col || table->row_act != row)) { in lv_table_event()
587 table->col_act = col; in lv_table_event()
588 table->row_act = row; in lv_table_event()
596 …if(table->col_act != LV_TABLE_CELL_NONE && table->row_act != LV_TABLE_CELL_NONE && scroll_obj == N… in lv_table_event()
603 table->col_act = LV_TABLE_CELL_NONE; in lv_table_event()
604 table->row_act = LV_TABLE_CELL_NONE; in lv_table_event()
612 int32_t col = table->col_act; in lv_table_event()
613 int32_t row = table->row_act; in lv_table_event()
615 table->col_act = 0; in lv_table_event()
616 table->row_act = 0; in lv_table_event()
622 if(col >= (int32_t)table->col_cnt) col = 0; in lv_table_event()
623 if(row >= (int32_t)table->row_cnt) row = 0; in lv_table_event()
631 if(col >= (int32_t)table->col_cnt) { in lv_table_event()
632 if(row < (int32_t)table->row_cnt - 1) { in lv_table_event()
637 col = table->col_cnt - 1; in lv_table_event()
642 col = table->col_cnt - 1; in lv_table_event()
650 if(row >= (int32_t)table->row_cnt) { in lv_table_event()
651 row = table->row_cnt - 1; in lv_table_event()
657 if((int32_t)table->col_act != col || (int32_t)table->row_act != row) { in lv_table_event()
658 table->col_act = col; in lv_table_event()
659 table->row_act = row; in lv_table_event()
676 lv_table_t * table = (lv_table_t *)obj; in draw_main() local
721 for(row = 0; row < table->row_cnt; row++) { in draw_main()
722 int32_t h_row = table->row_h[row]; in draw_main()
732 for(col = 0; col < table->col_cnt; col++) { in draw_main()
734 if(table->cell_data[cell]) ctrl = table->cell_data[cell]->ctrl; in draw_main()
738 cell_area.x1 = cell_area.x2 - table->col_w[col] + 1; in draw_main()
742 cell_area.x2 = cell_area.x1 + table->col_w[col] - 1; in draw_main()
746 for(col_merge = 0; col_merge + col < table->col_cnt - 1; col_merge++) { in draw_main()
747 lv_table_cell_t * next_cell_data = table->cell_data[cell + col_merge]; in draw_main()
753 int32_t offset = table->col_w[col + col_merge + 1]; in draw_main()
787 if(row == table->row_act && col == table->col_act) { in draw_main()
820 if(table->cell_data[cell]) { in draw_main()
840 lv_text_get_size(&txt_size, table->cell_data[cell]->txt, label_dsc_def.font, in draw_main()
855 label_dsc_act.text = table->cell_data[cell]->txt; in draw_main()
884 lv_table_t * table = (lv_table_t *)obj; in refr_size_form_row() local
886 for(i = start_row; i < table->row_cnt; i++) { in refr_size_form_row()
889 table->row_h[i] = LV_CLAMP(minh, calculated_height, maxh); in refr_size_form_row()
910 lv_table_t * table = (lv_table_t *)obj; in refr_cell_size() local
914 int32_t prev_row_size = table->row_h[row]; in refr_cell_size()
915 table->row_h[row] = LV_CLAMP(minh, calculated_height, maxh); in refr_cell_size()
918 if(prev_row_size == table->row_h[row]) { in refr_cell_size()
934 lv_table_t * table = (lv_table_t *)obj; in get_row_height() local
938 uint32_t row_start = row_id * table->col_cnt; in get_row_height()
943 for(cell = row_start, col = 0; cell < row_start + table->col_cnt; cell++, col++) { in get_row_height()
944 lv_table_cell_t * cell_data = table->cell_data[cell]; in get_row_height()
950 int32_t txt_w = table->col_w[col]; in get_row_height()
956 for(col_merge = 0; col_merge + col < table->col_cnt - 1; col_merge++) { in get_row_height()
957 lv_table_cell_t * next_cell_data = table->cell_data[cell + col_merge]; in get_row_height()
963 txt_w += table->col_w[col + col_merge + 1]; in get_row_height()
982 lv_text_get_size(&txt_size, table->cell_data[cell]->txt, font, in get_row_height()
997 lv_table_t * table = (lv_table_t *)obj; in get_pressed_cell() local
1026 for(*col = 0; *col < table->col_cnt; (*col)++) { in get_pressed_cell()
1027 tmp += table->col_w[*col]; in get_pressed_cell()
1043 for(*row = 0; *row < table->row_cnt; (*row)++) { in get_pressed_cell()
1044 tmp += table->row_h[*row]; in get_pressed_cell()
1087 lv_table_t * table = (lv_table_t *)obj; in get_cell_area() local
1092 area->x1 += table->col_w[c]; in get_cell_area()
1100 area->x1 = area->x2 - table->col_w[col]; in get_cell_area()
1105 area->x2 = area->x1 + table->col_w[col] - 1; in get_cell_area()
1111 area->y1 += table->row_h[r]; in get_cell_area()
1116 area->y2 = area->y1 + table->row_h[row] - 1; in get_cell_area()
1122 lv_table_t * table = (lv_table_t *)obj; in scroll_to_selected_cell() local
1125 get_cell_area(obj, table->row_act, table->col_act, &a); in scroll_to_selected_cell()