DynamicProperty

The DynamicProperty element is a child element of DynamicProperties.

DynamicProperties can have one or more DynamicProperty children.

The DynamicProperty element has attributes. Valid attributes depend on the parent element of Form, BusinessRecord, BusinessApplication, or Database.

Syntax

   <File>
      <DynamicProperties>
        <DynamicProperty/>
        <DynamicProperty/>
        <DynamicProperty/>
      </DynamicProperties>
    </File>

Attributes

Table 1. DynamicProperty element attributes
Attribute Options
name Property identifier, name that appears in the xml. Must be unique among all the dynamic properties. The property gets associated with the Item / Relation through name.
description Textual description of the property. Displayed in property view tooltip.
type Property type. Defines how the property editor behaves.
BOOLEAN
The editor is a checkbox. Valid values are true, false.
MULTIPLEBOOLEAN
The editor is the multiple checkbox dialog, editorInfo can have contains(list of checkable values), title, description and icon
ENUM
The editor is combobox, values are in editorInfo contains: or dynamic
INTEGER
The editor is spinbox , range is in editorInfo: range
TEXT
The editor is for text.
FILE
The editor is the browse dialog.
FIELDS
The editor is the field selection dialog. The fields are dynamic.
BRQUERY
The editor is the record query dialog. This property type is reserved, do not use.
FDTEXT
This property type is reserved, do not use.
FDSTYLE
This property type is reserved, do not use.
FDINCLUDE
This property type is reserved, do not use.
FDCOLORCONDITION
This property type is reserved, do not use.
MULTIPLELINES
This editor is for text with a dialog for multiple line editing.
MULTIPLEPATH
This editor is the multiple path dialog. The hasBrowseButton specifies if the editor should have browse button. editPathMode can be file or directory. selectionMode can be single or multiple.

A custom property is a property which uses a property editor defined by the customer. We provide only 2 types of custom editors:

WEB
The editor is a input field with a browse button which opens a dialog box displaying a html document. See The WEB custom editor.
PROCESS
The editor is a input field with a browse button which launches an external process. See The PROCESS custom editor.
initialValue Default value used when no user value is set. This is the value set when the restore button is used. The default value is not saved in the file.
dynamicContent (Form) Name of the dynamic content source if the property is dynamic. The available dynamic contents in Form Designer are:
databaseName
List of available databases in the project and preferences.
sqlTabName
List of available database tables in the current database.
colName
List of available columns available with the sqlTabName table in the current database
aggregateColName
List of available columns available with the aggregateTableName table in the current database.
displayColName
List of available columns available with the displayLikeTableName table in the current database.
validateColName
List of available columns available with the validateLikeTableName table in the current database.
fieldType
List of available field type (only formonly if there is no database).
hidden
Adds USER to true, false if the selection contains only table columns.
posX, posY, gridwith, gridHeight
Returns the geometry limits depending on parent geometry.
rowCount, colCount, stepX, stepY
Corresponding min and max (for matrices).
totalRows
Min and max rows for table elements.
expandedColumns
Deprecated.
masterTable
List of record implicit tables.
componentType
List of available web components.
lookup
List of lookups in the parent record.
srcFieldsContent
List of available record fields in relation source.
dstFieldsContent
List of available record fields in relation destination.
precision
Available precision for current qual1 qualifier.
scale
Available scale for current qual2 qualifier.
aggregatePrecision
Available aggregate precision for current aggregateQual1 qualifier.
children
List of available children names.
sibling
List of available sibling names.
dynamicContent (BusinessApplication) Name of the dynamic content source if the property is dynamic.
The available dynamic contents in BusinessApplication are:
srcFieldsContent
List of available fields in the relation source or the current item if not a relation.
dstFieldsContent
List of available fields in the destination item or the current item if not a relation.
actionContent
List of available actions in the source item or the current item if not a relation.
type
List of available types for the current element.
editorInfo

Semicolon separated list of attribute:value pair containing the property editor information.

For example:
editorInfo="contains:ButtonEdit|CheckBox
|ComboBox|DateEdit|Edit|FFImage|FFLabel
|Field|ProgressBar|RadioGroup|Slider
|SpinEdit|TextEdit|TimeEdit"
editor
Use another editor than the default one associated to the property type.
alwaysUpdate
If true, the model is modified immediately on each user action.
contains
List of values for ENUM type if not dynamic.
editMode
If true, the property editor is editable (combobox, BRQuery).
filters
For FILE type, set the browse dialog extension filter.
isDynamic
If true, the values (contains property) is computed.
range
Range of values for the spinbox editor (similar to contains), two values separated with ‘|’.
icon
Contains the banner icon for property editor opening a dialog box (text, checkboxlist, MULTIPLELINES)
title
Contains the window title for property editor opening a dialog box (text, checkboxlist, MULTIPLELINES)
description
Contains the banner title for property editor opening a dialog box (text, checkboxlist, MULTIPLELINES)
label Text displayed in the Properties view.
readOnly Sets property to read only. Options are true or false.
isHidden Sets visibility of the property. Options are true or false.

Example

    <File extension="4fdm" isManaged="true">
      <DynamicProperties>
        <DynamicProperty name="foreignFields"  type="FIELDS"  
          label="foreignFields" initialValue="" 
          editorInfo="isDynamic:true" dynamicContent="srcFieldsContent"/>
        <DynamicProperty name="primaryFields"  type="FIELDS"  
          label="primaryFields" initialValue="" 
          editorInfo="isDynamic:true" dynamicContent="dstFieldsContent"/>
        <DynamicPropertyGroup name="relations"     
          label="Relation"      
          description="Relation properties group" 
          properties="foreignFields;primaryFields"/>
        <DynamicProperty name="canSearch"      type="BOOLEAN" 
          label="canSearch"     initialValue="true" 
          description="Allow search using Query By Example"/>
        <DynamicProperty name="canAdd"         type="BOOLEAN" 
          label="canAdd"        initialValue="true" 
          description="Allow adding items"/>
        <DynamicProperty name="canModify"      type="BOOLEAN" 
          label="canModify"     initialValue="true" 
          description="Allow modifying existing items"/>
        <DynamicProperty name="canDelete"      type="BOOLEAN" 
          label="canDelete"     initialValue="true" 
          description="Allow deleting items"/>
        <DynamicPropertyGroup name="functionality" 
          label="Functionality" 
          description="Functionality properties group" 
          properties="canAdd;canModify;canDelete;canSearch"/>
      </DynamicProperties>
      <Items>
        <Item nodeName="Relation" srcProperty="foreignFields" 
          dstProperty="primaryFields" 
          dynamicProperties="primaryFields;foreignFields"/>
        <Item nodeName="Record" 
          dynamicProperties="canAdd;canModify;canDelete;canSearch"/>
      </Items>
    </File>