/*
 * This file was autogenerated by makekdewidgets. Any changes will be lost!
 */

#include <qwidgetplugin.h>
// for pixmap search
#include <kstandarddirs.h>

#include "kinstance.h"
#include "classpreviews.h"
#include "kactivelabel.h"
#include "kcmodule.h"
#include "kcharselect.h"
#include "kcolorbutton.h"
#include "kcolorcombo.h"
#include "kcombobox.h"
#include "kdatepicker.h"
#include "kdatewidget.h"
#include "kdialog.h"
#include "knuminput.h"
#include "kdualcolorbutton.h"
#include "keditlistbox.h"
#include "kfontcombo.h"
#include "kselect.h"
#include "kcolordialog.h"
#include "kcombobox.h"
#include "kicondialog.h"
#include "knuminput.h"
#include "knuminput.h"
#include "kled.h"
#include "klineedit.h"
#include "klistbox.h"
#include "klistview.h"
#include "kpassdlg.h"
#include "kprogress.h"
#include "kpushbutton.h"
#include "krestrictedline.h"
#include "kruler.h"
#include "ksqueezedtextlabel.h"
#include "ktextbrowser.h"
#include "ktextedit.h"
#include "kurllabel.h"
#include "kurlrequester.h"

class KDEWidgetsPlugin : public QWidgetPlugin
{
public:
	KDEWidgetsPlugin();
	virtual ~KDEWidgetsPlugin();

	virtual QStringList keys() const
	{
		QStringList result;
		for (WidgetInfos::ConstIterator it = m_widgets.begin(); it != m_widgets.end(); ++it)
			result << it.key();
		return result;
	}
	virtual QWidget *create(const QString &key, QWidget *parent = 0, const char *name = 0);
	virtual QIconSet iconSet(const QString &key) const
	{
		QString path = locate("data", "kdewidgets/pics/" + m_widgets[key].iconSet);
		return QIconSet(path);
	}
	virtual bool isContainer(const QString &key) const
	{
		return m_widgets[key].isContainer;
	}
	virtual QString group(const QString &key) const
	{
		return m_widgets[key].group;
	}
	virtual QString includeFile(const QString &key) const
	{
		return m_widgets[key].includeFile;
	}
	virtual QString toolTip(const QString &key) const
	{
		return m_widgets[key].toolTip;
	}
	virtual QString whatsThis(const QString &key) const
	{
		return m_widgets[key].whatsThis;
	}

private:
	struct WidgetInfo
	{
		QString group;
		QString iconSet;
		QString includeFile;
		QString toolTip;
		QString whatsThis;
		bool isContainer;
	};
	typedef QMap<QString, WidgetInfo> WidgetInfos;
	WidgetInfos m_widgets;
};

