Pular para conteúdo

Tag edit

Tag EDIT

A tag/componente edit representa uma caixa de texto na interface. Um ótimo controle para permitir a entrada de dados!

 

Herança

O edit possui todas as características de uma tag de texto. Veja:

Características

Além das características herdadas, a tag EDIT também possui as seguintes características:

Propriedades e atributos

Propriedade Tipo Valor Padrão Descrição
textPrompt String \<string vazio> Um texto que é exibido quando o edit está vazio. Normalmente é usado para orientar o usuário qual informação ele deve preencher.  Exemplo: "Preencha com seu nome" 
transparent Boolean false Quando True, as bordas e o fundo do edit não serão exibidas, mostrando apenas o texto conteúdo e o cursor de digitação. 
isPasswordEdit Boolean false Quando true, o edit conterá uma senha e os caracteres do texto serão exibidos como um caractere coringa. 
readOnly Boolean false Quando true, o edit não permite o usuário alterar seu conteúdo (somente leitura). 
type Enumerado: "text" "number" "float" "text" Define que tipo de dados o usuário pode digitar neste edit.  "text" - Não há restrições e o usuário pode digitar qualquer coisa.  "number" - O usuário pode digitar um valor numérico inteiro. Veja também as propriedades min e max do edit. A propriedade "keyboardType" é automaticamente alterada para "numberPad" se ela estiver como "default" ou "alphabet".  "float" - O usuário pode digitar um valor numérico de ponto flutuante (números reais, "com vírgula") 
min Double -2147483648 Quando o atributo "type" for igual a "number" ou "float", define qual o menor valor numérico que este Edit deve aceitar. 
max Double 2147483647 Quando o atributo "type" for igual a "number" ou "float", define qual o maior valor numérico que este Edit deve aceitar. 
decimalPlaces Integer 2 Quando o atributo "type" for igual a "float", define quantas casas decimais pode ter o número digitado pelo usuário. 
keyboardType Enumerado: "default" "numbersAndPunctuation" "numberPad" "phonePad" "alphabet" "url" "email" "default" Quando um teclado virtual for exibido (como aquele nos smartphones e tablets), qual é o layout preferencial de teclado para este conteúdo?  "default" e "alphabet": Um teclado alfanumérico padrão.  "numbersAndPunctuation": Um teclado para entrada de números de símbolos de pontuação.  "numberPad": Um teclado com apenas números.  "phonePad": Um teclado para entrada de número telefônico.  "url": Um teclado para preencher uma URL da internet.  "email": Um teclado para preencher endereços de e-mail. 
enterKeyType Enumerado: "default" "done" "go" "next" "search" "send"  "default" Quando um teclado virtual for exibido (como aqueles nos smartphones e tablets), este atributo define o ícone que aparece na tecla enter.  "default" - sem tratamento especial.  Observação importante: Esta propriedade apenas muda a aparência do botão ENTER. Caso queira dar uma funcionalidade ao enter, trate o evento onKeyDown verificando se event.keyCode == 13 
field String \<string vazio> Caminho de um campo no NodeDatabase.  Quando associado, o edit passa a apresentar e salvar o conteúdo no campo informado.  Veja também: Lua Form e NodeDatabase NodeDatabase 
frameRegion String \<string vazio> Considerando que o componente/tag pai possui um frame (ver Frames), ao definir o valor desta propriedade, a posição e tamanho deste controle é automaticamente calculada para se encaixar na Região do Frame de mesmo nome.  Veja Frames e Regiões 
asNumber Double 0.0 Contém o texto do edit como um número de ponto flutuante (número real). Se o texto do edit não for um número real válido, a propriedade contém 0. 

 

Eventos

Nome do evento Descrição
onChange Este evento é invocado quando o conteúdo do edit é alterado. 
onUserChange Este evento é disparado quando o valor do campo do objeto Nodo associado (ver atributo "field") for alterado porque o usuário alterou o conteúdo do edit.  Importante: Este evento é disparado APENAS se o atributo "field" estiver preenchido corretamente e se a alteração de valor ocorrer neste edit mediante ação do usuário. 

 

