[haiku-bugs] [Haiku] #6407: BLayout should derive from BLayoutItem, and should function without a BView.

  • From: "yourpalal" <trac@xxxxxxxxxxxx>
  • Date: Fri, 30 Jul 2010 20:26:19 -0000

#6407: BLayout should derive from BLayoutItem, and should function without a
BView.
----------------------------------+-----------------------------------------
   Reporter:  yourpalal           |        Owner:  yourpalal     
       Type:  enhancement         |       Status:  new           
   Priority:  normal              |    Milestone:                
  Component:  Kits/Interface Kit  |      Version:  R1/Development
   Keywords:  layout, gsoc2010,   |   Blocked By:                
Has a Patch:  0                   |     Platform:  All           
   Blocking:  5524                |  
----------------------------------+-----------------------------------------
 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.

-- 
Ticket URL: <http://dev.haiku-os.org/ticket/6407>
Haiku <http://dev.haiku-os.org>
Haiku - the operating system.

Other related posts: