diff -r bf4420e9fa4d -r 2e16851ffecd ginebra2/WebChromeItem.h --- a/ginebra2/WebChromeItem.h Fri Jun 11 16:23:26 2010 +0100 +++ b/ginebra2/WebChromeItem.h Thu Jul 22 16:30:16 2010 +0100 @@ -1,17 +1,21 @@ /* * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). * All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "Eclipse Public License v1.0" -* which accompanies this distribution, and is available -* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* This program 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, version 2.1 of the License. * -* Initial Contributors: -* Nokia Corporation - initial contribution. +* 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 Lesser General Public License for more details. * -* Contributors: +* You should have received a copy of the GNU Lesser General Public License +* along with this program. If not, +* see "http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html/". * -* Description: +* Description: * */ @@ -22,6 +26,7 @@ #include #include #include "CachedHandler.h" +#include "ChromeItem.h" namespace GVA { @@ -29,16 +34,16 @@ class ChromeRenderer; class WebChromeSnippet; - class WebChromeItem : public QGraphicsWidget + class WebChromeItem : public ChromeItem { Q_OBJECT public: - WebChromeItem(const QRectF& ownerArea, ChromeWidget* chrome, const QWebElement & element, QGraphicsItem* parent=0); + WebChromeItem(ChromeWidget* chrome, const QWebElement & element, QGraphicsItem* parent=0); virtual ~WebChromeItem(); virtual void init(WebChromeSnippet * snippet); void paint(QPainter* painter, const QStyleOptionGraphicsItem* opt, QWidget* widget); - QRectF ownerArea() {return m_ownerArea;}\ - void setOwnerArea(const QRectF& ownerArea); + QRectF elementRect() {return QRectF(m_element.geometry());} + void updateSizes(); void setCachedHandlers(QList handlers) {m_handlers = handlers;} QGraphicsScene * scene(); ChromeRenderer * renderer(); @@ -48,11 +53,9 @@ QWebElement element() { return m_element; } inline bool isPainting() { return m_painting; } public slots: - void repaintFromChrome(const QRectF& rect = QRectF()); //inline void setCacheMode(bool mode) {m_cacheMode = mode;}; signals: void contextMenu(QGraphicsSceneContextMenuEvent * ev); - void mouseEvent(QEvent::Type type); protected: void contextMenuEvent(QGraphicsSceneContextMenuEvent * ev); void mousePressEvent(QGraphicsSceneMouseEvent * ev); @@ -67,7 +70,8 @@ //virtual bool event(QEvent * ev); private: void cachedHandlerEvent(QGraphicsSceneMouseEvent * ev); - QRectF m_ownerArea; + //Owner area obsolete, use element rectangle + //QRectF m_ownerArea; QPixmap * m_pageBits; ChromeWidget* m_chrome; QWebElement m_element;