2 * Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies)
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.
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.
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.
24 #include "qwebkitplatformplugin.h"
27 class QListWidgetItem;
31 class PopupScrollingHandler;
33 class Popup : public QDialog {
36 Popup(const QWebSelectData&);
37 void updateSelectionsBeforeDialogClosing();
38 QList<int> preSelectedIndices() const { return m_preSelectedIndices; }
39 QListWidget* listWidget() { return m_list; }
42 void itemClicked(int idx);
45 void onItemSelected(QListWidgetItem*);
46 void updateAndClose();
50 void resizeEvent(QResizeEvent*);
51 const QWebSelectData& m_data;
53 QList<int> m_preSelectedIndices;
54 PopupScrollingHandler* m_scrollingHandler;
58 class SingleSelectionPopup : public Popup {
61 SingleSelectionPopup(const QWebSelectData&);
65 class MultipleSelectionPopup : public Popup {
68 MultipleSelectionPopup(const QWebSelectData&);
72 class WebPopup : public QWebSelectMethod {
78 virtual void show(const QWebSelectData&);
83 void itemClicked(int idx);
88 Popup* createPopup(const QWebSelectData&);
89 Popup* createSingleSelectionPopup(const QWebSelectData&);
90 Popup* createMultipleSelectionPopup(const QWebSelectData&);
93 class WebNotificationPresenter : public QWebNotificationPresenter {
96 WebNotificationPresenter() { }
97 ~WebNotificationPresenter() { }
98 void showNotification(const QWebNotificationData*);
101 class WebPlugin : public QObject, public QWebKitPlatformPlugin {
103 Q_INTERFACES(QWebKitPlatformPlugin)
105 virtual bool supportsExtension(Extension) const;
106 virtual QObject* createExtension(Extension) const;
109 #endif // WebPlugin_h