### org.jfree.layouting.renderer.process

# Class ComputeTableICMMetricsStep

- `java.lang.Object`
- - `org.jfree.layouting.renderer.process.IterateStructuralProcessStep`
  - - `org.jfree.layouting.renderer.process.ComputeTableICMMetricsStep`

`public class ComputeTableICMMetricsStep`
`extends IterateStructuralProcessStep`

Computes the table-column base-size ratios. These ratios cannot be computed unless the preferred size of all cell-contents are known.

As soon as the cell-sizes have been computed, the column model is filled and cell-ratios get assigned. The prelimentary cell-widths are kept in the column model object itself.

For now, that computation creates a valid 'separate' border model. The compound-border-model smells like voodo right now, I have no clue how to do that.

This step cannot be computed, if the table is not valid (is either closed or contains at least one row in the body-section).

Author:
  Thomas Morgner

  ## Nested Class Summary

  `static class`

  `ComputeTableICMMetricsStep.TableInfoStructure`

  ## Constructor Summary

  `ComputeTableICMMetricsStep()`

  ## Method Summary

  `void`

  `compute(LogicalPageBox root)`

  `protected void`

  `finishBlockBox(BlockRenderBox box)`

  `protected boolean`

  `startBlockBox(BlockRenderBox box)`

  ### Methods inherited from class org.jfree.layouting.renderer.process.IterateStructuralProcessStep

  `finishBlockBox`, `finishInlineBox`, `finishNormalFlow`, `finishOtherBox`, `finishOtherNode`, `processBoxChilds`, `processParagraphChilds`, `startBlockBox`, `startInlineBox`, `startNormalFlow`, `startOtherBox`, `startOtherNode`, `startProcessing`

## Constructor Details

### ComputeTableICMMetricsStep

    public ComputeTableICMMetricsStep()

## Method Details

### compute

    public void compute(LogicalPageBox root)

### finishBlockBox

    protected void finishBlockBox(BlockRenderBox box)

> Overrides:
>   finishBlockBox in interface IterateStructuralProcessStep

### startBlockBox

    protected boolean startBlockBox(BlockRenderBox box)

> Overrides:
>   startBlockBox in interface IterateStructuralProcessStep