Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[tracecompass-dev] Viewers for the MultiView


There is a prototype in the Incubator named MultiView. The MultiView is able to show more than one chart within one view. For example, you can add a set of XYCharts with a set of TimeGraphs to observe them aligned and sychronized.

Current implementation uses copies of BaseDataProviderTimeGraphView, AbstractTimeGraphView and TmfChartView to be able to show those charts. "Copies" means that original classes were copied at first. Then those "copies" were changed so that they were rather viewers than views. In fact, the code was moved to the new viewers in the "method by method" manner. As a result we have two copies of each of those two instruments that are able to show XYs and Time Graphs.

I believe it to be a wrong approach to have nearly same entities being implemented twice. I know there is some work in progress for XYCharts and TimeGraphs and I want those results to affect the MultiView too. So, something has to be done here. I'm sure that the usage of the same components by different views would be the great benefit.

The benefits of using the same base (the same viewers) for different views as I see them:
- all the views are consistent in displaying data across the Trace Compass;
- the user experience is not changed across different views;
- all the views get the most recent updates of the relevant viewers at once.

>From my side I have these options:

1. Extract viewers from BaseDataProviderTimeGraphView, AbstractTimeGraphView and TmfChartView in a way that these viewers can be used by other views. After that the viewers can be used by their original views as well as by the MultiView. This would be my preference.

2. Use the viewers which are already implemented in the Incubator by the respective views in Trace Compass. This needs to move some classes from the Incubator to the Trace Compass' repo. I don't like this option since the components that reside in Trace Compass' repo are more likely to be stable. Also, the copies are just a prototype and they were not tested well under different circumstances.

3. Haven't came up with more...

The first option would be the best from my point of view but I'd like to hear out some opinions from others too. :)

Please, share your thoughts.


Best regards,
Ivan Grinenko
Software Engineer

Back to the top