karbon

zoomtoolplugin.cpp
1/* This file is part of the KDE project
2 Copyright (C) 2002, The Karbon Developers
3
4 This library is free software; you can redistribute it and/or
5 modify it under the terms of the GNU Library General Public
6 License as published by the Free Software Foundation; either
7 version 2 of the License, or (at your option) any later version.
8
9 This library is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 Library General Public License for more details.
13
14 You should have received a copy of the GNU Library General Public License
15 along with this library; see the file COPYING.LIB. If not, write to
16 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17 * Boston, MA 02110-1301, USA.
18
19*/
20
21#include <kgenericfactory.h>
22
23#include "karbon_factory.h"
24#include "karbon_tool_factory.h"
25#include "karbon_tool_registry.h"
26
27#include "zoomtoolplugin.h"
28#include "vzoomtool.h"
29
30typedef KGenericFactory<ZoomToolPlugin> ZoomToolPluginFactory;
31K_EXPORT_COMPONENT_FACTORY( karbon_zoomtoolplugin, ZoomToolPluginFactory( "karbonzoomtoolplugin" ) )
32
33ZoomToolPlugin::ZoomToolPlugin(TQObject *parent, const char *name, const TQStringList &)
34 : KParts::Plugin(parent, name)
35{
36 setInstance(ZoomToolPluginFactory::instance());
37
38 kdDebug() << "Zoom tool plugin. Class: "
39 << className()
40 << ", Parent: "
41 << parent -> className()
42 << "\n";
43
44 if ( parent->inherits("KarbonFactory") )
45 {
46 KarbonToolRegistry* r = KarbonToolRegistry::instance();
47 r -> add(new KarbonToolFactory<VZoomTool>());
48 }
49
50}
51
52ZoomToolPlugin::~ZoomToolPlugin()
53{
54}
55
56#include "zoomtoolplugin.moc"
A registry where new tool plugins can register themselves.
A module that provides a zoom tool.