PBToolboxAI v4 ← Site

chartcartesian — u_pbt_chartcartesian #

← Referência dos componentes · Índice do guia

Gráfico cartesiano: colunas, barras, linhas, áreas e nuvens de pontos, num eixo de categorias e num ou dois eixos de valores. O tipo define-se por série.

▶ Ver ao vivo — Aplicação de demonstração, mosaico Cartesian chart : a pré-visualização, o código que o produz e esta página, lado a lado.


Em resumo #

Userobjectu_pbt_chartcartesian
Classe de itensn_pbt_chartcartesian_series (of_item(key)) · n_pbt_chartcartesian_axis (of_axis(axis))
Serve paraComparar valores ao longo de um eixo — meses, produtos, regiões
PrincípioVocê põe as categorias e depois as séries; as escalas, a grelha e a animação são connosco

Arranque rápido #

// Local variables
string ls_months[] = {"Jan", "Feb", "Mar", "Apr", "May", "Jun"}
double ld_sales[] = {420, 510, 480, 620, 700, 660}

// The categories FIRST : they fix how many values a series carries
uo_chart.of_set_categories(/*labels*/ ls_months)
uo_chart.of_add_series(/*key*/ "sales", /*label*/ "Revenue", /*type*/ u_pbt_chartcartesian.TYPE_BAR, /*values*/ ld_sales)

O tipo pertence à SÉRIE, não ao componente #

É a decisão de que decorre tudo o resto. Um componente por tipo — um para barras, outro para linhas — nunca pode produzir um combinado: barras encimadas por uma linha de objectivo, num segundo eixo. E é justamente a forma mais pedida num painel.

Aqui há um só componente, e cada série leva o seu is_type (TYPE_BAR, TYPE_LINE, TYPE_AREA, TYPE_SCATTER). Mudar o tipo de uma série não toca nas outras.

ib_secondary coloca uma série no segundo eixo de valores. É o que permite a um número de encomendas e a uma facturação conviverem: sem ele, uma das duas é uma linha plana rente ao eixo.

of_set_categories vem antes das séries: o seu número fixa quantos valores cada série deve levar.

// Local variables
double ld_target[] = {400, 500, 550, 600, 680, 720}

// Bars and a line in the SAME chart : the type belongs to the series
uo_chart.of_add_series(/*key*/ "target", /*label*/ "Target", /*type*/ u_pbt_chartcartesian.TYPE_LINE, /*values*/ ld_target)

// And its own scale, when the two do not share a unit
uo_chart.of_item(/*key*/ "target").ib_secondary = true

Propriedades #

