Comment associer un type de variable non prédéfini à un Delegate ?
Bonjour,
je suis en train de m'amuser avec l'architecture Model / View / Delegate et tout se passait bien jusqu'à ce que je tombe sur cette méthode :
Code:
void QItemEditorFactory::registerEditor ( QVariant::Type type, QItemEditorCreatorBase * creator )
Mon souci, et je ne suis apparemment pas le seul a l'avoir (#QTBUG-1065), c'est que j'aimerais bien utiliser cette fonctionnalité avec des types non prédéfinis.
Je m'explique, j'ai défini de nouveaux types du genre :
Code:
1 2 3 4 5 6
| struct MyType
{
// ...
};
Q_DECLARE_METATYPE(MyType);
qRegisterMetaType<MyType>("MyType"); |
et je voudrais pouvoir associer de manière robuste un Delegate a chacun de ces types. La méthode QItemEditorFactory::registerEditor() me semblait toute désignée (comme dans l'exemple 'Color Editor Factory'), mais pour cela il faudrait pouvoir étendre l'énumération QVariant::Type ce qui est impossible (ou alors, j'ai raté quelque chose).
Donc je fais appel a vos propositions. J'aimerais autant que possible éviter de devoir utiliser des solutions du genre QAbstractItemView::setItemDelegateForColumn(...) que je trouve peu élégantes.
Merci d'avance