/***************************************************************************
                          pluginwidgetimpl.h  -  description
                             -------------------
    begin                : Sat Jun 8 2002
    copyright            : (C) 2002 by Kevin Hessels
    email                : khessels@shaw.ca
 ***************************************************************************/

/***************************************************************************
 *                                                                         *
 *   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.                                   *
 *                                                                         *
 ***************************************************************************/

#ifndef PLUGINWIDGETIMPL_H
#define PLUGINWIDGETIMPL_H

#include <qtabwidget.h>
#include "qtvision.h"

#include "pluginfactory.h"
#include "pluginwidget.h"


class KConfig;

/**
  *@author Kevin Hessels, George Staikos
  */

class PluginWidgetImpl : public PluginWidget
{

Q_OBJECT

public: 
	PluginWidgetImpl(QWidget *, QtVision *);
	~PluginWidgetImpl();

    void applyPlugins(KConfig *);

    enum PluginPage
    {
        page_video = 0,
        page_mixer = 1,
        page_channelfmt = 2,
        page_misc = 3
    };

private:
    void setupVideoTab();
    void setupMixerTab();
    void setupChannelFmtTab();
    void setupMiscTab();

    void applyPlugins(KListView *, KConfig *);

private slots:
    void slotConfigurePlugin();
    void slotPageChanged(QWidget *);
    void slotListItemClicked(QListViewItem *);

private:
    QtVision *_qtv;
};

#endif