PropriedadeTipoPredefiniçãoPapel
is_titlestring""Título do gráfico, mostrado por cima
ib_show_legendbooleantrueMostra a legenda. Clicar numa entrada esconde a sua série — a forma mais barata de comparar duas séries em cinco
is_legend_locationstringbottomOnde fica a legenda (constantes LEGEND_*): por cima ou por baixo do traçado, ou ao lado — START/END põem-na em coluna de um lado, e o traçado cede-lhe o espaço. START/END são lógicas: seguem o sentido de leitura. Uma posição desconhecida vale o fundo, e relê-se assim
ib_show_gridbooleantrueAs linhas de fundo, em cada valor redondo. Sem elas só a forma continua legível, nunca um valor
ib_value_tooltipbooleantrueO painel de valores: quando o rato passa sobre uma categoria, todas as séries e o seu valor aí, de uma vez, e uma retícula marca a coluna. Não é is_tooltip (herdado), que é a dica do componente inteiro — este segue o ponteiro e diz de que é feito o gráfico. Cada série escreve a sua linha com o seu próprio is_label_format; um valor ausente não tem linha
is_orientationstringverticalColunas ou barras (constantes ORIENTATION_*). Roda todo o referencial, linhas e áreas incluídas
ib_stackedbooleanfalseEmpilha as séries de barras em vez de as pôr lado a lado. Linhas e áreas nunca se empilham: dizem um nível
is_stack_modestringvalueSoma ou quota (constantes STACK_*). Em percentage cada pilha é levada a 100: o eixo lê então quotas, não totais — até -100 quando há quotas negativas. Não significa nada fora do empilhamento
ib_enabledbooleantrueEsbatido: o componente continua a mostrar o que mostra — um gráfico sem dados não é o mesmo que um gráfico que a aplicação desligou — mas deixa de responder: nem clique, nem tecla, nem entrada de legenda, e sai da ordem de tabulação. true por omissão
ib_animatedbooleantrueO gráfico chega animado: as formas crescem, as fitas esbatem-se. Se a chegada se repete a cada actualização de um painel, é melhor desligá-la — uma chegada que recomeça de cinco em cinco segundos nunca termina. Um posto configurado para reduzir o movimento nunca anima
ii_anim_durationinteger450Duração dessa chegada, em milissegundos (0 a 5000)
is_anim_easingstringease-outCurva da chegada (constantes EASING_*): linear, ease-out, back-out que passa e volta, bounce-out que ressalta, elastic-out que estala. É ela que dá carácter à animação
ii_anim_delayinteger0Desfasamento entre duas séries à chegada, em milissegundos (0 a 1000). Entram então uma após a outra em vez de surgirem juntas, o que dá ao gráfico o seu sentido de leitura. 0 = todas ao mesmo tempo
is_theme_stylestring""Estilo visual do componente (constantes THEME_STYLE_*); vazio = o da aplicação, seguido a cada mudança
is_theme_modestring""Variante clara ou escura (constantes THEME_MODE_*); vazio = a da aplicação, seguida a cada mudança
il_theme_accentlong-1Cor de acento deste componente (-1 = acento do tema)
is_tooltipstring""Dica simples mostrada ao passar sobre o componente
is_super_tooltip_titlestring""Título da dica enriquecida (tem precedência sobre is_tooltip)
is_super_tooltip_textstring""Texto da dica enriquecida (marcação rica aceite)
is_super_tooltip_imagestring""Imagem da dica enriquecida

Métodos #

