I have to create a schedule control for displaying items with duration as little as 1 seconds and potentially as large as couple of hours.
First thing which seems clear is that I will need some kind of zoom capability, for drilling into the items with very short durations and zooming out to view the items with very large durations.
I have a UI style in mind where by when the control is zoomed to view the large items, any small duration items which generally occur between the large duration items are some how collected in to a 'bucket' which has a height >= a minimum display height. So that I can perhaps hover a mouse over this bucket and get a tool tip which renders the contained items into a time ordered list view.
I am at a loss as to where to begin. I feel that I could perhaps achieve something in the layout pass of the UI. But I think this could adversely affect render performance. If I were to do it this way, I guess I would need to inject a 'bucket' view into the UI when ever I came to items which were to short to display at the current time-scale?
My second though is that I create a custom collection which is Time-Scale aware which then organises the collection into 'buckets' of a duration tall enough to be displayable.
Does anyone have any thoughts on how I should best approach this problem?