Objetos
Tipo
CONFIGURAÇÃO OBRIGATÓRIA
Esta propriedade designa o tipo de objecto formulárioactivo ou inactivo.
Gramática JSON
Nome | Tipo de dados | Valores possíveis |
---|---|---|
type | string | "button", "buttonGrid", "checkbox", "combo", "dropdown", "groupBox", "input", "line", "list", "listbox", "oval", "picture", "pictureButton", "picturePopup", "plugin", "progress", "radio", "rectangle", "ruler", "spinner", "splitter", "stepper", "subform", "tab", "text", "view", "webArea", "write" |
Objectos suportados
4D View Pro area - 4D Write Pro area - Button - Button Grid - Check Box - Combo Box - Drop-down List - Group Box - Hierarchical List - List Box - List Box Column - List Box Footer - List Box Header - Picture Button - Picture Pop-up Menu - Plug-in Area - Progress indicator - Radio Button -Spinner - Splitter - Static Picture - Stepper - Subform - Tab control - Text Area - Web Area
Nome de objeto
Cada objeto de formulário ativo está associado a um nome de objeto. Cada nome de objeto deve ser único.
Os nomes dos objectos estão limitados a um tamanho de 255 bytes.
When using 4D’s language, you can refer to an active form object by its object name (for more information about this, refer to Object Properties in the 4D Language Reference manual).
For more information about naming rules for form objects, refer to Identifiers section.
Gramática JSON
Nome | Tipo de dados | Valores possíveis |
---|---|---|
name | string | Qualquer nome permitido que não pertença a um objeto já existente |
Objectos suportados
4D View Pro area - 4D Write Pro area - Button - Button Grid - Check Box - Combo Box - Drop-down List - Group Box - Hierarchical List - List Box - List Box Column - List Box Footer - List Box Header - Picture Button - Picture Pop-up Menu - Plug-in Area - Progress indicator - Spinner - Splitter - Static Picture - Stepper - Radio Button - Subform - Tab control - Text Area - Web Area
Variável ou expressão
See also Expression for Selection and collection type list box columns.
Esta propriedade especifica a fonte dos dados. Each active form object is associated with an object name and a variable name. O nome da variável pode diferir do nome do objeto. In the same form, you can use the same variable several times while each object name must be unique.
O tamanho do nome da variável é limitado a 31 bytes. See Identifiers section for more information about naming rules.
As variáveis de objeto do formulário permitem controlar e monitorar os objetos. For example, when a button is clicked, its variable is set to 1; at all other times, it is 0. The expression associated with a progress indicator lets you read and change the current setting.
Variables or expressions can be enterable or non-enterable and can receive data of the Text, Integer, Numeric, Date, Time, Picture, Boolean, or Object type.
Expressões
Você pode usar uma expressão como fonte de dados para um objeto. Any valid 4D expression is allowed: simple expression, formula, 4D function, project method name or field using the standard [Table]Field
syntax. The expression is evaluated when the form is executed and reevaluated for each form event. Note that expressions can be assignable or non-assignable.
If the value entered corresponds to both a variable name and a method name, 4D considers that you are indicating the method.
Variáveis dinâmicas
You can leave it up to 4D to create variables associated with your form objects (buttons, enterable variables, check boxes, etc.) dynamically and according to your needs. To do this, simply leave the "Variable or Expression" property (or dataSource
JSON field) blank.
When a variable is not named, when the form is loaded, 4D creates a new variable for the object, with a calculated name that is unique in the space of the process variables of the interpreter (which means that this mechanism can be used even in compiled mode). Esta variável temporária será destruída quando o formulário for fechado. Para que este princípio funcione em modo compilado, é imperativo que as variáveis dinâmicas sejam explicitamente tipadas. Há duas formas de o fazer:
- Pode definir o tipo utilizando a propriedade Tipo de expressão.
- É possível utilizar um código de inicialização específico quando o formulário é carregado, que utiliza, por exemplo, o comando
VARIABLE TO VARIABLE
:
If(Form event=On Load)
C_TEXT($init)
$Ptr_object:=OBJECT Get pointer(Object named;"comments")
$init:=""
VARIABLE TO VARIABLE(Current process;$Ptr_object->;$init)
End if
No código 4D, as variáveis dinâmicas podem ser acedidas através de um ponteiro obtido com o comando OBJECT Get pointer
. Por exemplo:
// atribuir a hora 12:00:00 à variável do objeto "tstart"
$p :=OBJECT Get pointer(Object named; "tstart")
$p->:=?12:00:00?
Este mecanismo tem duas vantagens:
- On the one hand, it allows the development of "subform" type components that can be used several times in the same host form. Let us take as an example the case of a datepicker subform that is inserted twice in a host form to set a start date and an end date. This subform will use objects for choosing the date of the month and the year. It will be necessary for these objects to work with different variables for the start date and the end date. Letting 4D create their variable with a unique name is a way of resolving this difficulty.
- Por outro lado, pode ser utilizado para limitar a utilização da memória. De facto, os objectos formulário só funcionam com variáveis processo ou inter-processo. No entanto, no modo compilado, uma instância de cada variável de processo é criada em todos os processos, incluindo os processos do servidor. This instance takes up memory, even when the form is not used during the session. Therefore, letting 4D create variables dynamically when loading the forms can save memory.
List box array
For an array list box, the Variable or Expression property usually holds the name of the array variable defined for the list box, and for each column. However, you can use a string array (containing arrays names) as dataSource value for a list box column to define a hierarchical list box.
Gramática JSON
Nome | Tipo de dados | Valores possíveis |
---|---|---|
dataSource | string ou array de strings |
|
Objectos suportados
4D View Pro area - 4D Write Pro area - Button - Button Grid - Check Box - Combo Box - Drop-down List - Hierarchical List - List Box - List Box Column - List Box Header - List Box Footer - Picture Pop-up Menu - Plug-in Area - Progress indicator - Spinner - Splitter - Stepper - Tab control - Subform - Radio Button - Web Area
Tipo de expressão
This property is called Data Type in the Property List for Selection and collection type list box columns.
Specify the data type for the expression or variable associated to the object. Note that main purpose of this setting is to configure options (such as display formats) available for the data type. Não digita efetivamente a variável em si. In view of database compilation, you must use the 4D language commands of the Compiler
theme.
No entanto, essa propriedade tem uma função de digitação nos seguintes casos específicos:
- Dynamic variables: you can use this property to declare the type of dynamic variables.
- List Box Columns: this property is used to associate a display format with the column data. The formats provided will depend on the variable type (array type list box) or the data/field type (selection and collection type list boxes). The standard 4D formats that can be used are: Alpha, Numeric, Date, Time, Picture and Boolean. O tipo de texto não tem formatos de visualização específicos. Também estão disponíveis quaisquer formatos personalizados existentes.
- Picture variables: you can use this menu to declare the variables before loading the form in interpreted mode. Specific native mechanisms govern the display of picture variables in forms. These mechanisms require greater precision when configuring variables: from now on, they must have already been declared before loading the form — i.e., even before the
On Load
form event — unlike other types of variables. To do this, you need either for the statementC_PICTURE(varName)
to have been executed before loading the form (typically, in the method calling theDIALOG
command), or for the variable to have been typed at the form level using the expression type property. Otherwise, the picture variable will not be displayed correctly (only in interpreted mode).
Gramática JSON
Nome | Tipo de dados | Valores possíveis |
---|---|---|
dataSourceTypeHint | string |
|
Objectos suportados
Check Box - Combo Box - Drop-down List - Input - List Box Column - List Box Footer - Plug-in Area - Progress indicator - Radio Button - Ruler - Spinner - Stepper - Subform - Tab Control
Classe CSS
Uma lista de palavras separadas por espaços utilizadas como selectores de classe em ficheiros css.
Gramática JSON
Nome | Tipo de dados | Valores possíveis |
---|---|---|
"class" | string | Uma cadeia de caracteres com o(s) nome(s) do CSS separados por caracteres de espaço |
Objectos suportados
4D View Pro area - 4D Write Pro area - Button - Button Grid - Check Box - Combo Box - Drop-down List - Group Box - Hierarchical List - List Box - Picture Button - Picture Pop-up Menu - Plug-in Area - Radio Button - Static Picture - Subform - Text Area - Web Area
Seleção de entidade ou coleção
To use collection elements or entities to define the row contents of the list box.
Insira uma expressão que retorne uma coleção ou uma seleção de entidades. Usually, you will enter the name of a variable, a collection element or a property that contain a collection or an entity selection.
A coleção ou a seleção da entidade deve estar disponível para o formulário quando for carregada. Each element of the collection or each entity of the entity selection will be associated to a list box row and will be available as an object through the This command:
- if you used a collection of objects, you can call
This
in the datasource expression to access each property value, for exampleThis.\<propertyPath>
. - if you used an entity selection, you can call
This
in the datasource expression to access each attribute value, for exampleThis.\<attributePath>
.
If you used a collection of scalar values (and not objects), 4D allows you to display each value by calling
This.value
in the datasource expression. However in this case you will not be able to modify values or to access the current ite object (see below) Note: For information about entity selections, please refer to the ORDA chapter.
Gramática JSON
Nome | Tipo de dados | Valores possíveis |
---|---|---|
dataSource | string | Expressão que devolve uma coleção ou uma seleção de entidades. |
Objectos suportados
Fonte de dados
Especifique o tipo de list box.
- Arrays(default): use array elements as the rows of the list box.
- Current Selection: use expressions, fields or methods whose values will be evaluated for each record of the current selection of a table.
- Named Selection: use expressions, fields or methods whose values will be evaluated for each record of a named selection.
- Collection or Entity Selection: use collection elements or entities to define the row contents of the list box. Note that with this list box type, you need to define the Collection or Entity Selection property.
Gramática JSON
Nome | Tipo de dados | Valores possíveis |
---|---|---|
listboxType | string | "array", "currentSelection", "namedSelection", "collection" |
Objectos suportados
Tipo de plug-in
Name of the plug-in external area associated to the object. Plug-in external area names are published in the manifest.json file of the plug-in.
Gramática JSON
Nome | Tipo de dados | Valores possíveis |
---|---|---|
pluginAreaKind | string | Nome da área externa do plug-in (começa com um carácter %) |
Objectos suportados
Grupo Rádio
Enables radio buttons to be used in coordinated sets: only one button at a time can be selected in the set.
Gramática JSON
Nome | Tipo de dados | Valores possíveis |
---|---|---|
radioGroup | string | Nome do grupo rádio |
Objectos suportados
Título
Permite inserir uma etiqueta num objeto. O tipo de letra e o estilo desta etiqueta podem ser especificados.
Pode forçar um retorno de carro na etiqueta utilizando o carácter \ (barra invertida).
Para inserir um \ na etiqueta, introduzir "\\".
Por padrão, a etiqueta é colocada no centro do objeto. When the object also contains an icon, you can modify the relative location of these two elements using the Title/Picture Position property.
For database translation purposes, you can enter an XLIFF reference in the title area of a button (see Appendix B: XLIFF architecture).
Gramática JSON
Nome | Tipo de dados | Valores possíveis |
---|---|---|
text | string | qualquer texto |
Objectos suportados
Button - Check Box - List Box Header - Radio Button - Text Area
Cálculo de variáveis
This property sets the type of calculation to be done in a column footer area.
The calculation for footers can also be set using the
LISTBOX SET FOOTER CALCULATION
4D command.
Existem vários tipos de cálculos disponíveis. The following table shows which calculations can be used according to the type of data found in each column and indicates the type automatically affected by 4D to the footer variable (if it is not typed by the code):
Cálculo | Num | Text | Date | Hora | Bool | Pict | tipo var rodapé |
---|---|---|---|---|---|---|---|
Mínimo | X | X | X | X | Igual ao tipo de coluna | ||
Máximo | X | X | X | X | Igual ao tipo de coluna | ||
Soma | X | X | X | Igual ao tipo de coluna | |||
Contagem | X | X | X | X | X | X | Integer |
Média | X | X | Real | ||||
Desvio padrão(*) | X | X | Real | ||||
Variância(*) | X | X | Real | ||||
Soma dos quadrados(*) | X | X | Real | ||||
Personalizado ("none") | X | X | X | X | X | X | Qualquer |
(*) Apenas para list boxes do tipo array.
When an automatic calculation is set, it is applied to all the values found in the list box column. Note that the calculation does not take the shown/hidden state of list box rows into account. If you want to restrict a calculation to only visible rows, you must use a custom calculation.
When Custom ("none" in JSON) is set, no automatic calculations are performed by 4D and you must assign the value of the variable in this area by programming.
Os cálculos automáticos não são suportados com:
- rodapés de colunas com base em fórmulas,
- footers of Collection and Entity selection list boxes. Precisa utilizar cálculos personalizados.
Gramática JSON
Nome | Tipo de dados | Valores possíveis |
---|---|---|
variableCalculation | string | "none", "minimum", "maximum", "sum", "count", "average", "standardDeviation", "variance", "sumSquare" |