kspread
kspreadcoremodule.cpp00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #include "kspreadcoremodule.h"
00021
00022 #include <kdebug.h>
00023
00024
00025 #include <api/qtobject.h>
00026 #include <main/manager.h>
00027
00028 #include "krs_doc.h"
00029
00030 extern "C"
00031 {
00036 Kross::Api::Object* init_module(Kross::Api::Manager* manager)
00037 {
00038 return new Kross::KSpreadCore::KSpreadCoreModule(manager);
00039 }
00040 }
00041
00042
00043 using namespace Kross::KSpreadCore;
00044
00045 KSpreadCoreModule::KSpreadCoreModule(Kross::Api::Manager* manager)
00046 : Kross::Api::Module("kspreadcore") , m_manager(manager)
00047 {
00048 QMap<QString, Object::Ptr> children = manager->getChildren();
00049 kdDebug() << " there are " << children.size() << endl;
00050 for(QMap<QString, Object::Ptr>::const_iterator it = children.begin(); it != children.end(); it++)
00051 {
00052 kdDebug() << it.key() << " " << it.data() << endl;
00053 }
00054
00055
00056 Kross::Api::Object::Ptr kspreaddocument = manager->getChild("KSpreadDocument");
00057 if(! kspreaddocument) {
00058 KSpread::Doc* doc = new KSpread::Doc();
00059 addChild( new Kross::KSpreadCore::Doc(doc) );
00060 }
00061 else {
00062 Kross::Api::QtObject* kspreaddocumentqt = dynamic_cast< Kross::Api::QtObject* >( kspreaddocument.data() );
00063 if(kspreaddocumentqt) {
00064 KSpread::Doc* document = dynamic_cast< ::KSpread::Doc* >( kspreaddocumentqt->getObject() );
00065 if(document) {
00066 addChild( new Doc(document) );
00067 } else {
00068 throw Kross::Api::Exception::Ptr( new Kross::Api::Exception("There was no 'KSpreadDocument' published.") );
00069 }
00070 }
00071 }
00072 }
00073
00074 KSpreadCoreModule::~KSpreadCoreModule()
00075 {
00076 }
00077
00078
00079 const QString KSpreadCoreModule::getClassName() const
00080 {
00081 return "Kross::KSpreadCore::KSpreadCoreModule";
00082 }
|