Home | History | Annotate | Download | only in qt
      1 /*
      2  * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies)
      3  * Copyright (C) 2010 University of Szeged
      4  *
      5  * All rights reserved.
      6  *
      7  * Redistribution and use in source and binary forms, with or without
      8  * modification, are permitted provided that the following conditions
      9  * are met:
     10  * 1. Redistributions of source code must retain the above copyright
     11  *    notice, this list of conditions and the following disclaimer.
     12  * 2. Redistributions in binary form must reproduce the above copyright
     13  *    notice, this list of conditions and the following disclaimer in the
     14  *    documentation and/or other materials provided with the distribution.
     15  *
     16  * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
     17  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     18  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
     19  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE COMPUTER, INC. OR
     20  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
     21  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
     22  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
     23  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
     24  * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
     25  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
     26  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     27  */
     28 
     29 #include "BrowserView.h"
     30 
     31 #include <QGraphicsScene>
     32 
     33 BrowserView::BrowserView(QGraphicsWKView::BackingStoreType backingStoreType, QWKContext* context, QWidget* parent)
     34     : QGraphicsView(parent)
     35     , m_item(0)
     36 {
     37     m_item = new QGraphicsWKView(context, backingStoreType, 0);
     38     setScene(new QGraphicsScene(this));
     39     scene()->addItem(m_item);
     40 
     41     setFrameShape(QFrame::NoFrame);
     42     setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
     43     setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
     44 }
     45 
     46 void BrowserView::resizeEvent(QResizeEvent* event)
     47 {
     48     QGraphicsView::resizeEvent(event);
     49     QRectF rect(QPoint(0, 0), event->size());
     50     m_item->setGeometry(rect);
     51     scene()->setSceneRect(rect);
     52 }
     53 
     54 void BrowserView::load(const QString& url)
     55 {
     56     return m_item->load(QUrl::fromUserInput(url));
     57 }
     58 
     59 QGraphicsWKView* BrowserView::view() const
     60 {
     61     return m_item;
     62 }
     63