Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [linuxtools-dev] Using the Time Graph Viewer and contributing to the project

On 07/11/2014 05:46 AM, Generoso Pagano wrote:

Thanks for pointing me towards the Tmf signal mechanism. If my understanding
is correct, currently the TmfTimeSynchSignal is sent only at the *end* of a
selection: e.g., I click on the Time Graph, I move the mouse, I release the
mouse button, and only at this moment the signal is sent.

That is correct, the signal is only sent when the time range is done being selected, so when the mouse button is released.

My need is slightly different, since I'd like to be notified about the current
selection *while* it is changing (during the mouse move, which is handled by
the TimeGraphControl).
For this reason, in my patch, I introduced the ITimeGraphDragSelectionListener,
which is called in the TimeGraphControl.mouseMove() in the case
(DRAG_SELECTION == fDragState).

It is maybe not necessary to introduce a new type of listener and event
(ITimeGraphDragSelectionListener and TimeGraphDragSelectionEvent) as I did,
since the ITimeGraphTimeListener and the TimeGraphTimeEvent already existing
can do the job. However, the modifications to the TimeGraphControl (fire the
listener call during mouse move), are in my opiniong still necessary to provide
the functionality I need.

Ok I see. Indeed the signal is not sufficient here, you want to be notified whenever the user is dragging. Wiring a listener here would make sense.

You could push this patch to Gerrit, we'd be happy to look at it.

Yes, I was thinking about a line, on top of the dialog, with:
- a simple text field for the filter
- two buttons to navigate (previous, next)
- maybe a checkbox to enable showing only the matching items (instead of all
   the items).

Sounds good! Just wondering, what do you mean by previous/next here?

Also, I'm not sure if a checkbox would be really needed. You often see "filter text fields", which are text fields with a <[X] "button" on the right side. If there is something written in the box, only the maching elements are displayed. The user can either remove the text or click the button to remove the filter and see all the entries again.

I'm not even sure if there is such a widget in SWT, but I feel it would work well here. Thoughts?

I agree. I think that to have the vertical zoom a custom reimplementation of
the tree viewer will be necessary...
Indeed, vertical dezooming could be very usefull to get a global overview
of the system execution, expecially to indentify synchronization points (e.g.,
barriers) among several entities (it is often the case with parallel/HPC
applications, which are important for our project).


We may revisit the whole notion of the time graph viewers and TimeGraphCombo in the upcoming months. One feature request that we get more and more often is to be able to "align" the width of different time graph viewers, so that their X-axes are all the same. Right now, every view can have a different width, so even if their time range are synchronized with the TimeSynchSignal's, the position is not the same in every view, which is annoying.

This means we could drop the notion of TimeGraphCombo completely then (the extra information for each label could go in the Properties view, for example). Which means we wouldn't use TreeViewer widgets, which means it would become doable/easier to also zoom those viewers vertically. Stay tuned!


Cheers,
Alexandre


Back to the top