chartpie — u_pbt_chartpie #
← Referencia de componentes · Índice de la guía
Gráfico circular: tarta, anillo o media rueda. Cada ángulo es una parte del todo — la leyenda oculta una porción, las demás ocupan su sitio.
▶ Verlo en vivo — Aplicación de demostración, mosaico Pie chart : la vista previa, el código que lo produce y esta página, lado a lado.
En resumen #
| Userobject | u_pbt_chartpie |
| Clase de elementos | n_pbt_chartpie_slice (of_item(key)) |
| Sirve para | Mostrar cómo se reparte un todo — ventas por región, incidencias por estado, presupuesto consumido |
| Principio | Usted añade porciones (una clave, un nombre, un valor); los ángulos, los porcentajes, la leyenda y la animación son cosa nuestra |
Inicio rápido #
// One slice per region : a key, a label and a value
uo_pie.of_add_slice(/*key*/ "north", /*label*/ "North", /*value*/ 420)
uo_pie.of_add_slice(/*key*/ "south", /*label*/ "South", /*value*/ 310)
uo_pie.of_add_slice(/*key*/ "east", /*label*/ "East", /*value*/ 260)
// The share of each region, written on its slice
uo_pie.ib_data_labels = true
uo_pie.is_label_format = "#percent#"
Una porción es una PARTE del todo #
Usted da valores, nunca ángulos: el componente suma las porciones mostradas y da a cada una el ángulo de su parte de esa suma. Ocultar una porción — con un clic en la leyenda, o mediante ib_visible — la cierra en su sitio: las demás se reparten de nuevo la rueda, y #percent#, id_percent y of_total() siguen. Un valor negativo no tiene ángulo: se dibuja como cero y se relee tal como lo dio.
Los ángulos se cuentan en grados, 0 arriba, en el sentido del dibujo: ii_start_angle = -90 e ii_sweep_angle = 180 dan la mitad superior de un círculo — un indicador. La rueda se ajusta al espacio que ocupa ese ángulo: una media rueda se dibuja el doble de grande.
Propiedades #
| Propiedad | Tipo | Predeterminado | Función |
|---|---|---|---|
is_title | string | "" | Título del gráfico, encima de la rueda. Se admite marcado |
ib_show_legend | boolean | true | Muestra la leyenda. Hacer clic en una entrada oculta su porción y lanza ue_slice_toggled |
is_legend_location | string | end | Dónde va la leyenda (constantes LEGEND_*): al lado de la rueda (END, START, en columna) o encima y debajo (TOP, BOTTOM, una junto a otra). START/END son lógicas: siguen el sentido de lectura. Una posición desconocida vale end, y se relee así |
ib_legend_values | boolean | false | Escribe el valor y la parte de cada porción en la leyenda, tras su nombre |
ib_value_tooltip | boolean | true | El panel que nombra la porción bajo el puntero — o la del teclado — con su valor y su parte. No es is_tooltip, la información del componente entero. La información de una porción (su is_tooltip) se escribe en este panel, incluso en false |
ib_data_labels | boolean | false | Una etiqueta por porción, que dice lo que dice is_label_format, donde la pone is_label_position. En una porción demasiado estrecha, la etiqueta se omite en lugar de escribirse sobre sus vecinas |
is_label_format | string | "" | Lo que dice una etiqueta: #value# el valor, #percent# su parte del todo, #label# su nombre (sin marcado), #key# su clave, #total# el total; #participation# dice lo mismo que #percent#. El resto se escribe tal cual. Vacío = solo el valor |
is_label_position | string | inside | Dónde van las etiquetas (constantes LABEL_*): INSIDE, sobre la porción, en negro o en blanco según lo que se lea encima; OUTSIDE, al lado de la rueda, unidas a su porción por una línea y separadas para que ninguna se solape |
id_inner_radius | double | 0 | El agujero, en fracción del radio: 0 una tarta, 0.6 un anillo (limitado a 0..0,9). La rueda se desliza de una a otro |
is_center_text | string | "" | Texto en el agujero de un anillo, se admite marcado. Marcadores: #total# el total de las porciones mostradas (en el formato de números), #count# su número; #hover_label#, #hover_value#, #hover_percent# la porción bajo el puntero o la del teclado — en reposo, el todo: Total, el total, 100 %; #percent:key# y #value:key# la parte y el valor de una porción, al día hagan lo que hagan los valores (un indicador escribe él mismo su «72 %»). Una clave desconocida no escribe nada. En una tarta no se escribe nada |
ii_start_angle | integer | 0 | Dónde empieza la primera porción, en grados: 0 arriba, 90 a la derecha, -90 a la izquierda (450 se relee 90) |
ii_sweep_angle | integer | 360 | Qué parte del círculo se reparten las porciones, en grados (limitada a 10..360). Con ii_start_angle = -90, 180 dibuja la mitad superior — un indicador |
ib_clockwise | boolean | true | Las porciones se suceden en el sentido de las agujas del reloj, o en el otro. Las flechas del teclado siguen el orden del dibujo |
is_sort | string | "none" | El orden del dibujo (constantes SORT_*): NONE el orden en que se dieron las porciones, DESC la mayor primero, ASC la menor primero. La rueda, la leyenda y el teclado lo siguen; el modelo conserva su orden — of_get_values, of_count y los colores de la paleta no se mueven. Un valor desconocido vale none |
id_hover_push_out | double | 0.08 | Cuánto sale la porción bajo el puntero — o la del teclado —, en fracción del radio (limitado a 0..0,4). Se suma al id_push_out de la porción. 0 = nada se mueve |
ib_track_hover | boolean | false | Suscripción a ue_slice_hovered: un evento lanzado a cada movimiento del puntero solo se envía a una aplicación que lo ha pedido |
is_format | string | "" | El formato de todos los números que escribe el gráfico — etiquetas, leyenda, panel de valores, texto central — en la sintaxis de un formato de DataWindow: #,##0.00, $#,##0, #,##0 "unidades", secciones positivo;negativo;cero. Los separadores son los del idioma de visualización. Vacío (o un formato que no es numérico) = el número tal cual, a la milésima. Las partes (#percent#) se escriben siempre a la décima |
id_others_threshold | double | 0 | Agrupa las porciones pequeñas: toda porción cuya parte del todo esté por debajo de este porcentaje se une a una porción «Otros», dibujada la última en un gris neutro — la leyenda la muestra en su lugar. Los miembros se juzgan sobre todas las porciones, mostradas u ocultas: ocultar una porción grande nunca saca a las pequeñas, y la porción mayor nunca entra. Su clave es OTHERS_KEY ("__others") en todos los eventos, su valor es la suma de sus miembros mostrados, of_others_keys los nombra, of_item(OTHERS_KEY) lee su valor y su parte o la oculta. Una sola porción pequeña conserva su sector. 0 = nunca |
ii_others_top | integer | 0 | Agrupa por número: las N porciones mayores conservan su sector, todas las demás se unen a «Otros» (dos como mínimo, como con el umbral). Se suma a id_others_threshold: una porción entra en cuanto una de las dos reglas lo dice. 0 = ninguna regla así |
is_others_label | string | "" | El nombre de la porción «Otros». Se admite marcado en la leyenda y el panel de valores; las etiquetas y el resumen leído por un lector de pantalla escriben su texto plano. Vacío = la palabra del idioma de visualización (Others, Otros…) |
ib_auto_height | boolean | false | El componente anuncia su altura ideal y el userobject se ajusta (ue_auto_height). El ancho la dicta: una media rueda es la mitad de alta |
ib_enabled | boolean | true | Atenuado, el gráfico sigue mostrando lo que muestra pero deja de responder: ni clic, ni doble clic, ni teclado, ni leyenda, y sale del orden de tabulación |
ib_animated | boolean | true | La rueda llega animada — se abre desde su inicio, porción tras porción — y los nuevos valores se deslizan: los bordes entre las porciones se mueven juntos, la rueda nunca muestra un hueco ni una porción sobre su vecina; una porción quitada se cierra en su sitio. Un equipo configurado para reducir el movimiento nunca anima, y la rueda llega al mismo sitio |
ii_anim_duration | integer | 450 | Duración de la llegada y de cada movimiento, en milisegundos (limitada a 0..5000) |
is_anim_easing | string | ease-out | La curva del movimiento (constantes EASING_*, los nombres de LiveCharts2): back-out se pasa y vuelve, bounce-out rebota, elastic-out restalla |
ii_anim_delay | integer | 40 | Solo a la llegada (una rueda que no tenía nada en pantalla), el desfase entre dos porciones, en milisegundos (0 a 1000): la rueda se abre porción tras porción, nunca más de 600 ms después en total, tenga las porciones que tenga. 0 = todas a la vez. Un cambio de valores siempre desliza todas las porciones a la vez |
is_theme_style | string | "" | Estilo visual del componente (constantes THEME_STYLE_*); vacío = el de la aplicación, seguido en cada cambio |
is_theme_mode | string | "" | Variante clara u oscura (constantes THEME_MODE_*); vacío = la de la aplicación, seguida en cada cambio |
il_theme_accent | long | -1 | Color de acento de este componente (-1 = acento del tema) |
is_tooltip | string | "" | Información sobre herramientas simple al pasar por encima del componente |
is_super_tooltip_title | string | "" | Título de la información enriquecida (tiene prioridad sobre is_tooltip) |
is_super_tooltip_text | string | "" | Texto de la información enriquecida (se acepta marcado enriquecido) |
is_super_tooltip_image | string | "" | Imagen de la información enriquecida |
Métodos #
| Método | Función | |
|---|---|---|
of_add_slice ( string as_key, string as_label, double ad_value { , long al_color } ) | Añade una porción: su clave, su nombre (se admite marcado) y su valor; la sobrecarga con un color lo fija, sin ella elige la paleta (un juego para un tema claro, otro para uno oscuro). Devuelve 0 una vez añadida, -5 si la clave está vacía, contiene / o ` | , empieza por __ (las claves del propio gráfico, como OTHERS_KEY) o **ya está tomada** (añadir nunca reemplaza una porción), -2` si el componente no está creado |
of_clear ( ) | Quita todas las porciones — sus handles se van con ellas — y olvida las filas de of_from_datastore: un of_map o un of_reload posterior no las trae de vuelta. Los ajustes se quedan, también los roles de of_map; en su lugar se dibuja una rueda vacía. Devuelve 0 una vez vaciado, -2 si el componente no está creado | |
of_from_datastore (datastore ads) | Alimenta el gráfico desde un DataStore: una fila = una porción. Una columna desempeña un rol cuando lleva su nombre (key, label, value, color) o cuando of_map lo dice; hace falta una columna ROLE_VALUE. Sin columna ROLE_KEY, la clave de una porción es su número de fila; con ella, las filas que comparten una clave se suman en una sola porción (el nombre y el color de la primera) — un año de ventas se convierte en una porción por categoría, sin bucle. Números y fechas se leen como la DataWindow los escribe en el puesto (coma decimal, fechas regionales: una fecha pasa a yyyy-mm-dd). Una segunda carga actualiza las porciones en su sitio: una clave que vuelve conserva lo que el usuario y su código le dieron (oculta en la leyenda, desplazada, un color del código, su info-burbuja) y su handle; las porciones de las claves que se fueron se van; las porciones añadidas a mano se quedan, después de las de las filas. Devuelve 0 una vez cargado — una fila cuya clave está vacía, contiene / o ` | , empieza por __ o está tomada por una porción añadida a mano se descarta, y of_get_last_error dice cuántas —, -5 si el DataStore no es válido, ninguna columna desempeña ROLE_VALUE o una columna nombrada por of_map no está (of_get_last_error la nombra), -2` si el componente no está creado |
of_from_datastore (datawindow adw) | Lo mismo desde las filas de una DataWindow — la que el usuario ve junto al gráfico. Sus datos se comparten con un DataStore de paso: una DataWindow que no puede compartirlos se rechaza (-5, con el motivo). Devuelve 0 una vez cargado, -5 como arriba, -2 si el componente no está creado | |
of_from_datastore (datawindowchild adwc) | Lo mismo desde las filas de un DataWindowChild (una DataWindow desplegable, un informe anidado). Devuelve 0 una vez cargado, -5 como arriba, -2 si el componente no está creado | |
of_get_last_error ( ) | Por qué se rechazó la última llamada (un rol de of_map que las filas no tienen…), o cuántas filas descartó el último of_from_datastore y por qué; si no, el último error de la DLL, como para todo componente | |
of_get_values ( ref string as_keys[], ref double ad_values[] ) | Rellena los dos arreglos con las porciones que el gráfico tiene ahora, en el orden en que se dieron (is_sort solo cambia el dibujo), y devuelve su número — lo que lee el gráfico, no lo que se envió | |
of_item ( string as_key ) | El handle n_pbt_chartpie_slice de una porción, para leer o cambiar su nombre, valor, color, desplazamiento o visibilidad. of_item(OTHERS_KEY) siempre es válido: la porción «Otros», su valor, su parte, su visibilidad (of_has no la nombra: es del gráfico, no suya). Una clave que el gráfico no tiene da un handle que no cambia nada y lee valores vacíos — una propiedad no puede responder -5: compruebe antes con of_has una clave venida de fuera | |
of_map ( string as_role, string as_column ) | Da un rol a una columna cuando su nombre no lo dice: of_map(ROLE_VALUE, "amount"). Roles: ROLE_KEY (las filas de una misma clave se suman), ROLE_LABEL, ROLE_VALUE, ROLE_COLOR (un long RGB() o #rrggbb). Antes de of_from_datastore, o después: las filas se releen entonces en su sitio. La columna la juzga el próximo of_from_datastore (-5 allí si falta); cuando las filas ya dadas no la tienen, no se releen — el rol espera las filas que va a dar, y of_get_last_error lo dice. Una columna vacía devuelve el rol a la columna que lleva su nombre. Devuelve 0 una vez puesto, -5 si el rol no es una constante ROLE_, -2 si el componente no está creado | |
of_others_keys ( ref string as_keys[] ) | Rellena el arreglo con las claves de las porciones agrupadas en «Otros» ahora (ver id_others_threshold e ii_others_top), en el orden en que se dieron, y devuelve su número — 0 cuando ninguna porción está agrupada. De lo que trata un clic en OTHERS_KEY | |
of_reload ( ) | Relee las filas del último of_from_datastore — tras un Retrieve, tras una edición — y actualiza las porciones en su sitio, como un segundo of_from_datastore. Devuelve 0 una vez releído, -5 si no se dio ninguna fila (o of_clear las olvidó, o el DataStore se destruyó), -2 si el componente no está creado | |
of_remove_slice ( string as_key ) | Quita una porción; las demás ocupan su sitio, su handle se destruye. Devuelve 0 una vez quitada, -5 si ninguna porción tiene esa clave, -2 si el componente no está creado | |
of_set_values ( string as_keys[], double ad_values[] ) | Nuevos valores para varias porciones en una llamada — lo que un cuadro de mando llama en cada refresco: los bordes entre las porciones se deslizan juntos a sus nuevos ángulos, la rueda nunca abre un hueco. Devuelve 0 una vez aplicado, -5 si los dos arreglos difieren en longitud o una clave no existe (entonces no se aplica nada), -2 si el componente no está creado | |
of_total ( ) | El total de las porciones mostradas — lo que vale el 100 % ahora: una porción oculta en la leyenda no cuenta, ni un valor negativo | |
of_reset ( ) | Vacía el gráfico — handles de porción incluidos — y devuelve todas las propiedades a su valor de origen. Devuelve 0 una vez hecho, -2 si el componente no está creado |
Eventos #
| Evento | Se dispara cuando |
|---|---|
ue_slice_clicked (string as_key, double ad_value) | Se ha hecho clic en una porción — o se ha confirmado con Intro o Espacio en la porción del teclado (Tab hasta el gráfico, luego las flechas): su clave y su valor — OTHERS_KEY y la suma de sus porciones para la porción «Otros». El clic se juzga donde la porción reposa: cerca del centro, el hueco que deja una porción señalada al salir sigue siendo suyo. Una porción oculta no tiene nada que pulsar |
ue_slice_dblclicked (string as_key, double ad_value) | Doble clic en una porción: su clave y su valor — el sitio donde abrir las filas que hay detrás (un desglose: un segundo of_from_datastore con las filas de esa porción). Los dos clics anteriores lanzaron ue_slice_clicked, como en una DataWindow; Intro sigue siendo un clic |
ue_slice_rclicked (string as_key, long al_x, long al_y) | Clic derecho en una porción, o tecla Menú (Mayús+F10) en la porción del teclado. al_x, al_y: dónde, en píxeles de pantalla — el puntero, o el centro de la porción para la tecla Menú, nunca donde esté el ratón. Un componente contextmenu se abre allí: uo_menu.of_show(al_x, al_y) |
ue_slice_toggled (string as_key, boolean ab_visible) | El usuario ha ocultado o vuelto a mostrar una porción con un clic en la leyenda (o con Intro / Espacio en su entrada: la leyenda es una sola parada de Tab, las flechas la recorren). La última porción también puede ocultarse: la rueda dice entonces Todas las porciones están ocultas. Lo que el gráfico muestra ya no es entonces lo que la aplicación envió. Poner ib_visible es un valor, como marcar una casilla: este evento informa del gesto del usuario |
ue_slice_hovered (string as_key) | Solo con ib_track_hover: el puntero o el teclado alcanza otra porción — su clave; una clave vacía cuando las deja todas: el puntero fuera de la rueda, Esc, el foco que sale del gráfico |
ue_auto_height (long al_height) | Con ib_auto_height: el userobject acaba de redimensionarse a su altura ideal |
Propiedades de elemento #
Leídas y escritas en el handle de una porción: uo_pie.of_item(/*key*/ "north").id_value = 450. Cada lectura pregunta al gráfico.
| Propiedad | Tipo | Predeterminado | Función |
|---|---|---|---|
is_label | string | "" | El nombre de la porción, tal como lo muestran la leyenda y el panel; vacío = su clave |
id_value | double | 0 | Su valor; su ángulo es su parte del total, y se desliza hasta él |
il_color | long | -1 | Su color; -1 = el color de la paleta. Los colores de elemento heredados (il_accent, il_back_color, il_text_color y sus variantes al pasar el ratón) no tienen efecto sobre una porción: decide il_color |
id_push_out | double | 0 | La saca de la rueda para destacarla, en fracción del radio (limitado a 0..0,4) |
ib_visible | boolean | true | Oculta la porción sin quitarla: las demás se reparten de nuevo la rueda, la leyenda conserva un camino de vuelta |
id_percent | double | 0 | Su parte de lo que muestra la rueda, de 0 a 100; 0 cuando está oculta (solo lectura). Cada parte se escribe a la décima: tres porciones iguales leen 33,3 % cada una, 99,9 % juntas — las partes nunca se fuerzan a sumar 100 |
is_tooltip | string | "" | Su información sobre herramientas, escrita en el panel que nombra la porción bajo el puntero (o la del teclado) — nunca una segunda burbuja. Con ib_value_tooltip en false, el panel se abre igualmente para ella, sin las cifras. Se admite marcado |
is_super_tooltip_title | string | "" | El título en negrita de su información, escrito en el panel bajo su nombre |
is_super_tooltip_text | string | "" | El texto de su información, en el panel. Se admite marcado |
is_super_tooltip_image | string | "" | Una imagen en la cabecera de su información, en el panel (ruta del bundle, ruta absoluta o resources.dll:nombre) |
Ejemplos #
Un anillo y su total #
// A hole of 60 % of the radius : a doughnut
uo_pie.id_inner_radius = 0.6
// In the hole : the slice under the pointer, in bold above its name ;
// at rest, the total of the slices shown above the word Total
uo_pie.is_center_text = "[b]#hover_value#[/b][br]#hover_label#"
// Whole numbers with a thousands separator : a display format, as in a DataWindow
uo_pie.is_format = "#,##0"
Una media rueda como indicador #
// From the left, over half a circle : the upper half
uo_pie.ii_start_angle = -90
uo_pie.ii_sweep_angle = 180
uo_pie.id_inner_radius = 0.62
// What is spent and what is left, in the colour they mean
uo_pie.of_add_slice(/*key*/ "spent", /*label*/ "Spent", /*value*/ 72, /*color*/ RGB(/*red*/ 15, /*green*/ 108, /*blue*/ 189))
uo_pie.of_add_slice(/*key*/ "left", /*label*/ "Remaining", /*value*/ 28, /*color*/ RGB(/*red*/ 150, /*green*/ 150, /*blue*/ 150))
// The share spent, in the hole : worked out by the chart, it follows every new value
uo_pie.is_center_text = "[b]#percent:spent#[/b][br]spent"
Un cuadro de mando vivo #
// Timer event of the window : new values for the same slices
// Local variables
string ls_keys[] = {"s1", "s2", "s3"}
double ld_load[]
// Read the figures, then hand them to the slices already on the chart : they
// SLIDE to their new angles instead of replaying their arrival
ld_load = wf_read_load()
uo_pie.of_set_values(/*keys*/ ls_keys, /*values*/ ld_load)
Abrir las filas detrás de una porción #
// Event ue_slice_dblclicked of uo_pie : the key of the slice is the region
wf_open_orders(/*region*/ as_key, /*amount*/ ad_value)
Un menú sobre una porción #
// Event ue_slice_rclicked of uo_pie : (string as_key, long al_x, long al_y)
// Remember the slice, then open the contextmenu of the window where the gesture
// was made : the pointer, or the middle of the slice for the Menu key
is_menu_slice = as_key
uo_menu.of_show(/*x*/ al_x, /*y*/ al_y)
Desde un DataStore #
// Local variables
long ll_rc
// One slice per category : the rows of a category are SUMMED into its slice
uo_pie.of_map(/*role*/ u_pbt_chartpie.ROLE_KEY, /*column*/ "category")
uo_pie.of_map(/*role*/ u_pbt_chartpie.ROLE_LABEL, /*column*/ "category")
uo_pie.of_map(/*role*/ u_pbt_chartpie.ROLE_VALUE, /*column*/ "amount")
// ONE call reads every row of the DataStore retrieved when the window opened
// (an instance variable), no loop
ll_rc = uo_pie.of_from_datastore(/*ads*/ ids_sales)
// A row with no category is skipped : the chart says how many
if uo_pie.of_get_last_error() <> "" then wf_status(uo_pie.of_get_last_error())
La DataWindow en pantalla, releída en su sitio #
// Open event of the window : the chart reads the DataWindow the user sees
uo_pie.of_map(/*role*/ u_pbt_chartpie.ROLE_KEY, /*column*/ "region")
uo_pie.of_map(/*role*/ u_pbt_chartpie.ROLE_VALUE, /*column*/ "amount")
uo_pie.of_from_datastore(/*adw*/ dw_sales)
// After a Retrieve : the slices follow IN PLACE - a region the user hid from
// the legend stays hidden, a new region gets its slice
dw_sales.Retrieve()
uo_pie.of_reload()
Las porciones pequeñas en «Otros» #
// Every slice under 5 % of the total joins ONE slice, drawn last in grey,
// and only the six largest products keep a slice of their own
uo_pie.id_others_threshold = 5
uo_pie.ii_others_top = 6
uo_pie.is_others_label = "Other products"
// The largest first : the reader compares them from the top
uo_pie.is_sort = u_pbt_chartpie.SORT_DESC
// Event ue_slice_clicked of uo_pie : a click on Others opens the slices it holds
// Local variables
string ls_keys[]
// Others names the slices it gathered
if as_key = uo_pie.OTHERS_KEY then
uo_pie.of_others_keys(/*keys*/ ls_keys)
wf_open_products(/*keys*/ ls_keys)
end if
Buenas prácticas #
- Pocas porciones. Más allá de seis o siete, el ojo ya no compara ángulos vecinos: agrupe las pequeñas en una porción «Otros» (
id_others_threshold), o pase al gráfico cartesiano. - Ordene las porciones de la mayor a la menor (
is_sort = SORT_DESC), empezando arriba: la lectura sigue el sentido del dibujo. - Etiquetas fuera cuando las porciones son estrechas: siguen legibles, unidas a su porción, en vez de omitirse.
- Corte la animación en un cuadro de mando que se refresca, o consérvela y llame a
of_set_values: las porciones se deslizan en vez de reiniciar su llegada. - El gráfico conserva el sentido del dibujo en una aplicación de derecha a izquierda — las etiquetas exteriores también se escriben de izquierda a derecha, lejos de la rueda; solo la leyenda
START/ENDy sus flechas siguen el sentido de lectura. - Una imagen del gráfico (
of_save_as_png, la impresión) se toma una vez posado el deslizamiento: no hace falta cortar antes la animación. - Un color que significa algo (con retraso, gastado) se pone con
il_color; deje el resto a la paleta, que cambia con el tema claro u oscuro.
Heredado de la base común #
Estos miembros existen en todos los componentes visuales — no son propios de este. Se detallan una sola vez, en los capítulos transversales; esta tabla solo dice dónde leerlos.
| Miembros | Función | Detallado en |
|---|---|---|
of_count · of_keys_at · of_has | Recorrer lo que el componente contiene | 3.2 Los items |
of_reset | Poner el componente a cero | 3.6 Poner un componente a cero: of_reset() |
of_register_shortcut · of_clear_shortcuts | Atajos de teclado del componente | 3.5 Los atajos de teclado |
of_is_created · of_is_ready · of_get_last_error | Si ha nacido, si está listo, qué ha fallado | 3.7 Diagnóstico |
of_save_as_png · of_save_as_jpg | Exportar el render como imagen | 3.8 Exportar la representación como imagen |
of_set_redraw | Agrupar los cambios en un solo repintado | 3.10 Buenas prácticas |
of_preload_icons | Iconos mostrados sin retardo | Visualización instantánea: of_icon |
of_set_translation | Traducir una etiqueta del componente | 5.2 Adaptar una etiqueta: of_set_translation |
of_focus_webview | Dar el foco al componente | 6.4 Teclado y foco |
of_print · of_print_to_pdf | Imprimir, o escribir un PDF | 6.9 Imprimir |
of_set_property · of_get_property · of_component_name | Controlar una propiedad por su nombre | 3.1 El motor de propiedades |
is_accessible_name · is_accessible_description | El nombre y la descripción que dice un lector de pantalla | 3.4 Propiedades y eventos opcionales |
Dos ayudas no se heredan: of_icon y of_escape_markup viven en n_pbt_utils. Declare uno — n_pbt_utils lnv_utils, nada que crear — y llámelas sobre él.