SDK Multiplataforma en C logo

SDK Multiplataforma en C

GUI Data binding

❮ Anterior
Siguiente ❯

Uno de los usos habituales de las tablas dbind será la sincronización del modelo de datos con la interfaz de usuario. Normalmente esta tarea requiere capturar los eventos de los controles para actualizar los datos y viceversa, refrescar el contenido de los controles cada vez que cambien los datos. Esta tarea es tediosa y requiere de bastante código adicional. Para evitarlo, cuando creemos la vista, vincularemos los diferentes controles con los campos de la estructura mediante cell_dbind (Listado 1). Este paradigma es conocido como data binding o MVVM (Model-View-ViewModel) (Listado 1) y mantendrá ambas partes sincronizadas de forma automática.

Listado 1: Vinculación de controles GUI con campos de datos.
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
Cell *cell0 = i_code_cell(layout);
Cell *cell1 = i_desc_cell(layout);
Cell *cell2 = i_type_cell(layout);
Cell *cell3 = i_img_cell(layout);
Cell *cell4 = i_price_cell(layout);
cell_dbind(cell0, Product, String*, code);
cell_dbind(cell1, Product, String*, description);
cell_dbind(cell2, Product, type_t, type);
cell_dbind(cell3, Product, Image*, image64);
cell_dbind(cell4, Product, real32_t, price);
layout_dbind(layout, Product);
❮ Anterior
Siguiente ❯