// Copyright 2008 Simon Edwards <simon@simonzone.com>

//                 Generated by twine

// This program 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, or
// (at your option) any later version.

// This program 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 General Public License for more details

// You should have received a copy of the GNU Library General Public
// License along with this program; if not, write to the
// Free Software Foundation, Inc.,
// 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.


namespace Plasma
{

class WebView : QGraphicsWidget
{
%TypeHeaderCode
#include <plasma/widgets/webview.h>
%End


public:
    explicit                WebView (QGraphicsItem* parent = 0);
    void                    setUrl (const KUrl& url);
    KUrl                    url () const;
//ig     void               setHtml (const QByteArray& html, const KUrl& baseUrl = KUrl());
    QString                 html () const;
    void                    setHtml (const QString& html, const KUrl& baseUrl = KUrl());
    QRectF                  geometry () const;
    void                    setPage (QWebPage* page);
    QWebPage*               page () const;
    QWebFrame*              mainFrame () const;
    void                    setDragToScroll (bool drag);
    bool                    dragToScroll ();
    void                    setGeometry (const QRectF& geometry);

signals:
    void                    loadProgress (int percent);
    void                    loadFinished (bool success);

protected:
    void                    paint (QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget = 0);
    void                    mouseMoveEvent (QGraphicsSceneMouseEvent* event);
    void                    hoverMoveEvent (QGraphicsSceneHoverEvent* event);
    void                    mousePressEvent (QGraphicsSceneMouseEvent* event);
    void                    mouseDoubleClickEvent (QGraphicsSceneMouseEvent* event);
    void                    mouseReleaseEvent (QGraphicsSceneMouseEvent* event);
    void                    contextMenuEvent (QGraphicsSceneContextMenuEvent* event);
    void                    wheelEvent (QGraphicsSceneWheelEvent* event);
    void                    keyPressEvent (QKeyEvent* event);
    void                    keyReleaseEvent (QKeyEvent* event);
    void                    focusInEvent (QFocusEvent* event);
    void                    focusOutEvent (QFocusEvent* event);
    void                    dragEnterEvent (QGraphicsSceneDragDropEvent* event);
    void                    dragLeaveEvent (QGraphicsSceneDragDropEvent* event);
    void                    dragMoveEvent (QGraphicsSceneDragDropEvent* event);
    void                    dropEvent (QGraphicsSceneDragDropEvent* event);
};   // WebView

};   // Plasma