MétodoPapel
of_set_categories ( string as_labels[] )As etiquetas do eixo de categorias. A chamar antes das séries. Devolve 0 uma vez aplicado, -2 se o componente não estiver criado
of_set_value_labels ( string as_labels[] )Etiquetas no eixo dos valores. Vazio — o caso normal — esse eixo carrega números. Preenchido, carrega faixas como o eixo de categorias: o quadro de duas categorias em que se desenha um mapa de calor. Devolve 0 uma vez aplicado, -2 se o componente não estiver criado
of_get_value_labels ( ref string as_labels[] )Preenche as_labels[] com o que o eixo dos valores carrega agora e devolve o número. Zero = carrega números
of_add_heat_series ( string as_key, string as_label, long al_x[], long al_y[], double ad_weight[] )Um mapa de calor: uma célula por par (categoria, etiqueta de valor), colorida pelo seu peso. al_x é o posto da categoria e al_y o da etiqueta, ambos a partir de 1 — os postos de um array PowerScript, que um duplo ciclo escreve sem cálculo. Definir antes as duas listas. Devolve 0 uma vez adicionada, -5 se a chave estiver vazia, contiver / ou `, ou já estiver tomada, -2` se o componente não estiver criado
of_add_ohlc_series ( string as_key, string as_label, double ad_open[], double ad_high[], double ad_low[], double ad_close[] )Uma série OHLC: a amplitude do mínimo ao máximo, um traço à esquerda para a abertura e outro à direita para o fecho. Quatro números por ponto, e o eixo lê-se pelo máximo e pelo mínimo — os outros dois estão dentro por construção. Os quatro arrays são truncados ao mais curto. Devolve 0 uma vez adicionada, -5 se a chave estiver vazia, contiver / ou `, ou já estiver tomada, -2` se o componente não estiver criado
of_add_candle_series ( string as_key, string as_label, double ad_open[], double ad_high[], double ad_low[], double ad_close[] )Os mesmos quatro números, desenhados em velas: um pavio do mínimo ao máximo e um corpo cheio entre a abertura e o fecho. Um doji — abertura igual ao fecho — guarda um pixel de corpo, para continuar a ser uma linha que o olho encontra. Devolve 0 uma vez adicionada, -5 se a chave estiver vazia, contiver / ou `, ou já estiver tomada, -2` se o componente não estiver criado
of_set_series_ohlc ( string as_key, double ad_open[], double ad_high[], double ad_low[], double ad_close[] )Novas cotações para uma série financeira já traçada. O que of_set_series_values é para uma série de valores. Devolve 0 uma vez aplicado, -5 se nenhuma série tiver esta chave ou se não for financeira, -2 se o componente não estiver criado
of_get_series_ohlc ( string as_key, ref double ad_open[], ref double ad_high[], ref double ad_low[], ref double ad_close[] )Preenche os quatro arrays com o que a série carrega agora e devolve o número de pontos. Uma série não financeira devolve 0
of_add_series ( string as_key, string as_label, string as_type, double ad_values[] { , long al_color } )Adiciona uma série com o seu tipo — TYPE_BAR, TYPE_LINE, TYPE_AREA, TYPE_SCATTER ou TYPE_STEPLINE; a sobrecarga recebe também a sua cor (RGB()), senão a paleta escolhe. Um valor NULL (SetNull) é um buraco: aí nada é desenhado, etiquetado nem clicável, e uma linha interrompe-se. Uma chave já tomada é recusada, nunca substituída: of_set_series_values e o handle of_item mudam uma série que existe. Devolve 0 uma vez adicionada, -5 se o tipo não for um destes cinco (um mapa de calor e as séries financeiras têm o seu método), ou se a chave estiver vazia, contiver / ou `, ou já estiver tomada, -2` se o componente não estiver criado
of_set_series_values ( string as_key, double ad_values[] )Novos valores para uma série já traçada, o resto intacto. É a chamada de um painel vivo: a série mantém a sua identidade, por isso as formas deslizam em vez de saltar. Um valor NULL é um buraco. Devolve 0 uma vez aplicado, -5 se nenhuma série tiver esta chave ou se tiver pontos ou cotações (of_set_series_points, of_set_series_ohlc substituem-nos), -2 se o componente não estiver criado
of_append_values ( string as_key, double ad_values[], long al_max_points )Um gráfico em direto: acrescenta novos valores no fim de uma série e retira os mais antigos assim que tiver mais de al_max_points (0 = sem limite). Só viajam os valores novos — a série não é reenviada a cada tique. A combinar com of_append_categories. Devolve 0 uma vez aplicado, -5 se nenhuma série tiver esta chave ou se tiver pontos ou cotações, -2 se o componente não estiver criado
of_append_categories ( string as_labels[], long al_max_count )Novas categorias no fim do eixo, as mais antigas retiradas além de al_max_count (0 = sem limite): as etiquetas de um gráfico em direto deslizam com os seus valores. Devolve 0 uma vez aplicado, -2 se o componente não estiver criado
of_add_point_series ( string as_key, string as_label, double ad_x[], double ad_y[] { , double ad_weight[] } )Uma série posicionada por valor nos dois eixos: x diz onde ao longo do eixo de categorias, y a que altura. Esse eixo deixa então de ser um eixo de categorias — passa a ser um segundo eixo de valores, com as suas graduações. Uma sobrecarga aceita um peso por ponto, que dimensiona a bolha. Devolve 0 uma vez adicionada, -5 se a chave estiver vazia, contiver / ou `, ou já estiver tomada, -2` se o componente não estiver criado
of_set_series_points ( string as_key, double ad_x[], double ad_y[], double ad_weight[] )Novos pontos para uma série que já os carrega. O que of_set_series_values é para uma série de valores. Devolve 0 uma vez aplicado, -5 se nenhuma série tiver esta chave ou se tiver valores ou cotações, -2 se o componente não estiver criado
of_get_series_points ( string as_key, ref double ad_x[], ref double ad_y[], ref double ad_weight[] )Preenche os três arrays com o que a série carrega agora e devolve o número de pontos. Uma série de valores não responde nada em ad_x: não tem abcissa própria
of_get_series_values ( string as_key, ref double ad_values[] )Preenche ad_values[] com o que a série carrega agora e devolve o número. Leitura viva : consulta o gráfico, não o último envio
of_remove_series ( string as_key )Retira uma série; as outras mantêm a cor e a visibilidade. O seu handle (of_item) é destruído com ela: um of_item seguinte na mesma chave cria um novo. Devolve 0 uma vez retirada, -5 se nenhuma série tiver esta chave, -2 se o componente não estiver criado
of_clear ( )Esvazia o gráfico — séries e categorias; os handles de série vão com elas. Os eixos mantêm as suas definições e as suas secções. Devolve 0 uma vez esvaziado, -2 se o componente não estiver criado
of_set_value_format ( integer ai_decimals, string as_prefix, string as_suffix, boolean ab_thousands )Formato dos números de todo o gráfico — eixos, etiquetas e painel dos valores: decimais, prefixo, sufixo, separador de milhares. Os separadores decimal e de milhares são os da língua de apresentação. Apaga também o formato próprio de cada eixo. Devolve 0 uma vez aplicado, -2 se o componente não estiver criado
of_set_value_format ( string as_axis, integer ai_decimals, string as_prefix, string as_suffix, boolean ab_thousands )O formato de um eixo (AXIS_VALUE, AXIS_VALUE2, ou AXIS_CATEGORY quando tem números): as suas graduações, e as etiquetas e o painel das séries traçadas nele — um montante de um lado, um número de encomendas do outro. Devolve 0 uma vez aplicado, -5 se o eixo não for um dos AXIS_*, -2 se o componente não estiver criado
of_clear_value_format ( )Volta ao formato predefinido. Devolve 0 uma vez aplicado, -2 se o componente não estiver criado
of_item ( string as_key )Devolve a pega de uma série, para a alterar depois
of_axis ( string as_axis )Devolve a pega de um eixo (AXIS_CATEGORY, AXIS_VALUE, AXIS_VALUE2), para o ajustar depois. Qualquer outro papel não devolve nenhuma pega (IsValid() é falso)
of_add_axis_section ( string as_axis, string as_key, double ad_from, double ad_to, long al_color )Uma faixa através do traçado, por trás dos dados: « abaixo de 200 é mau ». Desenhada sob as formas, nunca compete com elas. No eixo das categorias, ad_from e ad_to são posições contadas a partir de 1 (de 2 a 3 cobre a segunda e a terceira categoria). Devolve 0 uma vez adicionada, -5 se o eixo não for um dos AXIS_* ou se a chave estiver vazia, contiver / ou `, ou já estiver tomada nesse eixo, -2` se o componente não estiver criado
of_add_axis_threshold ( string as_axis, string as_key, double ad_at, long al_color, integer ai_thickness )Uma linha através do traçado num valor — um objectivo, um limite. O mesmo registo das faixas, mas desenhada para ser vista. Devolve 0 uma vez adicionada, -5 se o eixo não for um dos AXIS_* ou se a chave estiver vazia, contiver / ou `, ou já estiver tomada nesse eixo, -2` se o componente não estiver criado
of_clear_axis_sections ( string as_axis )Retira todas as faixas e todos os limiares de um eixo. Devolve 0 uma vez esvaziado, -5 se o eixo não for um dos AXIS_*, -2 se o componente não estiver criado
of_reset ( )Esvazia o gráfico — handles de série e de eixo incluídos — e repõe todas as propriedades no seu valor de origem. Devolve 0 uma vez feito, -2 se o componente não estiver criado

