view widgets/ItemContainer.h @ 282:d9319859a4cf tip

(none)
author benoitrigolleau
date Fri, 31 Oct 2008 11:00:24 +0000
parents afcf540ae3a2
children
line wrap: on
line source
/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*-  vi:set ts=8 sts=4 sw=4: */

/*   
Sound Access
EASAIER client application.
Silogic 2007. Benoit Rigolleau.

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.  See the file
COPYING included with this distribution for more information.
*/

#ifndef _ITEM_CONTAINER_H
#define _ITEM_CONTAINER_H

#include <QWidget>
#include <QLinkedList>
#include <QVariant>
#include <QVBoxLayout>
#include "GenericItemList.h"

class ItemContainer : public QWidget
{
	Q_OBJECT

public : 
	ItemContainer(QWidget *parent=0);
	void addItem(GenericItemList *item);
	void setSelectedItem(QVariant &data);
	void removeSelectedItem();
	void removeAllItems();
	void setCurrentIndex(int i);
	QString getCurrentFilterName();
	QLinkedList<int>::iterator find(int value);

	void removeItem(QString &name);

signals : 
	void currentChanged(int i);


private slots:
	void moveItem(int idItem1, int idItem2);
	void newItemSelected(int idItem1);
	void upCurrentItem();
	void downCurrentItem();
	void openConfigBoxForCurrentItem();


private :
	QLinkedList<int> *m_linkedList;
	QMap<int,GenericItemList*> *m_map;
	QVBoxLayout *m_itemLayout;
	int m_cpt;
	int m_currentItem;

	void reorganize();
	void reset();


};

#endif