23 #ifndef PHONON_OBJECTDESCRIPTIONMODEL_H
24 #define PHONON_OBJECTDESCRIPTIONMODEL_H
26 #include "phonon_export.h"
27 #include "phonondefs.h"
28 #include "objectdescription.h"
29 #include <QtCore/QList>
30 #include <QtCore/QModelIndex>
31 #include <QtCore/QStringList>
34 #ifndef QT_NO_PHONON_OBJECTDESCRIPTIONMODEL
38 class ObjectDescriptionModelDataPrivate;
61 int rowCount(
const QModelIndex &parent = QModelIndex())
const;
74 QVariant data(
const QModelIndex &index,
int role = Qt::DisplayRole)
const;
80 Qt::ItemFlags flags(
const QModelIndex &index)
const;
101 int tupleIndexAtPositionIndex(
int positionIndex)
const;
107 QMimeData *mimeData(ObjectDescriptionType type,
const QModelIndexList &indexes)
const;
115 void moveUp(
const QModelIndex &index);
123 void moveDown(
const QModelIndex &index);
125 void setModelData(
const QList<QExplicitlySharedDataPointer<ObjectDescriptionData> > &data);
127 QExplicitlySharedDataPointer<ObjectDescriptionData> modelData(
const QModelIndex &index)
const;
128 Qt::DropActions supportedDropActions()
const;
129 bool dropMimeData(ObjectDescriptionType type,
const QMimeData *data, Qt::DropAction action,
int row,
int column,
const QModelIndex &parent);
130 bool removeRows(
int row,
int count,
const QModelIndex &parent = QModelIndex());
131 QStringList mimeTypes(ObjectDescriptionType type)
const;
137 ObjectDescriptionModelDataPrivate *
const d;
142 #if defined(Q_OS_SYMBIAN) && defined(Q_CC_RVCT) || defined(Q_CC_CLANG)
147 #define PHONON_TEMPLATE_CLASS_EXPORT PHONON_EXPORT
148 #define PHONON_TEMPLATE_CLASS_MEMBER_EXPORT
152 #define PHONON_TEMPLATE_CLASS_EXPORT
153 #define PHONON_TEMPLATE_CLASS_MEMBER_EXPORT PHONON_EXPORT
191 template<ObjectDescriptionType type>
198 static PHONON_TEMPLATE_CLASS_MEMBER_EXPORT
const QMetaObject staticMetaObject;
200 PHONON_TEMPLATE_CLASS_MEMBER_EXPORT
const QMetaObject *metaObject()
const;
202 PHONON_TEMPLATE_CLASS_MEMBER_EXPORT
void *qt_metacast(
const char *_clname);
217 inline int rowCount(
const QModelIndex &parent = QModelIndex())
const {
return d->rowCount(parent); }
230 inline QVariant
data(
const QModelIndex &index,
int role = Qt::DisplayRole)
const {
return d->data(index, role); }
236 inline Qt::ItemFlags
flags(
const QModelIndex &index)
const {
return d->flags(index); }
263 inline QMimeData *
mimeData(
const QModelIndexList &indexes)
const {
return d->mimeData(type, indexes); }
271 inline void moveUp(
const QModelIndex &index) { d->moveUp(index); }
279 inline void moveDown(
const QModelIndex &index) { d->moveDown(index); }
301 for (
int i = 0; i < data.count(); ++i) {
302 list += data.at(i).d;
304 d->setModelData(list);
316 for (
int i = 0; i < list.count(); ++i) {
317 ret << ObjectDescription<type>(list.at(i));
339 inline bool dropMimeData(
const QMimeData *data, Qt::DropAction action,
int row,
int column,
const QModelIndex &parent) {
340 return d->dropMimeData(type, data, action, row, column, parent);
351 inline bool removeRows(
int row,
int count,
const QModelIndex &parent = QModelIndex()) {
352 return d->removeRows(row, count, parent);
359 inline QStringList
mimeTypes()
const {
return d->mimeTypes(type); }
365 typedef ObjectDescriptionModel<AudioOutputDeviceType> AudioOutputDeviceModel;
366 typedef ObjectDescriptionModel<AudioCaptureDeviceType> AudioCaptureDeviceModel;
367 typedef ObjectDescriptionModel<VideoCaptureDeviceType> VideoCaptureDeviceModel;
368 typedef ObjectDescriptionModel<EffectType> EffectDescriptionModel;
369 typedef ObjectDescriptionModel<AudioChannelType> AudioChannelDescriptionModel;
370 typedef ObjectDescriptionModel<SubtitleType> SubtitleDescriptionModel;
380 #endif //QT_NO_PHONON_OBJECTDESCRIPTIONMODEL
383 #endif // PHONON_OBJECTDESCRIPTIONMODEL_H