factory.cpp
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
#include "factory.h"
00022
#include "part.h"
00023
00024
#include <qwidget.h>
00025
00026
#include <klocale.h>
00027
#include <kglobal.h>
00028
#include <kinstance.h>
00029
#include <assert.h>
00030
00031
using namespace KParts;
00032
00033 Factory::Factory(
QObject *parent,
const char *name )
00034 :
KLibFactory( parent,
name )
00035 {
00036 }
00037
00038 Factory::~Factory()
00039 {
00040 }
00041
00042 Part *
Factory::createPart(
QWidget *parentWidget,
const char *widgetName,
QObject *parent,
const char *name,
const char *classname,
const QStringList &args )
00043 {
00044
Part* part =
createPartObject( parentWidget, widgetName, parent, name, classname, args );
00045
if ( part )
00046 emit
objectCreated( part );
00047
return part;
00048 }
00049
00050 const KInstance *
Factory::partInstance()
00051 {
00052 QueryInstanceParams params;
00053 params.instance = 0;
00054
virtual_hook( VIRTUAL_QUERY_INSTANCE_PARAMS, ¶ms );
00055
return params.instance;
00056 }
00057
00058 const KInstance *
Factory::partInstanceFromLibrary(
const QCString &libraryName )
00059 {
00060
KLibrary *library =
KLibLoader::self()->
library( libraryName );
00061
if ( !library )
00062
return 0;
00063
KLibFactory *factory = library->
factory();
00064
if ( !factory )
00065
return 0;
00066
KParts::Factory *pfactory = dynamic_cast<KParts::Factory *>( factory );
00067
if ( !factory )
00068
return 0;
00069
return pfactory->
partInstance();
00070 }
00071
00072 Part *
Factory::createPartObject(
QWidget *,
const char *,
QObject *,
const char *,
const char *,
const QStringList & )
00073 {
00074
return 0;
00075 }
00076
00077 QObject *
Factory::createObject(
QObject *parent,
const char *name,
const char *classname,
const QStringList &args )
00078 {
00079 assert( !parent || parent->isWidgetType() );
00080
return createPart( static_cast<QWidget *>( parent ), name, parent, name, classname, args );
00081 }
00082
#include "factory.moc"
This file is part of the documentation for kparts Library Version 3.3.0.