if true then:
if target has horizontal orientation then preferred width of target is less or equal to width of target's parent
if target has vertical orientation then preferred height of target is less or equal to height of target's parent
width of parent returned as preferred width, preferred height computed, based on width (X_AXIS)
or
height of parent returned as preferred height, preferred width computed, based on height (Y_AXIS)
since we change viewportBorder after resizing,
we have to adjust viewportBorder's size before resizing,
otherwise (by some conditions) we'll become incorrect result
since ToolBarDragHandler can't communicate direct with ToolBarLayout
I use this class to pass row computed from Point supplied by ToolBarLayout back to ToolBarDragHandler