Alec Flett wrote:
* The grid's mechanism for accessing Items in the Collection may end
up being fairly different, and it is very important to get this right
to be able to handle very large collections in the grid. A grid can
make grid-specific assumptions about which items are on screen.
Actually, the CollectionCanvas has moved towards something closer to the
grid - at least, it maintains a separate list of the on-screen items...
A grid doesn't have to maintain a list of on-screen items. The grid just
has to ask for the nth item in the list when it is drawing that item.
The grid never has to look at two items at the same time, or do domain
specific calculations to figure out what items to draw. The grid can be
very smart about only looking at items that are in the update region,
etc. I believe the wx grid implementation is actually pretty smart
about this -- it might be worth spelunking through that code for ideas
before your swag session.
The calendar, on the other hand, needs to look at items to see if they
are overlapping, etc. Some of the month views that we talked about need
to look at all of the events for a particular day when drawing that day
to do neat things with information design.
The calendar can also be smart about what it draws (much of which you
have already done) -- just noting that its worth taking advantage of
grid-specific constraints.
I think its possible that we could develop the grid with a slight
variation on what Bryan is suggesting:
CollectionCanvas
/ \
CollectionGrid GraphicalCanvas
\
CalendarCanvas
so basically, CollectionCanvas might get some of its stuff broken out
into GraphicalCanvas that might only be relevant to the CalendarCanvas
Makes sense to me.
Cheers,
Katie
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Open Source Applications Foundation "Dev" mailing list
http://lists.osafoundation.org/mailman/listinfo/dev