Sem chave (modo demo), o gráfico só desenha as suas 3 primeiras séries, legenda incluída. As outras ficam no modelo — of_count, of_get_series_values e os seus handles veem-nas — e a chave definida mostra-as sem que tenha de reenviar nada.


Eventos #

EventoDisparado quando
ue_point_clicked (string as_key, long al_index, double ad_value)Uma barra, um ponto, uma célula ou uma cotação foi clicada — ou confirmada com Enter: a chave da série, a posição do ponto na série, a partir de 1, e o seu valor — o do ponto seja qual for a forma da série: o y de uma nuvem, o peso de uma célula de calor, o fecho de uma cotação. No teclado, Esquerda/Direita percorrem as categorias e Cima/Baixo escolhem a série que o painel sublinha; uma série de pontos ou um mapa de calor escolhido percorre-se ponto a ponto. Um buraco não tem nada para clicar
ue_series_toggled (string as_key, boolean ab_visible)O utilizador ocultou ou voltou a mostrar uma série com um clique na legenda. O que o gráfico mostra deixa então de ser o que a aplicação enviou. Definir ib_visible é um valor, como marcar uma caixa: este evento comunica o gesto do utilizador

A animação é uma entrada, não um cálculo: a geometria final é escrita de imediato e só a chegada é tocada. Um gráfico nunca mostrado — nascido fora do ecrã, num separador que ninguém abre — mostra portanto as barras certas, em silêncio.


