summaryrefslogtreecommitdiffstats
path: root/kformula/kformula_factory.cpp
blob: 1aebcfbd7c57e67304fdc80ad1c34b8b980cb8ef (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#include "kformula_factory.h"
#include "kformula_doc.h"
#include "kformula_aboutdata.h"

#include <kinstance.h>
#include <kiconloader.h>

#include <tdefiledialog.h>
#include <tdeglobal.h>
#include <kstandarddirs.h>
#include <tdelocale.h>

#include <tqstringlist.h>

K_EXPORT_COMPONENT_FACTORY( libkformulapart, KFormulaFactory )

TDEInstance* KFormulaFactory::s_global = 0;
TDEAboutData* KFormulaFactory::s_aboutData = 0;

TDEAboutData* KFormulaFactory::aboutData()
{
    if( !s_aboutData )
        s_aboutData=newKFormulaAboutData();
    return s_aboutData;
}


KFormulaFactory::KFormulaFactory( TQObject* parent, const char* name )
    : KoFactory( parent, name )
{
    // Create our instance, so that it becomes TDEGlobal::instance if the
    // main app is KFormula.
    (void)global();
}

KFormulaFactory::~KFormulaFactory()
{
  delete s_aboutData;
  s_aboutData=0;
  delete s_global;
  s_global = 0L;
}

KParts::Part* KFormulaFactory::createPartObject( TQWidget *parentWidget, const char *widgetName, TQObject* parent, const char* name, const char* classname, const TQStringList & )
{
  bool bWantKoDocument = ( strcmp( classname, "KoDocument" ) == 0 );

  KFormulaDoc *doc = new KFormulaDoc( parentWidget, widgetName, parent, name, !bWantKoDocument );

  if ( !bWantKoDocument )
    doc->setReadWrite( false );

  return doc;
}

TDEInstance* KFormulaFactory::global()
{
    if ( !s_global )
    {
      s_global = new TDEInstance(aboutData());
      s_global->dirs()->addResourceType( "toolbar",
				         TDEStandardDirs::kde_default("data") + "koffice/toolbar/");
      // Tell the iconloader about share/apps/koffice/icons*/
      s_global->iconLoader()->addAppDir("koffice");
    }

    return s_global;
}

#include "kformula_factory.moc"