• Skip to content
  • Skip to link menu
KDE 4.0 API Reference
  • KDE API Reference
  • kdelibs
  • Sitemap
  • Contact Us
 

Phonon

Phonon::ObjectDescriptionModel

ObjectDescriptionModel Class Template Reference
[Classes for applications using Phonon]

#include <Phonon/ObjectDescriptionModel>

Inheritance diagram for ObjectDescriptionModel:

Inheritance graph
[legend]

List of all members.


Detailed Description

template<ObjectDescriptionType type>
class Phonon::ObjectDescriptionModel< type >

The ObjectDescriptionModel class provides a model from a list of ObjectDescription objects.

ObjectDescriptionModel is a readonly model that supplies a list using ObjectDescription::name() for the text and ObjectDescription::description() for the tooltip. If set the properties "icon" and "available" are used to set the decoration and disable the item (disabled only visually, you can still select and drag it).

It also provides the methods moveUp() and moveDown() to order the list. Additionally drag and drop is possible so that QAbstractItemView::InternalMove can be used. The resulting order of the ObjectDescription::index() values can then be retrieved using tupleIndexOrder().

An example use case would be to give the user a QComboBox to select the output device:

 QComboBox *cb = new QComboBox(parentWidget);
 ObjectDescriptionModel *model = new ObjectDescriptionModel(cb);
 model->setModelData(BackendCapabilities::availableAudioOutputDevices());
 cb->setModel(model);
 cb->setCurrentIndex(0); // select first entry

And to retrieve the selected AudioOutputDevice:

 int cbIndex = cb->currentIndex();
 AudioOutputDevice selectedDevice = model->modelData(cbIndex);

Author:
Matthias Kretz <kretz@kde.org>

Public Member Functions

int rowCount (const QModelIndex &parent=QModelIndex()) const
QVariant data (const QModelIndex &index, int role=Qt::DisplayRole) const
Qt::ItemFlags flags (const QModelIndex &index) const
QList< int > tupleIndexOrder () const
int tupleIndexAtPositionIndex (int positionIndex) const
QMimeData * mimeData (const QModelIndexList &indexes) const
void moveUp (const QModelIndex &index)
void moveDown (const QModelIndex &index)
 ObjectDescriptionModel (QObject *parent=0)
 ObjectDescriptionModel (const QList< ObjectDescription< type > > &data, QObject *parent=0)
void setModelData (const QList< ObjectDescription< type > > &data)
QList< ObjectDescription< type > > modelData () const
ObjectDescription< type > modelData (const QModelIndex &index) const
Qt::DropActions supportedDropActions () const
bool dropMimeData (const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent)
bool removeRows (int row, int count, const QModelIndex &parent=QModelIndex())
QStringList mimeTypes () const

Constructor & Destructor Documentation

ObjectDescriptionModel ( QObject *  parent = 0  )  [inline, explicit]

Constructs a ObjectDescription model with the given parent.

ObjectDescriptionModel ( const QList< ObjectDescription< type > > &  data,
QObject *  parent = 0 
) [inline, explicit]

Constructs a ObjectDescription model with the given parent and the given data.


Member Function Documentation

int rowCount ( const QModelIndex &  parent = QModelIndex()  )  const [inline]

Returns the number of rows in the model.

This value corresponds to the size of the list passed through setModelData.

Parameters:
parent The optional parent argument is used in most models to specify the parent of the rows to be counted. Because this is a list if a valid parent is specified the result will always be 0.
Reimplemented from QAbstractItemModel.

See also:
QAbstractItemModel::rowCount

QVariant data ( const QModelIndex &  index,
int  role = Qt::DisplayRole 
) const [inline]

Returns data from the item with the given index for the specified role.

If the view requests an invalid index, an invalid variant is returned.

Reimplemented from QAbstractItemModel.

See also:
QAbstractItemModel::data

Qt::ItemDataRole

Qt::ItemFlags flags ( const QModelIndex &  index  )  const [inline]

Reimplemented to show unavailable devices as disabled (but still selectable).

QList<int> tupleIndexOrder (  )  const [inline]

Returns a list of indexes in the same order as they are in the model.

The indexes come from the ObjectDescription::index method.

This is useful to let the user define a list of preference.

int tupleIndexAtPositionIndex ( int  positionIndex  )  const [inline]

Returns the ObjectDescription::index for the tuple at the given position positionIndex.

For example a QComboBox will give you the currentIndex as the position in the list. But to select the according AudioOutputDevice using AudioOutputDevice::fromIndex you can use this method.

Parameters:
positionIndex The position in the list.

QMimeData* mimeData ( const QModelIndexList &  indexes  )  const [inline]

Returns the MIME data that dropMimeData() can use to create new items.

void moveUp ( const QModelIndex &  index  )  [inline]

Moves the item at the given index up.

In the resulting list the items at index.row() and index.row() - 1 are swapped.

Connected views are updated automatically.

void moveDown ( const QModelIndex &  index  )  [inline]

Moves the item at the given index down.

In the resulting list the items at index.row() and index.row() + 1 are swapped.

Connected views are updated automatically.

void setModelData ( const QList< ObjectDescription< type > > &  data  )  [inline]

Sets the model data using the list provided by data.

All previous model data is cleared.

QList<ObjectDescription<type> > modelData (  )  const [inline]

Returns the model data.

As the order of the list might have changed this can be different to what was set using setModelData().

ObjectDescription<type> modelData ( const QModelIndex &  index  )  const [inline]

Returns one ObjectDescription of the model data for the given index.

Qt::DropActions supportedDropActions (  )  const [inline]

This model supports drag and drop to copy or move items.

bool dropMimeData ( const QMimeData *  data,
Qt::DropAction  action,
int  row,
int  column,
const QModelIndex &  parent 
) [inline]

Accept drops from other models of the same ObjectDescriptionType.

If a valid parent is given the dropped items will be inserted above that item.

bool removeRows ( int  row,
int  count,
const QModelIndex &  parent = QModelIndex() 
) [inline]

Removes count rows starting with the given row.

If a valid parent is given no rows are removed since this is a list model.

Returns true if the rows were successfully removed; otherwise returns false.

QStringList mimeTypes (  )  const [inline]

Returns a list of supported drag and drop MIME types.

Currently it only supports one type used internally.


The documentation for this class was generated from the following file:
  • objectdescriptionmodel.h

Phonon

Skip menu "Phonon"
  • Main Page
  • Modules
  • Namespace List
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • Namespace Members
  • Class Members
  • Related Pages

kdelibs

Skip menu "kdelibs"
  • DNSSD
  • Interfaces
  •   KHexEdit
  •   KMediaPlayer
  •   KSpeech
  •   KTextEditor
  • Kate
  • kconf_update
  • KDE3Support
  •   KUnitTest
  • KDECore
  • KDED
  • KDEsu
  • KDEUI
  • KDocTools
  • KFile
  • KHTML
  • KImgIO
  • KInit
  • KIO
  • KIOSlave
  • KJS
  •   WTF
  • KJSEmbed
  • KNewStuff
  • KParts
  • Kross
  • KUtils
  • Nepomuk
  •   core
  • Phonon
  •   Backend
  • Solid
  • Sonnet
  • ThreadWeaver
Generated for kdelibs by doxygen 1.5.4
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal