KHtml

khtmladaptorpart.h
1 /*
2  * This file is part of the KDE libraries
3  * Copyright (C) 2007 Harri Porten ([email protected])
4  *
5  * This library is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU Library General Public
7  * License as published by the Free Software Foundation; either
8  * version 2 of the License, or (at your option) any later version.
9  *
10  * This library is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13  * Library General Public License for more details.
14  *
15  * You should have received a copy of the GNU Library General Public
16  * License along with this library; if not, write to the Free Software
17  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18  */
19 
20 #ifndef KHTMLADAPTORPART_H
21 #define KHTMLADAPTORPART_H
22 
23 #include <khtml_export.h>
24 #include <kparts/part.h>
25 #include <kparts/browserextension.h>
26 #include <kpluginfactory.h>
27 
28 namespace KJS
29 {
30 class ExecState;
31 class JSObject;
32 }
33 
34 class ScriptingInterface
35 {
36 public:
37  virtual ~ScriptingInterface() { }
38 
39  virtual void initScripting(KJS::ExecState *exec) = 0;
40  virtual void stopScripting() = 0;
41 
42  virtual KJS::JSObject *scriptObject() = 0;
43 };
44 
45 Q_DECLARE_INTERFACE(ScriptingInterface, "org.kde.khtml.ScriptingInterface")
46 
47 class KHTMLAdaptorPartFactory : public KPluginFactory
48 {
49  Q_OBJECT
50 public:
51  KHTMLAdaptorPartFactory();
52  virtual QObject *create(const char *iface,
53  QWidget *wparent,
54  QObject *parent,
55  const QVariantList &args,
56  const QString &keyword) override;
57 };
58 
59 class AdaptorView : public KParts::ReadOnlyPart,
60  public ScriptingInterface
61 {
62  Q_OBJECT
63  Q_INTERFACES(ScriptingInterface)
64 public:
65  AdaptorView(QWidget *wparent, QObject *parent, const QStringList &args);
66 
67  void initScripting(KJS::ExecState *exec) override;
68  void stopScripting() override { }
69  KJS::JSObject *scriptObject() override;
70 
71 protected:
72  bool openFile() override;
73 };
74 
75 #endif
QAction * create(StandardAction id, const QObject *recvr, Func slot, QObject *parent)
This file is part of the KDE documentation.
Documentation copyright © 1996-2021 The KDE developers.
Generated on Mon Oct 25 2021 22:48:17 by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.