54 qRegisterMetaType<Binary8>();
55 qRegisterMetaType<Octal8>();
56 qRegisterMetaType<Hexadecimal8>();
57 qRegisterMetaType<SInt8>();
58 qRegisterMetaType<SInt16>();
59 qRegisterMetaType<SInt32>();
60 qRegisterMetaType<SInt64>();
61 qRegisterMetaType<UInt8>();
62 qRegisterMetaType<UInt16>();
63 qRegisterMetaType<UInt32>();
64 qRegisterMetaType<UInt64>();
65 qRegisterMetaType<Float32>();
66 qRegisterMetaType<Float64>();
67 qRegisterMetaType<Char8>();
68 qRegisterMetaType<Utf8>();
70 connect( mTool, SIGNAL(readOnlyChanged(
bool)), SLOT(onReadOnlyChanged(
bool)) );
81 QVariant data = index.data();
82 if( data.canConvert<
Binary8>() )
85 connect( editor, SIGNAL(editingFinished()),
86 SLOT(onEditorDone()) );
89 else if( data.canConvert<
Octal8>() )
92 connect( editor, SIGNAL(editingFinished()),
93 SLOT(onEditorDone()) );
99 connect( editor, SIGNAL(editingFinished()),
100 SLOT(onEditorDone()) );
103 else if( data.canConvert<
SInt8>() )
106 connect( editor, SIGNAL(editingFinished()),
107 SLOT(onEditorDone()) );
110 else if( data.canConvert<
SInt16>() )
113 connect( editor, SIGNAL(editingFinished()),
114 SLOT(onEditorDone()) );
117 else if( data.canConvert<
SInt32>() )
120 connect( editor, SIGNAL(editingFinished()),
121 SLOT(onEditorDone()) );
124 else if( data.canConvert<
SInt64>() )
127 connect( editor, SIGNAL(editingFinished()),
128 SLOT(onEditorDone()) );
131 else if( data.canConvert<
UInt8>() )
135 connect( editor, SIGNAL(editingFinished()),
136 SLOT(onEditorDone()) );
139 else if( data.canConvert<
UInt16>() )
143 connect( editor, SIGNAL(editingFinished()),
144 SLOT(onEditorDone()) );
147 else if( data.canConvert<
UInt32>() )
151 connect( editor, SIGNAL(editingFinished()),
152 SLOT(onEditorDone()) );
155 else if( data.canConvert<
UInt64>() )
159 connect( editor, SIGNAL(editingFinished()),
160 SLOT(onEditorDone()) );
163 else if( data.canConvert<
Float32>() )
166 connect( editor, SIGNAL(editingFinished()),
167 SLOT(onEditorDone()) );
170 else if( data.canConvert<
Float64>() )
173 connect( editor, SIGNAL(editingFinished()),
174 SLOT(onEditorDone()) );
177 else if( data.canConvert<
Char8>() )
180 connect( editor, SIGNAL(editingFinished()),
181 SLOT(onEditorDone()) );
184 else if( data.canConvert<
Utf8>() )
187 connect( editor, SIGNAL(editingFinished()),
188 SLOT(onEditorDone()) );
192 result = QStyledItemDelegate::createEditor( parent, option, index );
202 QVariant data = index.data();
204 if( data.canConvert<
Binary8>() )
208 binary8Editor->
setData( binary8 );
210 else if( data.canConvert<
Octal8>() )
214 octal8Editor->
setData( octal8 );
220 hexadecimal8Editor->
setData( hexadecimal8 );
222 else if( data.canConvert<
SInt8>() )
228 else if( data.canConvert<
SInt16>() )
232 sInt16Editor->
setData( sInt16 );
234 else if( data.canConvert<
SInt32>() )
238 sInt32Editor->
setData( sInt32 );
240 else if( data.canConvert<
SInt64>() )
244 sInt64Editor->
setData( sInt64 );
246 else if( data.canConvert<
UInt8>() )
252 else if( data.canConvert<
UInt16>() )
256 uInt16Editor->
setData( uInt16 );
258 else if( data.canConvert<
UInt32>() )
262 uInt32Editor->
setData( uInt32 );
264 else if( data.canConvert<
UInt64>() )
268 uInt64Editor->
setData( uInt64 );
270 else if( data.canConvert<
Float32>() )
274 float32Editor->
setData( float32 );
276 else if( data.canConvert<
Float64>() )
280 float64Editor->
setData( float64 );
282 else if( data.canConvert<
Char8>() )
288 else if( data.canConvert<
Utf8>() )
295 QStyledItemDelegate::setEditorData( editor, index );
303 QVariant data = index.data();
305 if( data.canConvert<
Binary8>() )
308 model->setData( index, QVariant::fromValue(binary8Editor->
data()) );
310 else if( data.canConvert<
Octal8>() )
313 model->setData( index, QVariant::fromValue(octal8Editor->
data()) );
318 model->setData( index, QVariant::fromValue(hexadecimal8Editor->
data()) );
320 else if( data.canConvert<
SInt8>() )
323 model->setData( index, QVariant::fromValue(sInt8Editor->
data()) );
325 else if( data.canConvert<
SInt16>() )
328 model->setData( index, QVariant::fromValue(sInt16Editor->
data()) );
330 else if( data.canConvert<
SInt32>() )
333 model->setData( index, QVariant::fromValue(sInt32Editor->
data()) );
335 else if( data.canConvert<
SInt64>() )
338 model->setData( index, QVariant::fromValue(sInt64Editor->
data()) );
340 else if( data.canConvert<
UInt8>() )
343 model->setData( index, QVariant::fromValue(uInt8Editor->
data()) );
345 else if( data.canConvert<
UInt16>() )
348 model->setData( index, QVariant::fromValue(uInt16Editor->
data()) );
350 else if( data.canConvert<
UInt32>() )
353 model->setData( index, QVariant::fromValue(uInt32Editor->
data()) );
355 else if( data.canConvert<
UInt64>() )
358 model->setData( index, QVariant::fromValue(uInt64Editor->
data()) );
360 else if( data.canConvert<
Float32>() )
363 model->setData( index, QVariant::fromValue(float32Editor->
data()) );
365 else if( data.canConvert<
Float64>() )
368 model->setData( index, QVariant::fromValue(float64Editor->
data()) );
370 else if( data.canConvert<
Char8>() )
373 model->setData( index, QVariant::fromValue(char8Editor->
data()) );
375 else if( data.canConvert<
Utf8>() )
378 model->setData( index, QVariant::fromValue(utf8Editor->
data()) );
381 QStyledItemDelegate::setModelData( editor, model, index );
388 if( data.canConvert<
Binary8>() )
393 else if( data.canConvert<
Octal8>() )
403 else if( data.canConvert<
SInt8>() )
408 else if( data.canConvert<
SInt16>() )
413 else if( data.canConvert<
SInt32>() )
418 else if( data.canConvert<
SInt64>() )
423 else if( data.canConvert<
UInt8>() )
428 else if( data.canConvert<
UInt16>() )
433 else if( data.canConvert<
UInt32>() )
438 else if( data.canConvert<
UInt64>() )
443 else if( data.canConvert<
Float32>() )
448 else if( data.canConvert<
Float64>() )
453 else if( data.canConvert<
Char8>() )
458 else if( data.canConvert<
Utf8>() )
464 result = QStyledItemDelegate::displayText( data, locale );
474 void PODDelegate::onEditorDone()
478 emit commitData( editor );
479 emit closeEditor( editor );
482 void PODDelegate::onReadOnlyChanged(
bool isReadOnly )
const
486 mEditor->setProperty(
"readOnly", isReadOnly );
void setData(UInt16 data)
QString toString(bool asHex) const
void setData(SInt64 data)
void setData(SInt32 data)
PODDelegate(PODDecoderTool *tool, QObject *parent=0)
QString toString(bool asHex) const
void setData(Octal8 data)
virtual QString displayText(const QVariant &value, const QLocale &locale) const
virtual void setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const
virtual void setEditorData(QWidget *editor, const QModelIndex &index) const
void setData(SInt16 data)
QString toString(bool asHex) const
void setData(Float32 data)
virtual QWidget * createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const
void setData(Hexadecimal8 data)
void setData(Binary8 data)
void setData(UInt64 data)
void setData(Float64 data)
QString toString(bool asHex) const
void setData(UInt32 data)