Propriedades de item #

PropriedadeTipoPredefiniçãoPapel
is_labelstring""O nome da série, tal como a legenda o mostra
is_typestringbarbar · line · area · scatter · stepline (constantes TYPE_*). Muda o desenho desta série apenas — é isso que faz um gráfico combinado. Só um tipo da mesma família é aceite: uma série de valores entre bar, line, area, scatter e stepline, uma série financeira entre ohlc e candle; qualquer outro é ignorado e is_type relê o tipo mantido
il_colorlong-1Cor da série (RGB()). -1 enquanto nenhuma estiver definida: a paleta escolhe
ib_visiblebooleantruefalse oculta uma série sem a retirar — a legenda guarda o caminho de volta. Como uma caixa de verificação, é um valor definido: ue_series_toggled comunica o clique do utilizador na legenda
ib_secondarybooleanfalseTraça a série no segundo eixo. É assim que um número e um montante vivem no mesmo gráfico
ib_data_labelsbooleanfalseEscreve o valor de cada ponto ao seu lado. Desligado por omissão: em cinquenta pontos as etiquetas tapam o desenho que explicam
is_label_formatstring""O que diz cada etiqueta e cada linha do painel: #y# o valor, #x# a categoria (o x de uma série de pontos, a coluna de uma célula de calor), #v# a linha de uma célula de calor, #label# o nome da série, #open# #high# #low# #close# as cotações; o resto escreve-se tal como está — "$#y#K". Vazio = o valor sozinho. Uma etiqueta escrita dentro de uma barra empilhada fica a preto ou a branco, conforme a sua barra suporta
id_smoothnessdouble1Só linhas e áreas: quão arredondada é desenhada a linha, 0 = segmentos retos, 1 = plenamente curva, como a desenha o LiveCharts. Uma linha em escada ignora-o — diz que o nível se MANTEVE até à categoria seguinte, uma curva diria que derivou. Uma curva pode passar para além dos seus pontos; é cortada no quadro do traçado e nunca pinta sobre os rótulos dos eixos
ib_fillbooleantrueLinhas e áreas: a aguada sob o traço, até ao eixo, no tom da série. É a remoção que é o acto deliberado — para uma linha posta por cima de outra coisa (colunas, bandas de eixo coloridas) que a aguada esconderia
il_fill_colorlong-1A cor dessa aguada. -1 = a da própria linha
is_markerstring"circle"Linhas, escadas e nuvens de pontos: a FORMA do marcador em cada ponto (constantes MARKER_*: none, circle, square, triangle, diamond). Não é decoração — duas linhas que se cruzam, impressas a cinzento, distinguem-se pelo seu marcador e por mais nada
ii_thicknessinteger2Linhas e áreas: a espessura do traço, em píxeis
ii_point_countinteger0Quantos pontos carrega esta série — valores ou pares (x, y) (só leitura)
il_cold_colorlong-1Só mapas de calor: o extremo FRIO da escala, a leitura mais leve. -1 = a escala própria do componente, um só azul, do muito pálido ao intenso
il_mid_colorlong-1O ponto MÉDIO. Três pontos e não dois: interpolar de uma ponta à outra desbota o meio da escala, onde está a maior parte das leituras. -1 = o azul médio do componente
il_hot_colorlong-1O extremo QUENTE, a leitura mais pesada. É o que a legenda mostra. -1 = o azul intenso do componente
il_up_colorlong-1Só séries financeiras: a cor de um ponto que fecha acima da sua abertura. -1 = o verde do componente
il_down_colorlong-1E a de um ponto que fecha abaixo. Duas cores porque o sentido é o que se lê num gráfico assim — uma só ocultá-lo-ia. -1 = o vermelho do componente

