It's an offset from the top of the component, where -1 indicates no
baseline.

Might it simplify the code if we defined it as an offset from the bottom of the component, where 0 means no baseline?

In a ideal world, TablePaneSkin would return the max(baseline) over the
child components in the first row.

The first row seems arbitrary. I could see making this argument for a horizontal flow pane - maybe for TablePane the caller could specify the row that defines the baseline.

The problem with throwing is that the caller may be transitioning from
one valid state to another via an invalid state, but because we set the
properties using 2 different methods, it is impossible to know if this
is the case.

I don't think that is a problem here, because "orientation" is an intrinsic property of FlowPane and alignment is a style. Setting the intrinsic property would reset the style - we wouldn't throw in this case.

Reply via email to