BLayout should derive from BLayoutItem, and should function without a BView.
|Reported by:||yourpalal||Owned by:||yourpalal|
BLayout should derive from BLayoutItem, so that we can avoid creating BViews with the sole purpose of having a BLayout attached to them!
However, this change will cause some compilation problems, so it will have to be done in stages:
1 Update Applications to reflect the impending changes in step 2
2 Update layout builders and remove their operator* BView which will cause compilation ambiguities once BLayout is a BLayoutItem when a layout builder is passed to BView::AddChild() or BWindow::AddChild(). At this point, methods will also be added to the layout builders to facilitate use of viewless BLayouts, but they will not create viewless layouts.
3 Derive BLayout from BLayoutItem, and provide mechanisms for correct operation under viewlessness. Also update BLayout sub-classes to use these mechanisms.
4 Update layout builders to actually create viewless layouts under the correct situations.
5 Add an easy enhancement ticket for updating apps to make better use of viewless layouts, probably with hints at how to do this.