Generic features and parameters

Depending on the support of its sublayouts, Recursive Layout may support the following generic parameters defined in the IlvGraphLayout class (see Generic parameters and features):
The following paragraphs describe the particular way in which these parameters are used by this subclass.

Allowed time

The Recursive Layout can stop the entire layout of a nested graph after a certain amount of time. If the allowed time setting has elapsed, the Recursive Layout stops; that means it stops the currently running layout of a subgraph and skips the subsequent layouts of subgraphs that have not yet been started. If at the stop time point a sublayout is running on a subgraph that does not support the “allowed time” feature, then this sublayout first runs to completion before the Recursive Layout is stopped. If the Recursive Layout stops early because the allowed time has elapsed, the result code in the layout report is:
IlvGraphLayoutReport.STOPPED_AND_INVALID

Percentage completion calculation

The Recursive Layout calculates the percentage of completion. This value can be obtained from the layout report during the run of the layout. The value is a very rough estimation. If the layouts on the subgraphs do not support the calculation of the percentage completion, the Recursive Layout can report the percentage based only on the information of how many layouts of subgraphs are already finished. For example, if the entire nesting structure contains five nested graphs, the mechanism reports 20% after the layout of the first subgraph has finished, 40% after the layout of the second subgraph has finished, and so on. If the layouts of the subgraphs support the calculation of the percentage completion, the Recursive Layout calculates a more detailed percentage. In most cases, the calculated percentage is only a very rough estimation that does not always grow linearly over time.
For a detailed description of this feature, see Percentage of completion calculation and Listener layout.

Save parameters to named properties

The Recursive Layout instance can save its layout parameters into named properties if all its sublayouts support this feature. This can be used to save layout parameters to .ivl files. (For a detailed description of this feature, see Percentage of completion calculationand Saving layout parameters and preferred layouts.)

Stop immediately

The Recursive Layout can be stopped at any time.
It stops the currently running layout of a subgraph after cleanup if the method stopImmediately is called and skips the subsequent layouts of subgraphs that have not yet been started.
If at the stop time point a sublayout is running on a subgraph that does not support the “stop immediately” feature, then this sublayout first runs to completion before the Recursive Layout is stopped.
For a description of this method in the IlvGraphLayout class, see Stop immediately. If the layout stops before completion, the result code in the layout report is IlvGraphLayoutReport.STOPPED_AND_INVALID .