Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [tracecompass-dev] Deprecating TimeGraphCombo

Hi,


On 2016-12-15 05:27 PM, Patrick Tasse wrote:
Hi,

For many reasons (mostly maintainability), I would like to deprecate the TimeGraphCombo which is a widget that combines a TreeViewer with a TimeGraphViewer and keeps them aligned.

To give some context as of the many reasons (from gerrit):

"
The motivation for removing the combo came when recently a change in the platform introduced some flickering and/or misalignment between the tree and the graph. Trying to keep these two aligned required a lot of complex gymnastics and workarounds, and it's a lot of effort to keep it working for all platform combinations. One issue in Windows that I haven't ever found a workaround for, is the vertical scroll bar that appears in the Tree, so in the middle of the widget. Another issue is the left part of the time graph marker axis (with the category labels), it's custom drawn on top of the Tree, so you can click through it and change the Tree selection! I was planning to see if this could be refactored, but I don't need to anymore... On top of that, it came to my attention this week that this custom drawing doesn't even show up at all in GTK3 (I don't know if that's recent or always been the case). That would be another thing I don't have to fix. The alignment mentioned above, even if it's working properly, needed some deferred processing, now it's all clean and properly aligned from the get go. So even though I had a lot of fun to debug and find all these workarounds, I don't think anyone will be sad to see it go, not even me. There's no other planned agenda for now, but any further development in that widget will be easier to implement from now on."


In order to achieve this, the time graph viewer is being enhanced to support columns and a label provider. This maintains the functionality that was provided by the tree side of the time graph combo.

A patch is under review with the proposed changes to Trace Compass:

https://git.eclipse.org/r/84135

The changes are source compatible, with a few methods and the TimeGraphCombo class being deprecated.

All uses of the deprecated class have been replaced in the Trace Compass plug-ins and the change is mostly functionally compatible.

The exception is the deprecated method AbstractTimeGraphView.getTimeGraphCombo() which now returns null. Any subclass of this view (in plug-in extensions outside of Trace Compass) that explicitly accesses the time graph combo will need to be updated to use the time graph viewer instead, or otherwise encounter a NullPointerException. The updates are usually simple, for example refer to the modifications in CallStackView in the patch.

I would like to deprecate the time graph combo in the next minor release (2.3.0) so that it can be completely removed in 3.0.0. Note that so far we haven't committed yet to having a minor release in Neon.3.

Let us know if you have any concerns or objections. I can help anyone that needs advice for updating their code to use a time graph viewer instead of a time graph combo.

Could you provide a list of code needing that update? This would allow a faster and more complete change.

Cheers


Best regards,
Patrick



_______________________________________________
tracecompass-dev mailing list
tracecompass-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/tracecompass-dev

--
Jonathan R. Julien
Efficios



Back to the top