/****************************************************************************
** Form interface generated from reading ui file 'dialogfilter.ui'
**
** Created: Tue Jan 27 22:06:50 2004
**      by: The User Interface Compiler ($Id: filterline.h,v 1.85 2005/11/24 22:01:05 qdvdauthor Exp $)
**
** WARNING! All changes made in this file will be lost!
****************************************************************************/

#ifndef FILTERLINE_H
#define FILTERLINE_H

#include <qframe.h>
#include <qlabel.h>
#include <qvaluelist.h>

#include "dialogfilter.h"

#define LINE_WIDTH 2

class QGridLayout;
class QSplitter;
class CXmlSlideshow;

class FilterPart : public QLabel 
{
	Q_OBJECT
public:
	FilterPart (CXmlSlideshow::filter_struct *pFilter, QWidget * parent, const char * name = 0, WFlags f = 0 );
	virtual ~FilterPart ();

	QString &getName ();
protected:
	virtual void enterEvent 	(QEvent *);
	virtual void leaveEvent		(QEvent *);
	virtual void mousePressEvent	(QMouseEvent *);
	virtual void mouseReleaseEvent	(QMouseEvent *);

protected slots:
	virtual void slotFadein       ();
	virtual void slotCrossfade    ();
	virtual void slotFadeout      ();
	virtual void slotEdit         ();
	virtual void slotInsertImage  ();
	virtual void slotInsertFilter ();
private:
	QString m_qsName;
};

class FilterLine : public QFrame
{
	Q_OBJECT
public:
	 FilterLine (QWidget * parent = 0, const char * name = 0, WFlags f = 0 );
	virtual ~FilterLine ();

	virtual void initMe ();
	virtual void rangeChanged (DialogFilter::range_struct *pNewRange, CXmlSlideshow *pSlideshow);

protected:
	// private member variables.
	QGridLayout*	m_pFrameLayout;
	QSplitter*	m_pSplitter;
	QValueList<QLabel *>	m_listLabels;
};

#endif // FILTERLINE_H

