Optionally automatically determine row height per-row.
This not only removes the need to worry about setting
a pixel-correct row height regardless of font,
NodeControls used, etc, but more significantly allows
different rows to have different heights -- for
instance, allowing one to have 'subtitles' below some
tree nodes.
Row height is determined based on requested sizes of
NodeControls via the existing NodeControl.MeasureSize
method.
This functionality defaults to enabled, but can be
overridden with a constant row height (the original
behaviour) by setting TreeViewAdv.RowHeight to a
non-null value. I'd be fine with changing the default
behaviour to use a constant row-height, it just seemed
that more cases would prefer this functionality on
simply for convenience.
There *is* an efficiency loss here as absolute
locations cannot be determined via "row * RowHeight",
but instead the rows must be iterated through in many
cases. If this in fact proves to be a problem in
practical cases, these values can easily be cached for
visible rows.
This functionality is particularly valuable when used
in conjunction with complex node controls via
ControlNodeControl.
Logged In: YES
user_id=1115413
Updated patch to apply against version of code with latest
version of 1522620 applied.