Source Code (Use browser search to find items of interest.)

Class Index

kview'KFilterList (./kdegraphics/kview/filtlist.h:29)

class KFilterList : public QObject
{
public:
	/**
	* KFilterList Constructor
	*/
	KFilterList();

	/** 
	 */
	enum DeletePolicy {
		AutoDelete,
		NoDelete 
	};

	/** 
	 * Register an image filter.
	 * @param filter	Pointer to a filter object.
	 * @param policy	If set to AutoDelete, the object will 
	 *			delete the filter on delete.
	 * @return The array index of the filter.
	 */
	int registerFilter( KImageFilter *filter, 
			DeletePolicy policy );

	KImageFilter *filter( int index );
	int count() const;

	/**
	* KFilterList Destructor
	*/
	virtual ~KFilterList();

private:
	QList<FilterContainer> *_filters;
};

kview'KFilterList::KFilterList() (./kdegraphics/kview/filtlist.cpp:12)

KFilterList::KFilterList()
	: QObject(),
	_filters( new QList<FilterContainer> )
{
	_filters->setAutoDelete( true );
}


kview'KFilterList::~KFilterList() (./kdegraphics/kview/filtlist.cpp:19)

KFilterList::~KFilterList()
{

	// delete all filters marked AutoDelete
	QListIterator<FilterContainer> iter( *_filters );

	for( ; iter.current(); ++iter ) {
		if ( iter.current()->del == AutoDelete ) {
			delete iter.current()->filter;
		}
	}

	delete _filters;
}


kview'KFilterList::registerFilter() (./kdegraphics/kview/filtlist.cpp:34)

int KFilterList::registerFilter( KImageFilter *filter, 
			DeletePolicy policy )
{
	FilterContainer *cont = new FilterContainer;
	assert( cont );

	cont->filter = filter;
	cont->del = ( policy == AutoDelete) ? true : false;

	_filters->append( cont );

	return _filters->at();
}


kview'KFilterList::filter() (./kdegraphics/kview/filtlist.cpp:48)

KImageFilter *KFilterList::filter( int index )
{
	return _filters->at( index )->filter;
}


kview'KFilterList::count() (./kdegraphics/kview/filtlist.cpp:53)

int KFilterList::count() const
{
	return _filters->count();
}