//
//     Copyright 2008 Jim Bublitz <jbublitz@nwinternet.com>
//     Earlier copyrights 1998 - 2007 Jim Bublitz also apply

//                 Generated by twine

// This file is part of PyKDE4.

// PyKDE4 is free software; you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as
// published by the Free Software Foundation; either version 2.1 of
// the License, or (at your option) any later version.

// PyKDE4 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 General Public License
// along with this program.  If not, see <http://www.gnu.org/licenses/>.

//ig namespace khtml;

class KHTMLView : QScrollArea
{
%TypeHeaderCode
#include <khtmlview.h>
%End


public:
                            KHTMLView (KHTMLPart* part, QWidget* parent /TransferThis/);
    KHTMLPart*              part () const;
    int                     frameWidth () const;
    void                    setMarginWidth (int x);
    int                     marginWidth () const;
    void                    setMarginHeight (int y);
    int                     marginHeight ();
    virtual void            setVerticalScrollBarPolicy (Qt::ScrollBarPolicy policy);
    virtual void            setHorizontalScrollBarPolicy (Qt::ScrollBarPolicy policy);
    void                    print (bool quick = 0) /PyName=print_/;
    void                    displayAccessKeys ();
    int                     contentsWidth () const;
    int                     contentsHeight () const;
    int                     contentsX () const;
    int                     contentsY () const;
    int                     visibleWidth () const;
    int                     visibleHeight () const;
    void                    setContentsPos (int x, int y);
    QPoint                  contentsToViewport (const QPoint& p) const;
    QPoint                  viewportToContents (const QPoint& p) const;
    void                    viewportToContents (int x, int y, int& cx /Out/, int& cy /Out/) const;
    void                    contentsToViewport (int x, int y, int& cx /Out/, int& cy /Out/) const;
    void                    scrollBy (int x, int y);
    void                    updateContents (const QRect& r);
    void                    updateContents (int x, int y, int w, int h);
    void                    addChild (QWidget* child, int dx, int dy);
    void                    repaintContents (const QRect& r);
    void                    repaintContents (int x, int y, int w, int h);
    void                    setZoomLevel (int percent);
    int                     zoomLevel () const;

    enum SmoothScrollingMode
    {
        SSMDisabled,
        SSMWhenEfficient,
        SSMEnabled
    };

    void                    setSmoothScrollingMode (KHTMLView::SmoothScrollingMode m);
    KHTMLView::SmoothScrollingMode  smoothScrollingMode () const;
    virtual void            resizeContents (int w, int h);
    void                    layout ();

signals:
    void                    finishedLayout ();
    void                    cleared ();
    void                    zoomView (int);
    void                    hideAccessKeys ();
    void                    repaintAccessKeys ();
    void                    findAheadActive (bool);

protected:
    void                    clear ();
    virtual bool            event (QEvent* event);
    virtual void            paintEvent (QPaintEvent*);
    virtual void            resizeEvent (QResizeEvent* event);
    virtual void            showEvent (QShowEvent*);
    virtual void            hideEvent (QHideEvent*);
    virtual bool            focusNextPrevChild (bool next);
    virtual void            mousePressEvent (QMouseEvent*);
    virtual void            focusInEvent (QFocusEvent*);
    virtual void            focusOutEvent (QFocusEvent*);
    virtual void            mouseDoubleClickEvent (QMouseEvent*);
    virtual void            mouseMoveEvent (QMouseEvent*);
    virtual void            mouseReleaseEvent (QMouseEvent*);
    virtual void            wheelEvent (QWheelEvent*);
    virtual void            dragEnterEvent (QDragEnterEvent*);
    virtual void            dropEvent (QDropEvent*);
    virtual void            closeEvent (QCloseEvent*);
    virtual bool            widgetEvent (QEvent*);
    virtual bool            viewportEvent (QEvent* e);
    virtual bool            eventFilter (QObject*, QEvent*);
    virtual void            scrollContentsBy (int dx, int dy);
    void                    keyPressEvent (QKeyEvent* _ke);
    void                    keyReleaseEvent (QKeyEvent* _ke);
    void                    doAutoScroll ();
    void                    timerEvent (QTimerEvent*);
    void                    setSmoothScrollingModeDefault (KHTMLView::SmoothScrollingMode m);
    void                    slotPaletteChanged ();
public:
    ~KHTMLView ();
};
// KHTMLView


