Code Search for Developers
 
 
  

PlaylistModel.h from marsyas at Krugle


Show PlaylistModel.h syntax highlighted

#ifndef PLAYLISTMODEL_H
#ifndef PLAYLISTMODEL_H

#include <QWidget>
#include <QAbstractItemModel>

#include "../Music/MusicCollection.h"

class PlaylistItem;

class PlaylistModel : public QAbstractItemModel
{
	Q_OBJECT
public:
	PlaylistModel(QObject *parent=0);
	~PlaylistModel();

	QVariant data(const QModelIndex &index, int role) const;
	Qt::ItemFlags flags(const QModelIndex &index) const;
	QVariant headerData(int section, Qt::Orientation orientation,
				int role = Qt::DisplayRole) const;
	QModelIndex index(int row, int column, 
				const QModelIndex &parent = QModelIndex()) const;
	QModelIndex parent(const QModelIndex &index) const;
	int rowCount(const QModelIndex &parent = QModelIndex()) const;
	int columnCount(const QModelIndex &parent = QModelIndex()) const;

private:
	void setupModelData(const QStringList &lines, TreeItem *parent);
	PlaylistItem *_root;
	MusicCollection *_library;
};

class PlaylistItem
{
public:
	PlaylistItem(const QList<QVariant> &data, PlaylistItem *parent = 0);
	~PlaylistItem();

	void appendChild(PlaylistItem *child);

	PlaylistItem *child(int row);
	int childCount() const;
	int columnCount() const;
	QVariant data(int column) const;
	int row() const;
	PlaylistItem *parent();

private:
	QList<PlaylistItem*> childItems;
	QList<QVariant> itemData;
	PlaylistItem *parentItem;
};

#endif /* PLAYLISTMODEL_H */





See more files for this project here

marsyas

Marsyas (Music Analysis, Retrieval and Synthesis for Audio Signals) is a framework for developing systems for audio processing. It provides an general architecture for connecting audio, soundfiles, signal processing blocks and machine learning.

Project homepage: http://sourceforge.net/projects/marsyas
Programming language(s): C++
License: other

  Grid.cpp
  Grid.h
  Keypad.cpp
  Keypad.h
  PlayBox.cpp
  PlayBox.h
  Playlist.cpp
  Playlist.h
  PlaylistItem.cpp
  PlaylistItem.h
  PlaylistModel.cpp
  PlaylistModel.h
  Tracklist.cpp
  Tracklist.h