KDEWidgetsPlugin::KDEWidgetsPlugin()
{
	WidgetInfo widget;

	widget.group = "Display (KDE)";
	widget.iconSet = "kactivelabel.png";
	widget.includeFile = "kactivelabel.h";
	widget.toolTip = "Active Label (KDE)";
	widget.whatsThis = "KActiveLabel";
	widget.isContainer = false;
	m_widgets.insert("KActiveLabel", widget);

	widget.group = "Container (KDE)";
	widget.iconSet = "kcmodule.png";
	widget.includeFile = "kcmodule.h";
	widget.toolTip = "KControl Center Module (KDE)";
	widget.whatsThis = "KCModule";
	widget.isContainer = true;
	m_widgets.insert("KCModule", widget);

	widget.group = "Graphics (KDE)";
	widget.iconSet = "kcharselect.png";
	widget.includeFile = "kcharselect.h";
	widget.toolTip = "Character Selection Widget (KDE)";
	widget.whatsThis = "KCharSelect";
	widget.isContainer = false;
	m_widgets.insert("KCharSelect", widget);

	widget.group = "Graphics (KDE)";
	widget.iconSet = "kcolorbutton.png";
	widget.includeFile = "kcolorbutton.h";
	widget.toolTip = "Color Chooser Button (KDE)";
	widget.whatsThis = "KColorButton";
	widget.isContainer = false;
	m_widgets.insert("KColorButton", widget);

	widget.group = "Graphics (KDE)";
	widget.iconSet = "kcolorcombo.png";
	widget.includeFile = "kcolorcombo.h";
	widget.toolTip = "Color Combo Box (KDE)";
	widget.whatsThis = "KColorCombo";
	widget.isContainer = false;
	m_widgets.insert("KColorCombo", widget);

	widget.group = "Input (KDE)";
	widget.iconSet = "kcombobox.png";
	widget.includeFile = "kcombobox.h";
	widget.toolTip = "Combo Box (KDE)";
	widget.whatsThis = "KComboBox";
	widget.isContainer = false;
	m_widgets.insert("KComboBox", widget);

	widget.group = "Input (KDE)";
	widget.iconSet = "kdatepicker.png";
	widget.includeFile = "kdatepicker.h";
	widget.toolTip = "A date selection widget (KDE)";
	widget.whatsThis = "KDatePicker";
	widget.isContainer = false;
	m_widgets.insert("KDatePicker", widget);

	widget.group = "Input (KDE)";
	widget.iconSet = "kdatewidget.png";
	widget.includeFile = "kdatewidget.h";
	widget.toolTip = "Date preview (KDE)";
	widget.whatsThis = "KDateWidget";
	widget.isContainer = false;
	m_widgets.insert("KDateWidget", widget);

	widget.group = "Container (KDE)";
	widget.iconSet = "kdialog.png";
	widget.includeFile = "kdialog.h";
	widget.toolTip = "Class for simple Dialogs (KDE)";
	widget.whatsThis = "KDialog";
	widget.isContainer = true;
	m_widgets.insert("KDialog", widget);

	widget.group = "Input (KDE)";
	widget.iconSet = "knuminput.png";
	widget.includeFile = "knuminput.h";
	widget.toolTip = "FLoat Number Input Widget (KDE)";
	widget.whatsThis = "KDoubleNumInput";
	widget.isContainer = false;
	m_widgets.insert("KDoubleNumInput", widget);

	widget.group = "Graphics (KDE)";
	widget.iconSet = "kdualcolorbutton.png";
	widget.includeFile = "kdualcolorbutton.h";
	widget.toolTip = "A widget for selecting two related colors (KDE)";
	widget.whatsThis = "KDualColorButton";
	widget.isContainer = false;
	m_widgets.insert("KDualColorButton", widget);

	widget.group = "Views (KDE)";
	widget.iconSet = "keditlistbox.png";
	widget.includeFile = "keditlistbox.h";
	widget.toolTip = "Fullfeatured edit box with buttons (KDE)";
	widget.whatsThis = "KEditListBox";
	widget.isContainer = false;
	m_widgets.insert("KEditListBox", widget);

	widget.group = "Input (KDE)";
	widget.iconSet = "kfontcombo.png";
	widget.includeFile = "kfontcombo.h";
	widget.toolTip = "Font Combo Box (KDE)";
	widget.whatsThis = "KFontCombo";
	widget.isContainer = false;
	m_widgets.insert("KFontCombo", widget);

	widget.group = "Graphics (KDE)";
	widget.iconSet = "kgradientselector.png";
	widget.includeFile = "kselect.h";
	widget.toolTip = "KGradientSelector";
	widget.whatsThis = "KGradientSelector";
	widget.isContainer = false;
	m_widgets.insert("KGradientSelector", widget);

	widget.group = "Graphics (KDE)";
	widget.iconSet = "khsselector.png";
	widget.includeFile = "kcolordialog.h";
	widget.toolTip = "Widget for Hue/Saturation selection (KDE)";
	widget.whatsThis = "KHSSelector";
	widget.isContainer = false;
	m_widgets.insert("KHSSelector", widget);

	widget.group = "Input (KDE)";
	widget.iconSet = "khistorycombo.png";
	widget.includeFile = "kcombobox.h";
	widget.toolTip = "A combobox for offering a history and completion (KDE)";
	widget.whatsThis = "KHistoryCombo";
	widget.isContainer = false;
	m_widgets.insert("KHistoryCombo", widget);

	widget.group = "Buttons (KDE)";
	widget.iconSet = "kiconbutton.png";
	widget.includeFile = "kicondialog.h";
	widget.toolTip = "Button for selecting an icon (KDE)";
	widget.whatsThis = "KIconButton";
	widget.isContainer = false;
	m_widgets.insert("KIconButton", widget);

	widget.group = "Input (KDE)";
	widget.iconSet = "kintnuminput.png";
	widget.includeFile = "knuminput.h";
	widget.toolTip = "Integer Input Widget (KDE)";
	widget.whatsThis = "KIntNumInput";
	widget.isContainer = false;
	m_widgets.insert("KIntNumInput", widget);

	widget.group = "Input (KDE)";
	widget.iconSet = "kintspinbox.png";
	widget.includeFile = "knuminput.h";
	widget.toolTip = "Enhanced Spinbox for Integer Values (KDE)";
	widget.whatsThis = "KIntSpinBox";
	widget.isContainer = false;
	m_widgets.insert("KIntSpinBox", widget);

	widget.group = "Display (KDE)";
	widget.iconSet = "kled.png";
	widget.includeFile = "kled.h";
	widget.toolTip = "LED Widget (KDE)";
	widget.whatsThis = "KLed";
	widget.isContainer = false;
	m_widgets.insert("KLed", widget);

	widget.group = "Input (KDE)";
	widget.iconSet = "klineedit.png";
	widget.includeFile = "klineedit.h";
	widget.toolTip = "Line Edit (KDE)";
	widget.whatsThis = "KLineEdit";
	widget.isContainer = false;
	m_widgets.insert("KLineEdit", widget);

	widget.group = "Views (KDE)";
	widget.iconSet = "klistbox.png";
	widget.includeFile = "klistbox.h";
	widget.toolTip = "Extended List Box (KDE)";
	widget.whatsThis = "KListBox";
	widget.isContainer = false;
	m_widgets.insert("KListBox", widget);

	widget.group = "Views (KDE)";
	widget.iconSet = "klistview.png";
	widget.includeFile = "klistview.h";
	widget.toolTip = "Extended List View (KDE)";
	widget.whatsThis = "KListView";
	widget.isContainer = false;
	m_widgets.insert("KListView", widget);

	widget.group = "Input (KDE)";
	widget.iconSet = "kpasswordedit.png";
	widget.includeFile = "kpassdlg.h";
	widget.toolTip = "Safe Password LineEdit (KDE)";
	widget.whatsThis = "KPasswordEdit";
	widget.isContainer = false;
	m_widgets.insert("KPasswordEdit", widget);

	widget.group = "Display (KDE)";
	widget.iconSet = "kprogress.png";
	widget.includeFile = "kprogress.h";
	widget.toolTip = "Progress Bar (KDE)";
	widget.whatsThis = "KProgress";
	widget.isContainer = false;
	m_widgets.insert("KProgress", widget);

	widget.group = "Buttons (KDE)";
	widget.iconSet = "kpushbutton.png";
	widget.includeFile = "kpushbutton.h";
	widget.toolTip = "Improved QPushButton (KDE)";
	widget.whatsThis = "KPushButton";
	widget.isContainer = false;
	m_widgets.insert("KPushButton", widget);

	widget.group = "Input (KDE)";
	widget.iconSet = "krestrictedline.png";
	widget.includeFile = "krestrictedline.h";
	widget.toolTip = "Line Edit for restricted input (KDE)";
	widget.whatsThis = "KRestrictedLine";
	widget.isContainer = false;
	m_widgets.insert("KRestrictedLine", widget);

	widget.group = "Display (KDE)";
	widget.iconSet = "kruler.png";
	widget.includeFile = "kruler.h";
	widget.toolTip = "Measuring Ruler Widget (KDE)";
	widget.whatsThis = "KRuler";
	widget.isContainer = false;
	m_widgets.insert("KRuler", widget);

	widget.group = "Display (KDE)";
	widget.iconSet = "ksqueezedtextlabel.png";
	widget.includeFile = "ksqueezedtextlabel.h";
	widget.toolTip = "A QLabel that squeezes its text (KDE)";
	widget.whatsThis = "KSqueezedTextLabel";
	widget.isContainer = false;
	m_widgets.insert("KSqueezedTextLabel", widget);

	widget.group = "Display (KDE)";
	widget.iconSet = "ktextbrowser.png";
	widget.includeFile = "ktextbrowser.h";
	widget.toolTip = "Improved QTextBrowser (KDE)";
	widget.whatsThis = "KTextBrowser";
	widget.isContainer = false;
	m_widgets.insert("KTextBrowser", widget);

	widget.group = "Input (KDE)";
	widget.iconSet = "ktextedit.png";
	widget.includeFile = "ktextedit.h";
	widget.toolTip = "Improved QTextEdit (KDE)";
	widget.whatsThis = "KTextEdit";
	widget.isContainer = false;
	m_widgets.insert("KTextEdit", widget);

	widget.group = "Display (KDE)";
	widget.iconSet = "kurllabel.png";
	widget.includeFile = "kurllabel.h";
	widget.toolTip = "URL Label (KDE)";
	widget.whatsThis = "KURLLabel";
	widget.isContainer = false;
	m_widgets.insert("KURLLabel", widget);

	widget.group = "Input (KDE)";
	widget.iconSet = "kurlrequester.png";
	widget.includeFile = "kurlrequester.h";
	widget.toolTip = "URL Requester (KDE)";
	widget.whatsThis = "KURLRequester";
	widget.isContainer = false;
	m_widgets.insert("KURLRequester", widget);

	new KInstance("kdewidgets");
}

