summaryrefslogtreecommitdiffstats
path: root/khtml/khtml_factory.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'khtml/khtml_factory.cpp')
-rw-r--r--khtml/khtml_factory.cpp207
1 files changed, 0 insertions, 207 deletions
diff --git a/khtml/khtml_factory.cpp b/khtml/khtml_factory.cpp
deleted file mode 100644
index 63e44025f..000000000
--- a/khtml/khtml_factory.cpp
+++ /dev/null
@@ -1,207 +0,0 @@
-/* This file is part of the KDE project
- *
- * Copyright (C) 2000 Simon Hausmann <hausmann@kde.org>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public License
- * along with this library; see the file COPYING.LIB. If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-#include "khtml_factory.h"
-#include "khtml_part.h"
-#include "khtml_settings.h"
-
-#include "css/cssstyleselector.h"
-#include "html/html_imageimpl.h"
-#include "rendering/render_style.h"
-#include "rendering/break_lines.h"
-#include "misc/loader.h"
-#include "misc/arena.h"
-
-#include <kinstance.h>
-#include <kaboutdata.h>
-#include <klocale.h>
-
-#include <assert.h>
-
-#include <kdebug.h>
-
-template class TQPtrList<KHTMLPart>;
-
-extern "C" KDE_EXPORT void *init_libkhtml()
-{
- // We can't use a plain self() here, because that would
- // return the global factory, which might already exist
- // at the time init_libkhtml is called! As soon as someone
- // does new KHTMLPart() in his application and loads up
- // an html document into that part which either embeds
- // embeds another KHTMLPart instance via <object> or
- // as html frame, then we cannot return self(), as
- // what we return here is what the KLibLoader deletes
- // in the end, and we don't want the libloader to
- // delete our global instance. Anyway, the new
- // KHTMLFactory we create here is very cheap :)
- // (Simon)
- return new KHTMLFactory( true );
-}
-
-KHTMLFactory *KHTMLFactory::s_self = 0;
-unsigned long int KHTMLFactory::s_refcnt = 0;
-TDEInstance *KHTMLFactory::s_instance = 0;
-TDEAboutData *KHTMLFactory::s_about = 0;
-KHTMLSettings *KHTMLFactory::s_settings = 0;
-TQPtrList<KHTMLPart> *KHTMLFactory::s_parts = 0;
-TQString *KHTMLSettings::avFamilies = 0;
-
-KHTMLFactory::KHTMLFactory( bool clone )
-{
- if ( clone )
- ref();
-}
-
-KHTMLFactory::~KHTMLFactory()
-{
- if ( s_self == this )
- {
- assert( !s_refcnt );
-
- delete s_instance;
- delete s_about;
- delete s_settings;
- delete KHTMLSettings::avFamilies;
- if ( s_parts )
- {
- assert( s_parts->isEmpty() );
- delete s_parts;
- }
-
- s_instance = 0;
- s_about = 0;
- s_settings = 0;
- s_parts = 0;
- KHTMLSettings::avFamilies = 0;
-
- // clean up static data
- khtml::CSSStyleSelector::clear();
- khtml::RenderStyle::cleanup();
- khtml::Cache::clear();
- khtml::cleanup_thaibreaks();
- khtml::ArenaFinish();
- }
- else
- deref();
-}
-
-KParts::Part *KHTMLFactory::createPartObject( TQWidget *parentWidget, const char *widgetName, TQObject *parent, const char *name, const char *className, const TQStringList & )
-{
- KHTMLPart::GUIProfile prof = KHTMLPart::DefaultGUI;
- if ( strcmp( className, "Browser/View" ) == 0 )
- prof = KHTMLPart::BrowserViewGUI;
-
- return new KHTMLPart( parentWidget, widgetName, parent, name, prof );
-}
-
-void KHTMLFactory::ref()
-{
- if ( !s_refcnt && !s_self )
- {
- // we can't use a staticdeleter here, because that would mean
- // that the factory gets deleted from within a qPostRoutine, called
- // from the TQApplication destructor. That however is too late, because
- // we want to destruct a TDEInstance object, which involves destructing
- // a TDEConfig object, which might call TDEGlobal::dirs() (in sync()) which
- // probably is not going to work ;-)
- // well, perhaps I'm wrong here, but as I'm unsure I try to stay on the
- // safe side ;-) -> let's use a simple reference counting scheme
- // (Simon)
- s_self = new KHTMLFactory;
- khtml::Cache::init();
- }
-
- s_refcnt++;
-}
-
-void KHTMLFactory::deref()
-{
- if ( !--s_refcnt && s_self )
- {
- delete s_self;
- s_self = 0;
- }
-}
-
-void KHTMLFactory::registerPart( KHTMLPart *part )
-{
- if ( !s_parts )
- s_parts = new TQPtrList<KHTMLPart>;
-
- if ( !s_parts->containsRef( part ) )
- {
- s_parts->append( part );
- ref();
- }
-}
-
-void KHTMLFactory::deregisterPart( KHTMLPart *part )
-{
- assert( s_parts );
-
- if ( s_parts->removeRef( part ) )
- {
- if ( s_parts->isEmpty() )
- {
- delete s_parts;
- s_parts = 0;
- }
- deref();
- }
-}
-
-TDEInstance *KHTMLFactory::instance()
-{
- assert( s_self );
-
- if ( !s_instance )
- {
- s_about = new TDEAboutData( "khtml", I18N_NOOP( "KHTML" ), "4.0",
- I18N_NOOP( "Embeddable HTML component" ),
- TDEAboutData::License_LGPL );
- s_about->addAuthor( "Lars Knoll", 0, "knoll@kde.org" );
- s_about->addAuthor( "Antti Koivisto", 0, "koivisto@kde.org" );
- s_about->addAuthor( "Waldo Bastian", 0, "bastian@kde.org" );
- s_about->addAuthor( "Dirk Mueller", 0, "mueller@kde.org" );
- s_about->addAuthor( "Peter Kelly", 0, "pmk@kde.org" );
- s_about->addAuthor( "Torben Weis", 0, "weis@kde.org" );
- s_about->addAuthor( "Martin Jones", 0, "mjones@kde.org" );
- s_about->addAuthor( "Simon Hausmann", 0, "hausmann@kde.org" );
- s_about->addAuthor( "Tobias Anton", 0, "anton@stud.fbi.fh-darmstadt.de" );
-
- s_instance = new TDEInstance( s_about );
- }
-
- return s_instance;
-}
-
-KHTMLSettings *KHTMLFactory::defaultHTMLSettings()
-{
- assert( s_self );
- if ( !s_settings )
- s_settings = new KHTMLSettings();
-
- return s_settings;
-}
-
-using namespace KParts;
-#include "khtml_factory.moc"
-