Propriedades de eixo #

PropriedadeTipoPredefiniçãoPapel
is_titlestring""Título escrito ao longo do eixo. Vazio = sem título, e sem espaço reservado para um
id_mindoubleNULLLimite inferior imposto. Ganha aos dados e não é arredondado: quem escreve 0 quer 0. NULL (SetNull) não impõe nada: o eixo volta a seguir os seus dados, e um limite livre relê-se NULL (IsNull), nunca 0. Livre, um eixo de valores só inclui o zero se uma barra ou uma área assentar nele: cotações e linhas leem-se no seu próprio intervalo
id_maxdoubleNULLLimite superior imposto, mesma regra. O que o ultrapassa é cortado na borda do traçado
id_stepdouble0Distância entre duas linhas de grelha, em valores. 0 = um passo redondo lido do intervalo
ii_label_rotationinteger0Rotação das etiquetas deste eixo, em graus (-90 a 90) — nomes de categoria ou graduações de valores. Doze nomes de meses só cabem por baixo de um gráfico inclinados; quando ainda não cabem, o gráfico escreve um em cada N, sempre o primeiro e o último
ib_separatorbooleantrueAs suas linhas de grelha. Um eixo de categorias raramente precisa delas, um de valores quase sempre
ii_section_countinteger0Quantas faixas e limiares este eixo carrega (só leitura)
ib_logarithmicbooleanfalseSó eixos de valores: uma escala logarítmica, graduada por décadas (1, 10, 100…), cada década com a mesma altura — para números que abrangem várias ordens de grandeza. O zero e os valores negativos não têm lugar nela e não são desenhados

Exemplos #

Ajustar a animação conforme o ecrã #

// A dashboard that refreshes every few seconds : no arrival animation
uo_chart.ib_animated = false

// Elsewhere, a slower arrival that is actually seen
uo_chart.ii_anim_duration = 1200

Abrir as linhas por trás de um ponto #

// Event ue_point_clicked of uo_chart : the series key, the position of the
// point (from 1) and its value - enough to open the rows behind it
string ls_month

// On a series of values, the position IS the rank of the category
ls_month = is_months[al_index]
wf_open_orders(/*series*/ as_key, /*month*/ ls_month, /*amount*/ ad_value)

Um painel vivo #

// Timer event of the window : new values for the same series, so the bars
// SLIDE to their new height instead of replaying their arrival
double ld_sales[]

