Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
submodels [2026/07/12 04:36]
hermann
submodels [2026/07/12 06:38] (current)
hermann
Line 107: Line 107:
 First, click on the functor whose inputs or outputs will be exported. First, click on the functor whose inputs or outputs will be exported.
  
-Select //export functor inputs and outputs// on the [[model_presentation#​functor_action_bar|functor action bar]] and choose the inputs or outputs that will be exported. It is possible to define the input and output names and their corresponding descriptions. It is also possible to mark an exported input as advanced or optional. Optional inputs can also define an optional value that will be assigned to the port if no explicit value is provided. ​For an exported input port from the integer family, the //Make port available as an enum value// control additionally lets you present ​it in the GUI as a labeled dropdown instead of a free-form numeric field, ​with a custom label defined for each integer value.+Select //export functor inputs and outputs// on the [[model_presentation#​functor_action_bar|functor action bar]] and choose the inputs or outputs that will be exported. It is possible to define the input and output names and their corresponding descriptions. It is also possible to mark an exported input as advanced or optional. Optional inputs can also define an optional value that will be assigned to the port if no explicit value is provided. 
 + 
 +> **Note:** Any port from the integer family ​of types can be declared a light enum, which presents ​it in the GUI as a labeled dropdown instead of a free-form numeric field, ​via the //Make port available as an enum value// control. This is not specific to submodels — it can be set on any carrier functor of an integer value type in any model, provided the carrier has an editor. When such a carrier'​s port is exported as a submodel input, its light enum configuration carries over into the submodel'​s interface.
  
 Choose //Submodel Options// on the model toolbar and then click //Apply Changes / Edit Submodel Properties//​. That brings up the submodel editor dialog where you can define a new name, description,​ documentation URL, and icon for the submodel, or reorder its inputs and outputs (or even remove some of them). Clicking //Ok// propagates the changes to all parts of your model (and dependent submodels) where the submodel is used. Choose //Submodel Options// on the model toolbar and then click //Apply Changes / Edit Submodel Properties//​. That brings up the submodel editor dialog where you can define a new name, description,​ documentation URL, and icon for the submodel, or reorder its inputs and outputs (or even remove some of them). Clicking //Ok// propagates the changes to all parts of your model (and dependent submodels) where the submodel is used.