[
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