/***************************************************************************
                          kxmleditorfactory.h  -  description
                             -------------------
    begin                : Wed Sep 19 2001
    copyright            : (C) 2001, 2002, 2003 by The KXMLEditor Team
    email                : OleBowle@gmx.de
 ***************************************************************************/

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

 /**
@file
*/

#ifndef KXMLEDITORFACTORY_H
#define KXMLEDITORFACTORY_H

#include <tdeparts/factory.h>

class TDEInstance;
class KXEConfiguration;
/**
	@brief Factory for creating our parts.
*/
class KXMLEditorFactory : public KParts::Factory
{
		TQ_OBJECT

	public:
		/** @brief Constructor  */
		KXMLEditorFactory( TQObject * pParent = 0, const char * pszName = 0 );
		/** @brief Destructor  */
		virtual ~KXMLEditorFactory();

		/** @short Creates part object, depending on given part class */
		virtual KParts::Part * createPartObject( TQWidget * pParentWidget = 0, const char * pszWidgetName = 0, TQObject * pParent = 0, const char * pszName = 0, const char * pszClassName = "KParts::Part", const TQStringList & args = TQStringList() );

		static TDEInstance * instance();
		static KXEConfiguration * configuration();

	private:
		static TDEInstance * s_instance;

		/** @brief Our configuration - the same for all parts. */
		static KXEConfiguration * s_pKXEConfig;
};

#endif
