[haiku-development] Re: ColumnListView.h

  • From: "Ingo Weinhold" <ingo_weinhold@xxxxxx>
  • To: haiku-development@xxxxxxxxxxxxx
  • Date: Tue, 10 Jan 2012 15:59:28 +0100

Ralf Schülke wrote:
> So i go a head and draw the verry first prototype.
> 
> I look into the QT World :-) and i litle understand this, but Haiku API is
> litel bit other. We have no Signal and Slots we have BMessage /BLooper and
> Hook functions ;-) .
> 
> I Love the Idear to have a BTableView and add or remove Tabel Items.

There's a MVC based table implementation I created for the table-heavy 
DebugAnalyzer [1]. It is not complete yet and currently uses ColumnListView as 
a back-end (which can (and was intended to) be replaced without changing the 
public interface). It is mostly inspired by Swing's JTree and JTable design, 
i.e. unlike Qt it uses different models for trees and flat lists. The unified 
model design has a few nice properties (most notably the flexibility in use -- 
e.g. also for combo boxen (where Qt unfortunately fails ATM) or common 
sort/filter proxy models), so it might be worthwhile considering migrating to 
such a design. Though I think it doesn't make much of a difference as long as 
it's only used for the table and tree classes, anyway.

> The TableView are a Container View (BGridView) and all Items can add in the
> Grid.

BGridView is probably not the best choice. While the table items are indeed 
laid out in a grid, the main feature of BGridLayout -- laying out the items 
according to their minimum and maximum sizes -- is not really needed. Item 
heights are usually fixed and column width are set manually or algorithmically 
(with an explicit "resize to fit" option). Moreover BGridView was not designed 
with thousands of items in mind, so it might perform suboptimally.

CU, Ingo

Other related posts: