Help requested: creating a keyframed timeline editor
-
I'm willing to create a keyframed timeline editor. Something like Adobe Flash...
!http://i40.tinypic.com/2edw3yx.gif(Image)!It should look like a tree widget with a column holding each element's timeline. I thought about using the Qt Graphics Framework for this purpose because item delegates doesn't seem to fit in this situation.
Do you think it would be better (reasonable faster) to use delegates? Is the interaction between user and delegates enough for this context? The Qt Star delegate example is a nice approach but you need to click it before you start with the edit.
Thanks in advice!
-
[quote author="Skyrpex" date="1328099410"]Do you think it would be better (reasonable faster) to use delegates? Is the interaction between user and delegates enough for this context? The Qt Star delegate example is a nice approach but you need to click it before you start with the edit.[/quote]
This behavior is not from the delegate, it's a general behavior of the views. But AFAIK, there is a property which says when to start editing (something like edit trigger).
-
Thanks for the info, Gerolf. "I've taken a look into it":http://developer.qt.nokia.com/doc/qt-4.8/qabstractitemview.html#editTriggers-prop . Certainly interesting, but the user still needs to click the item once for the delegate's editor to appear. The user experience should be to be able to drag items inside the delegate's editor without previously selecting it (as you do in Adobe Flash).
Is there any approach for achieving this? Something like creating the editor when the user moves the mouse over the item?
-
[quote author="Skyrpex" date="1328187363"]Certainly interesting, but the user still needs to click the item once for the delegate's editor to appear.[/quote]
I forgot about "openPersistentEditor":http://developer.qt.nokia.com/doc/qt-4.8/qtreewidget.html#openPersistentEditor. It solves this problem because you can open as many persistent editors as you wish. -
You also can have your delegate respond to clicks directly without opening an editor. Simply reimplement editorEvent in [[doc::QAbstractItemDelegate]] (baseclass for all delegates).