// Read the figures, then hand them to the series already on the chart
ld_sales = wf_read_sales()
uo_chart.of_set_series_values(/*key*/ "sales", /*values*/ ld_sales)

Um gráfico em direto que desliza #

// Timer event of the window, every second : ONE new reading. Only that value
// travels ; past sixty, the oldest leaves on both the axis and the series
// Local variables
string ls_time[]
double ld_cpu[]

// The time of the reading on the axis, the reading itself in the series
ls_time[1] = String(Now(), "hh:mm:ss")
ld_cpu[1] = wf_read_cpu()
uo_chart.of_append_categories(/*labels*/ ls_time, /*max_count*/ 60)
uo_chart.of_append_values(/*key*/ "cpu", /*values*/ ld_cpu, /*max_points*/ 60)

Uma medida em falta, e o gráfico como imagem #

// March was not measured : a NULL value is a gap, the line is cut there
// Local variables
double ld_temp[] = {18.5, 19.2, 0, 21.4}

// The third reading is missing : NULL, not zero
SetNull(ld_temp[3])
uo_chart.of_add_series(/*key*/ "temp", /*label*/ "Temperature", /*type*/ u_pbt_chartcartesian.TYPE_LINE, /*values*/ ld_temp)

// The chart as it is on screen, title and legend included, to a PNG file
uo_chart.of_save_as_png(/*path*/ "C:\Reports\temperature.png")

Uma faixa e um objetivo no eixo dos valores #

// A pale red band below 200 and a target line at 600, behind the bars
uo_chart.of_add_axis_section(/*axis*/ u_pbt_chartcartesian.AXIS_VALUE, /*key*/ "low", /*from*/ 0, /*to*/ 200, /*color*/ RGB(/*red*/ 255, /*green*/ 220, /*blue*/ 220))
uo_chart.of_add_axis_threshold(/*axis*/ u_pbt_chartcartesian.AXIS_VALUE, /*key*/ "target", /*at*/ 600, /*color*/ RGB(/*red*/ 200, /*green*/ 70, /*blue*/ 70), /*thickness*/ 2)

// The value axis says what it measures
uo_chart.of_axis(/*axis*/ u_pbt_chartcartesian.AXIS_VALUE).is_title = "Sales ($K)"

Boas práticas #

Herdado da base comum #

Estes membros existem em todos os componentes visuais — não são próprios deste. São detalhados uma só vez, nos capítulos transversais; esta tabela apenas diz onde os ler.

MembrosFunçãoDetalhado em
of_count · of_keys_at · of_hasPercorrer o que o componente contém3.2 Os items
of_resetRepor o componente a zero3.6 Repor um componente a zero: of_reset()
of_register_shortcut · of_clear_shortcutsAtalhos de teclado do componente3.5 Os atalhos de teclado
of_is_created · of_is_ready · of_get_last_errorSe nasceu, se está pronto, o que falhou3.7 Diagnóstico
of_save_as_png · of_save_as_jpgExportar a renderização como imagem3.8 Exportar a representação como imagem
of_set_redrawAgrupar as alterações num único repinte3.10 Boas práticas
of_preload_iconsÍcones mostrados sem atrasoApresentação instantânea: of_icon
of_set_translationTraduzir uma legenda do componente5.2 Adaptar uma etiqueta: of_set_translation
of_focus_webviewDar o foco ao componente6.4 Teclado e focus
of_print · of_print_to_pdfImprimir, ou escrever um PDF6.9 Imprimir
of_set_property · of_get_property · of_component_nameControlar uma propriedade pelo nome3.1 O motor de propriedades

Duas ajudas não são herdadas: of_icon e of_escape_markup vivem em n_pbt_utils. Declare um — n_pbt_utils lnv_utils, nada a criar — e chame-as nele.

← Referência dos componentes · Índice do guia