2017 June Release

Control Arguments and Control OptionsPermanent link for this heading

Control ArgumentsPermanent link for this heading

Typically, controls provide control arguments that allow influencing the behavior of the controls. They are defined in the app.ducx user interface language within brackets after the control for a specific element in the form page layout.

Syntax

app.ducx User Interface Language

layout {
  row {
    CustomControl("arg1=value arg2=value ...") property {
      ...
    }
  }
}

Control arguments can also applied when assigning a control directly to a property using COOATTREDIT@1.1:attrrepresentation. This control assignment is the default for a property for all occurrences of the property in form page layouts where no explicit control is assigned to the property.

Note: The name of a control argument is case sensitive.

Syntax

app.ducx Object Model Language

import COOATTREDIT@1.1;

class MyClass {
    Type property {
      attrrepresentation<uiaction, controlargument> = {
        { CustomControl,
"arg1=value arg2=value ..." }
      }

    }
  }
}

Control OptionsPermanent link for this heading

Control options are similar to control arguments but are only available in jQuery controls and most other standard controls (see the description of the corresponding controls for details). They are evaluated in the controloptions expression, which is defined in the app.ducx user interface language in the corresponding property block. The result value has to be a string in JSON format or a dictionary.

Syntax

app.ducx User Interface Language

layout {
  row {
    CustomControl property {
      controloptions = expression {
        ...
      }
    }
  }
}

Note: It is highly recommended to avoid control arguments and control options with the same name. Which value is taken depends on the control.

Common Control ArgumentsPermanent link for this heading

The following generic argument can be used for several controls.

BranchApps

The argument BranchApps adds buttons to a property for starting virtual applications. It can be used for all controls that allow defining branches on the application view.

  • If several virtual applications are defined, the object addresses or references of the virtual applications have to be separated with semicolons.
    Example: BranchApps=VT@1.1001:StrBranchApp;VT@1.1001:DelStrBranchApp
  • As branch name the name of the virtual application is used.
  • As branch symbol the symbol of the virtual application is used, if the application does not use the default symbol.
  • The return value of the branch app will be stored in the corresponding property. In addition, the value is stored in the dictionary with the key sys_branchappresult. If the property is not inside an aggregate list, the value is additionally stored in the dictionary with the short reference of the property as key.
  • The virtual application must have assigned the FSCVAPP@1.1001:BranchPrototype prototype.
    • sys_object
      The current object.
    • sys_view
      The property the control is assigned to.
    • sys_value
      The value of the property. The virtual application may change the value.
    • sys_selobjects and sys_selindices
      Selected objects and indices (relevant for object pointer lists and aggregate lists).