BSplitView
A BSplitView would have two BViews as children. It would present these two BViews adjacently, with a horizontal or vertical divider between the two. The divider can be grabbed by user and dragged left/right or up/down (depending on the orientation) and it resizes the child views.
Background
This view is inspired by the JavaSplitPane and by many other similar widgets.
The split view is such a popular idea there's even a SplitPane bebits app. The split view in this app supports these features: adding a child view to either side; getting the current orientation, divider position/thickness, divider step, minimum width/height for either pane, all the state for the splitpane; determining if the split view has a child for either pane, if the orientation/position is locked, if either view is detachable; setting the current orientation, divider position/thickness, divider step, minimum width/height for either pane, all the state for the splitpane.
There's also a split view in Santa's gift bag.
Split views are used in a lot of beos applications and it's not clear where they've come from. One which nearly any developer will be (and should be) familiar with is the BeHappy application. This has two rather well behaved and decent looking dividers. The dividers fit the look and feel of the BWindow excellently, in my humble opinion. Another place to look for resizing like this is in the Windows 95/98 window decor's resizing for window edges. (yeah, ew.., I know :-) )
Resize behavior requirement
For this widget to be useful the BViews have to do something meaningful when the divider is moved. Also, it is necessary to define the behavior for the divider when the window is resized. Rather than fixing the behavior to an arbitrary standard such as "maintain the proportion of the two subwindows" it is much more helpful to allow the developer to control this behavior. An easy way to do this is to allow the user to supply a number between zero and one that specifies what percentage of the additional space is given to the left/right/top/bottom window. This elegant solution allows the developer to tie the divider to a particular side of the app (right or left, top or bottom) by simply setting this number to 0 or 1 depending on what is meaningful. If the application is one where resizing the entire window can meaningfully resize both panes simultaneously, this behavior can be obtained by setting the value of the percentage to be some value between 0 and 1. For perfectly proportional resizing the value is set after the user drags the divider to the proportion that the new setting creates. Since this feature may be a common request, we could make life easier by defining a mode where the BSplitView handles this behavior itself.
Comments on existing BeOS solutions
Some of the BeOS solutions for the split view have a behavior where you can click on the divider and change its orientation. It's my personal opinion that this feature is of relatively little merit. The cases where it can be usefully applied are small. The default for any GE split view should have such a feature turned off, in my humble opinion. Also in the cases where this feature is supplied the present behavior is rather undesirable. That is, when you change the oriention it uses the distance from the side to determine the new position for the bar. A better choice would be to use the same proportion in the new orientation. This avoids annoying divider-snaps-to-side behavior.