21 #include "khtml_factory.h"
22 #include "khtml_part.h"
23 #include "khtml_settings.h"
25 #include "css/cssstyleselector.h"
26 #include "html/html_imageimpl.h"
27 #include "rendering/render_style.h"
28 #include "rendering/break_lines.h"
29 #include "misc/loader.h"
30 #include "misc/arena.h"
32 #include <kinstance.h>
33 #include <kaboutdata.h>
40 template class TQPtrList<KHTMLPart>;
42 extern "C" KDE_EXPORT
void *init_libkhtml()
56 return new KHTMLFactory(
true );
59 KHTMLFactory *KHTMLFactory::s_self = 0;
60 unsigned long int KHTMLFactory::s_refcnt = 0;
64 TQPtrList<KHTMLPart> *KHTMLFactory::s_parts = 0;
65 TQString *KHTMLSettings::avFamilies = 0;
67 KHTMLFactory::KHTMLFactory(
bool clone )
73 KHTMLFactory::~KHTMLFactory()
82 delete KHTMLSettings::avFamilies;
85 assert( s_parts->isEmpty() );
93 KHTMLSettings::avFamilies = 0;
96 khtml::CSSStyleSelector::clear();
97 khtml::RenderStyle::cleanup();
98 khtml::Cache::clear();
99 khtml::cleanup_thaibreaks();
100 khtml::ArenaFinish();
106 KParts::Part *KHTMLFactory::createPartObject( TQWidget *parentWidget,
const char *widgetName, TQObject *parent,
const char *name,
const char *className,
const TQStringList & )
108 KHTMLPart::GUIProfile prof = KHTMLPart::DefaultGUI;
109 if ( strcmp( className,
"Browser/View" ) == 0 )
110 prof = KHTMLPart::BrowserViewGUI;
112 return new KHTMLPart( parentWidget, widgetName, parent, name, prof );
115 void KHTMLFactory::ref()
117 if ( !s_refcnt && !s_self )
128 s_self =
new KHTMLFactory;
129 khtml::Cache::init();
135 void KHTMLFactory::deref()
137 if ( !--s_refcnt && s_self )
144 void KHTMLFactory::registerPart(
KHTMLPart *part )
147 s_parts =
new TQPtrList<KHTMLPart>;
149 if ( !s_parts->containsRef( part ) )
151 s_parts->append( part );
156 void KHTMLFactory::deregisterPart(
KHTMLPart *part )
160 if ( s_parts->removeRef( part ) )
162 if ( s_parts->isEmpty() )
178 I18N_NOOP(
"Embeddable HTML component" ),
179 KAboutData::License_LGPL );
180 s_about->addAuthor(
"Lars Knoll", 0,
"knoll@kde.org" );
181 s_about->addAuthor(
"Antti Koivisto", 0,
"koivisto@kde.org" );
182 s_about->addAuthor(
"Waldo Bastian", 0,
"bastian@kde.org" );
183 s_about->addAuthor(
"Dirk Mueller", 0,
"mueller@kde.org" );
184 s_about->addAuthor(
"Peter Kelly", 0,
"pmk@kde.org" );
185 s_about->addAuthor(
"Torben Weis", 0,
"weis@kde.org" );
186 s_about->addAuthor(
"Martin Jones", 0,
"mjones@kde.org" );
187 s_about->addAuthor(
"Simon Hausmann", 0,
"hausmann@kde.org" );
188 s_about->addAuthor(
"Tobias Anton", 0,
"anton@stud.fbi.fh-darmstadt.de" );
205 using namespace KParts;
206 #include "khtml_factory.moc"
Settings for the HTML view.
This class is khtml's main class.