30 |
30 |
31 namespace GVA { |
31 namespace GVA { |
32 |
32 |
33 static WebChromeItem * newChromeItem( |
33 static WebChromeItem * newChromeItem( |
34 ChromeWidget * chrome, |
34 ChromeWidget * chrome, |
35 const QRectF& ownerArea, |
|
36 const QWebElement & element) |
35 const QWebElement & element) |
37 { |
36 { |
38 QString type = element.attribute("data-GinebraItemType", "normal"); |
37 QString type = element.attribute("data-GinebraItemType", "normal"); |
39 |
38 |
40 if (type == "popup") { |
39 if (type == "popup") { |
41 QString modal = element.attribute("data-GinebraPopupModal", "true"); |
40 QString modal = element.attribute("data-GinebraPopupModal", "true"); |
42 return new PopupWebChromeItem(ownerArea, chrome, element, 0, modal == "true"); |
41 return new PopupWebChromeItem(chrome, element, 0, modal == "true"); |
43 } |
42 } |
44 |
43 |
45 return new WebChromeItem(ownerArea, chrome, element); |
44 return new WebChromeItem(chrome, element); |
46 } |
45 } |
47 |
46 |
48 WebChromeSnippet::WebChromeSnippet( |
47 WebChromeSnippet::WebChromeSnippet( |
49 const QString & elementId, |
48 const QString & elementId, |
50 ChromeWidget * chrome, |
49 ChromeWidget * chrome, |
51 const QRectF& ownerArea, |
|
52 const QWebElement & element) |
50 const QWebElement & element) |
53 : ChromeSnippet(elementId, chrome, newChromeItem(chrome, ownerArea, element), element) |
51 : ChromeSnippet(elementId, chrome, newChromeItem(chrome, element), element) |
54 |
52 |
55 { |
53 { |
56 WebChromeItem * item = static_cast<WebChromeItem*> (widget()); |
54 WebChromeItem * item = static_cast<WebChromeItem*> (widget()); |
57 item->init(this); |
55 item->init(this); |
58 } |
56 } |
75 |
73 |
76 void WebChromeSnippet:: updateOwnerArea() |
74 void WebChromeSnippet:: updateOwnerArea() |
77 { |
75 { |
78 |
76 |
79 WebChromeItem * item = static_cast<WebChromeItem*> (widget()); |
77 WebChromeItem * item = static_cast<WebChromeItem*> (widget()); |
80 //Setting owner area also resets the item's size and preferred size |
78 item->updateSizes(); |
81 item->setOwnerArea(m_chrome->getSnippetRect(m_elementId)); |
79 //TODO: Revisit this, don't use owner area |
82 //qDebug() << WebChromeSnippet::updateOwnerArea: id: " << m_elementId << " element rect: " << item->ownerArea(); |
80 //item->setCachedHandlers(m_chrome->dom()->getCachedHandlers(m_elementId, item->ownerArea())); |
83 //NB: Should move this to WebChromeItem::setOwnerArea()? |
|
84 item->setCachedHandlers(m_chrome->dom()->getCachedHandlers(m_elementId, item->ownerArea())); |
|
85 |
81 |
86 } |
82 } |
87 |
83 |
88 } // endof namespace GVA |
84 } // endof namespace GVA |