KDEWidgetsPlugin::~KDEWidgetsPlugin()
{
}

QWidget *KDEWidgetsPlugin::create(const QString &key, QWidget *parent, const char *name)
{
	if (key == "KActiveLabel")
		return new KActiveLabel(parent, name);
	if (key == "KCModule")
		return new KCModule(parent, name);
	if (key == "KCharSelect")
		return new KCharSelect(parent, name);
	if (key == "KColorButton")
		return new KColorButton(parent, name);
	if (key == "KColorCombo")
		return new KColorCombo(parent, name);
	if (key == "KComboBox")
		return new KComboBox(parent, name);
	if (key == "KDatePicker")
		return new KDatePicker(parent, QDate::currentDate(), name);
	if (key == "KDateWidget")
		return new KDateWidget(parent, name);
	if (key == "KDialog")
		return new KDialogPreview(parent, name);
	if (key == "KDoubleNumInput")
		return new KDoubleNumInput(parent, name);
	if (key == "KDualColorButton")
		return new KDualColorButton(parent, name);
	if (key == "KEditListBox")
		return new KEditListBox(parent, name);
	if (key == "KFontCombo")
		return new KFontCombo(parent, name);
	if (key == "KGradientSelector")
		return new KGradientSelector(parent, name);
	if (key == "KHSSelector")
		return new KHSSelector(parent, name);
	if (key == "KHistoryCombo")
		return new KHistoryCombo(parent, name);
	if (key == "KIconButton")
		return new KIconButton(parent, name);
	if (key == "KIntNumInput")
		return new KIntNumInput(parent, name);
	if (key == "KIntSpinBox")
		return new KIntSpinBox(parent, name);
	if (key == "KLed")
		return new KLed(parent, name);
	if (key == "KLineEdit")
		return new KLineEdit(parent, name);
	if (key == "KListBox")
		return new KListBox(parent, name);
	if (key == "KListView")
		return new KListView(parent, name);
	if (key == "KPasswordEdit")
		return new KPasswordEdit(parent, name);
	if (key == "KProgress")
		return new KProgress(parent, name);
	if (key == "KPushButton")
		return new KPushButton(parent, name);
	if (key == "KRestrictedLine")
		return new KRestrictedLine(parent, name);
	if (key == "KRuler")
		return new KRuler(parent, name);
	if (key == "KSqueezedTextLabel")
		return new KSqueezedTextLabel("KSqueezedTextLabel", parent, name);
	if (key == "KTextBrowser")
		return new KTextBrowser(parent, name);
	if (key == "KTextEdit")
		return new KTextEdit(parent, name);
	if (key == "KURLLabel")
		return new KURLLabel("KURLLabel", QString::null, parent, name);
	if (key == "KURLRequester")
		return new KURLRequester(parent, name);
	return 0;
}

Q_EXPORT_PLUGIN(KDEWidgetsPlugin)