Veja Tratando eventos do Lua Form

Exemplos:

Exemplo 1 - Edit simples

 

\<?xml version="1.0" encoding="UTF-8"?> \<form name="frmFichaTeste">          \<edit left="10" top="10"/> \</form>

 

Image

 

Exemplo 2 - Edit transparente

 

\<?xml version="1.0" encoding="UTF-8"?> \<form name="frmFichaTeste">          \<edit left="10" top="10" transparent="true"/> \</form>

 

Image

 

Exemplo 3 - Edit que lê e salva dados no NodeDatabase

 

\<?xml version="1.0" encoding="UTF-8"?> \<form name="frmFichaTeste">          \<edit left="10" top="10" field="Destreza" width="250"/> \</form>

 

Image

 

Veja também:

 

Exemplo 4 - (Avançado) Uma mini ficha, usando edits, labels, layouts e styles para evitar retrabalho.

 

\<?xml version="1.0" encoding="UTF-8"?> \<form name="frmFichaTeste">          \<style>                 layout.LayoutCampo {                         width: 64;                         align: left;                         margins: {left=2, right=2};                 }                               layout.LayoutCampo edit {                         height:30;                         horzTextAlign: center;                         fontSize: 20;                         align: top;                 }                               layout.LayoutCampo label {                         align: top;                         horzTextAlign: center;                         vertTextAlign: leading;                         autoSize: true;                 }                       \</style>                         \<layout left="10" top="10" width="200" height="64">                   \<layout class="LayoutCampo">                         \<edit field="combate.armadura"/>                         \<label text="Armadura"/>                                \</layout>                                 \<layout class="LayoutCampo">                         \<edit field="saude.pontosDeVida"/>                         \<label text="Pontos de Vida"/>                          \</layout>                                               \<layout class="LayoutCampo">                         \<edit field="equipamentos.carga"/>                         \<label text="Carga (kg)"/>                              \</layout>                               \</layout> \</form>

 

 

Image

 

Neste exemplo, os atributos dos edits, labels e layouts foram definidos por Estilo em Cascata pela tag style.

 

Foram definidos 3 blocos de estilos em cascata:

  • Um com seletor "layout.LayoutCampo" (aplicado a todas as tags layout de class "LayoutCampo")
  • Um com seletor "layout.LayoutCampo edit" (aplicado a todas as tags edit que estão dentro de uma tag layout de class "LayoutCampo")
  • Um com seletor "layout.LayoutCampo label" (aplicado a todas as tags label que estão dentro de uma tag layout de class "LayoutCampo")

 

 

Veja também:

Tag STYLE

Tag LABEL

Tag LAYOUT

 

Exemplo 5 - (Avançado) O mesmo do exemplo 4, porém feito com tags TEMPLATES

 

 

\<?xml version="1.0" encoding="UTF-8"?> \<form name="frmFichaTeste">                \<template name="LayoutUmCampo">                 \<layout width="64" align="left" margins="{left=2, right=2}">                         \<edit field="\((campo)" height="30" horzTextAlign="center" fontSize="20" align="top"**/\>**                          **\<label** text="\)(titulo)" align="top" horzTextAlign="center"                                 vertTextAlign="leading" autoSize="true"/>                 \</layout>         \</template>          \<layout left="10" top="10" width="200" height="64">                   \<LayoutUmCampo campo="combate.armadura" titulo="Armadura"/>                 \<LayoutUmCampo campo="saude.pontosDeVida" titulo="Pontos de Vida"/>                 \<LayoutUmCampo campo="equipamentos.carga" titulo="Carga (kg)"/>                                 \</layout> \</form>

 

Image

 

Veja também:

Tag TEMPLATE

Tag LABEL

Tag LAYOUT


Created with the Personal Edition of HelpNDoc: Make Documentation Review a Breeze with HelpNDoc's Advanced Project Analyzer