| Line | Source | Count | 
| 1 |  | - | 
| 2 |  | - | 
| 3 |  | - | 
| 4 |  | - | 
| 5 |  | - | 
| 6 |  | - | 
| 7 | extern bool qt_sendSpontaneousEvent(QObject *, QEvent *); | - | 
| 8 | __attribute__((visibility("default"))) extern bool qt_tab_all_widgets(); | - | 
| 9 |  | - | 
| 10 |  | - | 
| 11 |  | - | 
| 12 |  | - | 
| 13 | QGraphicsProxyWidgetPrivate::QGraphicsProxyWidgetPrivate() | - | 
| 14 |     : QGraphicsWidgetPrivate(), | - | 
| 15 |       dragDropWidget(nullptr), | - | 
| 16 |       posChangeMode(NoMode), | - | 
| 17 |       sizeChangeMode(NoMode), | - | 
| 18 |       visibleChangeMode(NoMode), | - | 
| 19 |       enabledChangeMode(NoMode), | - | 
| 20 |       styleChangeMode(NoMode), | - | 
| 21 |       paletteChangeMode(NoMode), | - | 
| 22 |       tooltipChangeMode(NoMode), | - | 
| 23 |       focusFromWidgetToProxy(false), | - | 
| 24 |       proxyIsGivingFocus(false) | - | 
| 25 | { | - | 
| 26 | } never executed: end of block  | 0 | 
| 27 |  | - | 
| 28 |  | - | 
| 29 |  | - | 
| 30 |  | - | 
| 31 | QGraphicsProxyWidgetPrivate::~QGraphicsProxyWidgetPrivate() | - | 
| 32 | { | - | 
| 33 | } | - | 
| 34 |  | - | 
| 35 |  | - | 
| 36 |  | - | 
| 37 |  | - | 
| 38 | void QGraphicsProxyWidgetPrivate::init() | - | 
| 39 | { | - | 
| 40 |     QGraphicsProxyWidget * const q = q_func(); | - | 
| 41 |     q->setFocusPolicy(Qt::WheelFocus); | - | 
| 42 |     q->setAcceptDrops(true); | - | 
| 43 | } | - | 
| 44 |  | - | 
| 45 |  | - | 
| 46 |  | - | 
| 47 |  | - | 
| 48 | void QGraphicsProxyWidgetPrivate::sendWidgetMouseEvent(QGraphicsSceneHoverEvent *event) | - | 
| 49 | { | - | 
| 50 |     QGraphicsSceneMouseEvent mouseEvent(QEvent::GraphicsSceneMouseMove); | - | 
| 51 |     mouseEvent.setPos(event->pos()); | - | 
| 52 |     mouseEvent.setScreenPos(event->screenPos()); | - | 
| 53 |     mouseEvent.setButton(Qt::NoButton); | - | 
| 54 |     mouseEvent.setButtons(0); | - | 
| 55 |     mouseEvent.setModifiers(event->modifiers()); | - | 
| 56 |     sendWidgetMouseEvent(&mouseEvent); | - | 
| 57 |     event->setAccepted(mouseEvent.isAccepted()); | - | 
| 58 | } | - | 
| 59 |  | - | 
| 60 |  | - | 
| 61 |  | - | 
| 62 |  | - | 
| 63 | void QGraphicsProxyWidgetPrivate::sendWidgetMouseEvent(QGraphicsSceneMouseEvent *event) | - | 
| 64 | { | - | 
| 65 |     if (!event || !widget || !widget->isVisible()) | - | 
| 66 |         return; | - | 
| 67 |     QGraphicsProxyWidget * const q = q_func(); | - | 
| 68 |  | - | 
| 69 |  | - | 
| 70 |     QPointF pos = event->pos(); | - | 
| 71 |     QPointer<QWidget> alienWidget = widget->childAt(pos.toPoint()); | - | 
| 72 |     QPointer<QWidget> receiver = alienWidget ? alienWidget : widget; | - | 
| 73 |  | - | 
| 74 |     if (QWidgetPrivate::nearestGraphicsProxyWidget(receiver) != q) | - | 
| 75 |         return; | - | 
| 76 |  | - | 
| 77 |  | - | 
| 78 |     QEvent::Type type = QEvent::None; | - | 
| 79 |     switch (event->type()) { | - | 
| 80 |     case QEvent::GraphicsSceneMousePress: | - | 
| 81 |         type = QEvent::MouseButtonPress; | - | 
| 82 |         if (!embeddedMouseGrabber) | - | 
| 83 |             embeddedMouseGrabber = receiver; | - | 
| 84 |         else | - | 
| 85 |             receiver = embeddedMouseGrabber; | - | 
| 86 |         break; | - | 
| 87 |     case QEvent::GraphicsSceneMouseRelease: | - | 
| 88 |         type = QEvent::MouseButtonRelease; | - | 
| 89 |         if (embeddedMouseGrabber) | - | 
| 90 |             receiver = embeddedMouseGrabber; | - | 
| 91 |         break; | - | 
| 92 |     case QEvent::GraphicsSceneMouseDoubleClick: | - | 
| 93 |         type = QEvent::MouseButtonDblClick; | - | 
| 94 |         if (!embeddedMouseGrabber) | - | 
| 95 |             embeddedMouseGrabber = receiver; | - | 
| 96 |         else | - | 
| 97 |             receiver = embeddedMouseGrabber; | - | 
| 98 |         break; | - | 
| 99 |     case QEvent::GraphicsSceneMouseMove: | - | 
| 100 |         type = QEvent::MouseMove; | - | 
| 101 |         if (embeddedMouseGrabber) | - | 
| 102 |             receiver = embeddedMouseGrabber; | - | 
| 103 |         break; | - | 
| 104 |     default: | - | 
| 105 |         ((!(false)) ? qt_assert_x("QGraphicsProxyWidget", "internal error",__FILE__,257288) : qt_noop()); | - | 
| 106 |         break; | - | 
| 107 |     } | - | 
| 108 |  | - | 
| 109 |     if (!lastWidgetUnderMouse) { | - | 
| 110 |         QApplicationPrivate::dispatchEnterLeave(embeddedMouseGrabber ? embeddedMouseGrabber : receiver, 0, event->screenPos()); | - | 
| 111 |         lastWidgetUnderMouse = receiver; | - | 
| 112 |     } | - | 
| 113 |  | - | 
| 114 |  | - | 
| 115 |     pos = mapToReceiver(pos, receiver); | - | 
| 116 |  | - | 
| 117 |  | - | 
| 118 |     QMouseEvent mouseEvent(type, pos, receiver->mapTo(receiver->topLevelWidget(), pos.toPoint()), | - | 
| 119 |                            receiver->mapToGlobal(pos.toPoint()), | - | 
| 120 |                            event->button(), event->buttons(), event->modifiers(), event->source()); | - | 
| 121 |  | - | 
| 122 |     QWidget *embeddedMouseGrabberPtr = (QWidget *)embeddedMouseGrabber; | - | 
| 123 |     QApplicationPrivate::sendMouseEvent(receiver, &mouseEvent, alienWidget, widget, | - | 
| 124 |                                         &embeddedMouseGrabberPtr, lastWidgetUnderMouse, event->spontaneous()); | - | 
| 125 |     embeddedMouseGrabber = embeddedMouseGrabberPtr; | - | 
| 126 |  | - | 
| 127 |  | - | 
| 128 |  | - | 
| 129 |     if (embeddedMouseGrabber && type == QEvent::MouseButtonRelease && !event->buttons()) { | - | 
| 130 |         QGraphicsProxyWidget * const q = q_func(); | - | 
| 131 |         if (q->rect().contains(event->pos()) && q->acceptHoverEvents()) | - | 
| 132 |             lastWidgetUnderMouse = alienWidget ? alienWidget : widget; | - | 
| 133 |         else | - | 
| 134 |             lastWidgetUnderMouse = 0; | - | 
| 135 |  | - | 
| 136 |         QApplicationPrivate::dispatchEnterLeave(lastWidgetUnderMouse, embeddedMouseGrabber, event->screenPos()); | - | 
| 137 |         embeddedMouseGrabber = 0; | - | 
| 138 |  | - | 
| 139 |  | - | 
| 140 |  | - | 
| 141 |         if (!lastWidgetUnderMouse) | - | 
| 142 |             q->unsetCursor(); | - | 
| 143 |  | - | 
| 144 |     } | - | 
| 145 |  | - | 
| 146 |     event->setAccepted(mouseEvent.isAccepted()); | - | 
| 147 | } | - | 
| 148 |  | - | 
| 149 | void QGraphicsProxyWidgetPrivate::sendWidgetKeyEvent(QKeyEvent *event) | - | 
| 150 | { | - | 
| 151 |     QGraphicsProxyWidget * const q = q_func(); | - | 
| 152 |     if (!event || !widget || !widget->isVisible()) | - | 
| 153 |         return; | - | 
| 154 |  | - | 
| 155 |     QPointer<QWidget> receiver = widget->focusWidget(); | - | 
| 156 |     if (!receiver) | - | 
| 157 |         receiver = widget; | - | 
| 158 |     ((!(receiver)) ? qt_assert("receiver",__FILE__,310341) : qt_noop()); | - | 
| 159 |  | - | 
| 160 |     do { | - | 
| 161 |         bool res = QApplication::sendEvent(receiver, event); | - | 
| 162 |         if ((res && event->isAccepted()) || (q->isWindow() && receiver == widget)) | - | 
| 163 |             break; | - | 
| 164 |         receiver = receiver->parentWidget(); | - | 
| 165 |     } while (receiver); | - | 
| 166 | } | - | 
| 167 |  | - | 
| 168 |  | - | 
| 169 |  | - | 
| 170 |  | - | 
| 171 | void QGraphicsProxyWidgetPrivate::removeSubFocusHelper(QWidget *widget, Qt::FocusReason reason) | - | 
| 172 | { | - | 
| 173 |     QFocusEvent event(QEvent::FocusOut, reason); | - | 
| 174 |     QPointer<QWidget> widgetGuard = widget; | - | 
| 175 |     QApplication::sendEvent(widget, &event); | - | 
| 176 |     if (widgetGuard && event.isAccepted()) | - | 
| 177 |         QApplication::sendEvent(widget->style(), &event); | - | 
| 178 | } | - | 
| 179 |  | - | 
| 180 |  | - | 
| 181 |  | - | 
| 182 |  | - | 
| 183 |  | - | 
| 184 | QWidget *QGraphicsProxyWidgetPrivate::findFocusChild(QWidget *child, bool next) const | - | 
| 185 | { | - | 
| 186 |     if (!widget) | - | 
| 187 |         return 0; | - | 
| 188 |  | - | 
| 189 |  | - | 
| 190 |     if (!child) { | - | 
| 191 |         child = next ? (QWidget *)widget : widget->d_func()->focus_prev; | - | 
| 192 |     } else { | - | 
| 193 |         child = next ? child->d_func()->focus_next : child->d_func()->focus_prev; | - | 
| 194 |         if ((next && child == widget) || (!next && child == widget->d_func()->focus_prev)) { | - | 
| 195 |              return 0; | - | 
| 196 |         } | - | 
| 197 |     } | - | 
| 198 |  | - | 
| 199 |     if (!child) | - | 
| 200 |         return 0; | - | 
| 201 |  | - | 
| 202 |     QWidget *oldChild = child; | - | 
| 203 |     uint focus_flag = qt_tab_all_widgets() ? Qt::TabFocus : Qt::StrongFocus; | - | 
| 204 |     do { | - | 
| 205 |         if (child->isEnabled() | - | 
| 206 |             && child->isVisibleTo(widget) | - | 
| 207 |             && ((child->focusPolicy() & focus_flag) == focus_flag) | - | 
| 208 |             && !(child->d_func()->extra && child->d_func()->extra->focus_proxy)) { | - | 
| 209 |             return child; | - | 
| 210 |         } | - | 
| 211 |         child = next ? child->d_func()->focus_next : child->d_func()->focus_prev; | - | 
| 212 |     } while (child != oldChild && !(next && child == widget) && !(!next && child == widget->d_func()->focus_prev)); | - | 
| 213 |     return 0; | - | 
| 214 | } | - | 
| 215 |  | - | 
| 216 |  | - | 
| 217 |  | - | 
| 218 |  | - | 
| 219 | void QGraphicsProxyWidgetPrivate::_q_removeWidgetSlot() | - | 
| 220 | { | - | 
| 221 |     QGraphicsProxyWidget * const q = q_func(); | - | 
| 222 |     if (!widget.isNull()) { | - | 
| 223 |         if (QWExtra *extra = widget->d_func()->extra) | - | 
| 224 |             extra->proxyWidget = 0; | - | 
| 225 |     } | - | 
| 226 |     widget = 0; | - | 
| 227 |     delete q; | - | 
| 228 | } | - | 
| 229 |  | - | 
| 230 |  | - | 
| 231 |  | - | 
| 232 |  | - | 
| 233 | void QGraphicsProxyWidgetPrivate::updateWidgetGeometryFromProxy() | - | 
| 234 | { | - | 
| 235 | } | - | 
| 236 |  | - | 
| 237 |  | - | 
| 238 |  | - | 
| 239 |  | - | 
| 240 | void QGraphicsProxyWidgetPrivate::updateProxyGeometryFromWidget() | - | 
| 241 | { | - | 
| 242 |     QGraphicsProxyWidget * const q = q_func(); | - | 
| 243 |     if (!widget) | - | 
| 244 |         return; | - | 
| 245 |  | - | 
| 246 |     QRectF widgetGeometry = widget->geometry(); | - | 
| 247 |     QWidget *parentWidget = widget->parentWidget(); | - | 
| 248 |     if (widget->isWindow()) { | - | 
| 249 |         QGraphicsProxyWidget *proxyParent = 0; | - | 
| 250 |         if (parentWidget && (proxyParent = qobject_cast<QGraphicsProxyWidget *>(q->parentWidget()))) { | - | 
| 251 |  | - | 
| 252 |  | - | 
| 253 |  | - | 
| 254 |             widgetGeometry.moveTo(proxyParent->subWidgetRect(parentWidget).topLeft() | - | 
| 255 |                                   + parentWidget->mapFromGlobal(widget->pos())); | - | 
| 256 |         } | - | 
| 257 |     } | - | 
| 258 |  | - | 
| 259 |  | - | 
| 260 |     if (!widget->size().isValid()) | - | 
| 261 |         widgetGeometry.setSize(widget->sizeHint()); | - | 
| 262 |  | - | 
| 263 |  | - | 
| 264 |     posChangeMode = QGraphicsProxyWidgetPrivate::WidgetToProxyMode; | - | 
| 265 |     sizeChangeMode = QGraphicsProxyWidgetPrivate::WidgetToProxyMode; | - | 
| 266 |     q->setGeometry(widgetGeometry); | - | 
| 267 |     posChangeMode = QGraphicsProxyWidgetPrivate::NoMode; | - | 
| 268 |     sizeChangeMode = QGraphicsProxyWidgetPrivate::NoMode; | - | 
| 269 | } | - | 
| 270 |  | - | 
| 271 |  | - | 
| 272 |  | - | 
| 273 |  | - | 
| 274 | void QGraphicsProxyWidgetPrivate::updateProxyInputMethodAcceptanceFromWidget() | - | 
| 275 | { | - | 
| 276 |     QGraphicsProxyWidget * const q = q_func(); | - | 
| 277 |     if (!widget) | - | 
| 278 |         return; | - | 
| 279 |  | - | 
| 280 |     QWidget *focusWidget = widget->focusWidget(); | - | 
| 281 |     if (!focusWidget) | - | 
| 282 |         focusWidget = widget; | - | 
| 283 |     q->setFlag(QGraphicsItem::ItemAcceptsInputMethod, | - | 
| 284 |                focusWidget->testAttribute(Qt::WA_InputMethodEnabled)); | - | 
| 285 | } | - | 
| 286 | void QGraphicsProxyWidgetPrivate::embedSubWindow(QWidget *subWin) | - | 
| 287 | { | - | 
| 288 |     QWExtra *extra; | - | 
| 289 |     if (!((extra = subWin->d_func()->extra) && extra->proxyWidget)) { | - | 
| 290 |         QGraphicsProxyWidget *subProxy = new QGraphicsProxyWidget(q_func(), subWin->windowFlags()); | - | 
| 291 |         subProxy->d_func()->setWidget_helper(subWin, false); | - | 
| 292 |     } | - | 
| 293 | } | - | 
| 294 | void QGraphicsProxyWidgetPrivate::unembedSubWindow(QWidget *subWin) | - | 
| 295 | { | - | 
| 296 |     for (QForeachContainer<typename QtPrivate::remove_reference<decltype(children)>::type> _container_((children)); _container_.control && _container_.i != _container_.e; ++_container_.i, _container_.control ^= 1) for (QGraphicsItem *child = *_container_.i; _container_.control; _container_.control = 0) { | - | 
| 297 |         if (child->isWidget()) { | - | 
| 298 |             if (QGraphicsProxyWidget *proxy = qobject_cast<QGraphicsProxyWidget *>(static_cast<QGraphicsWidget *>(child))) { | - | 
| 299 |                 if (proxy->widget() == subWin) { | - | 
| 300 |                     proxy->setWidget(0); | - | 
| 301 |                     scene->removeItem(proxy); | - | 
| 302 |                     delete proxy; | - | 
| 303 |                     return; | - | 
| 304 |                 } | - | 
| 305 |             } | - | 
| 306 |         } | - | 
| 307 |     } | - | 
| 308 | } | - | 
| 309 |  | - | 
| 310 | bool QGraphicsProxyWidgetPrivate::isProxyWidget() const | - | 
| 311 | { | - | 
| 312 |     return true; | - | 
| 313 | } | - | 
| 314 |  | - | 
| 315 |  | - | 
| 316 |  | - | 
| 317 |  | - | 
| 318 | QPointF QGraphicsProxyWidgetPrivate::mapToReceiver(const QPointF &pos, const QWidget *receiver) const | - | 
| 319 | { | - | 
| 320 |     QPointF p = pos; | - | 
| 321 |  | - | 
| 322 |  | - | 
| 323 |     while (receiver && receiver != widget) { | - | 
| 324 |         p -= QPointF(receiver->pos()); | - | 
| 325 |         receiver = receiver->parentWidget(); | - | 
| 326 |     } | - | 
| 327 |     return p; | - | 
| 328 | } | - | 
| 329 |  | - | 
| 330 |  | - | 
| 331 |  | - | 
| 332 |  | - | 
| 333 |  | - | 
| 334 | QGraphicsProxyWidget::QGraphicsProxyWidget(QGraphicsItem *parent, Qt::WindowFlags wFlags) | - | 
| 335 |     : QGraphicsWidget(*new QGraphicsProxyWidgetPrivate, parent, wFlags) | - | 
| 336 | { | - | 
| 337 |     QGraphicsProxyWidgetPrivate * const d = d_func(); | - | 
| 338 |     d->init(); | - | 
| 339 | } | - | 
| 340 |  | - | 
| 341 |  | - | 
| 342 |  | - | 
| 343 |  | - | 
| 344 | QGraphicsProxyWidget::~QGraphicsProxyWidget() | - | 
| 345 | { | - | 
| 346 |     QGraphicsProxyWidgetPrivate * const d = d_func(); | - | 
| 347 |     if (d->widget) { | - | 
| 348 |         d->widget->removeEventFilter(this); | - | 
| 349 |         QObject::disconnect(d->widget, qFlagLocation("2""destroyed()" "\0" __FILE__ ":" "517""548"), this, qFlagLocation("1""_q_removeWidgetSlot()" "\0" __FILE__ ":" "517""548")); | - | 
| 350 |         delete d->widget; | - | 
| 351 |     } | - | 
| 352 | } | - | 
| 353 | void QGraphicsProxyWidget::setWidget(QWidget *widget) | - | 
| 354 | { | - | 
| 355 |     QGraphicsProxyWidgetPrivate * const d = d_func(); | - | 
| 356 |     d->setWidget_helper(widget, true); | - | 
| 357 | } | - | 
| 358 |  | - | 
| 359 | void QGraphicsProxyWidgetPrivate::setWidget_helper(QWidget *newWidget, bool autoShow) | - | 
| 360 | { | - | 
| 361 |     QGraphicsProxyWidget * const q = q_func(); | - | 
| 362 |     if (newWidget == widget| TRUE | never evaluated |  | FALSE | never evaluated |  
  ) | 0 | 
| 363 |         return; never executed: return;  | 0 | 
| 364 |     if (widget| TRUE | never evaluated |  | FALSE | never evaluated |  
  ) { | 0 | 
| 365 |         QObject::disconnect(widget, qFlagLocation("2""destroyed()" "\0" __FILE__ ":" "566""597"), q, qFlagLocation("1""_q_removeWidgetSlot()" "\0" __FILE__ ":" "566""597")); | - | 
| 366 |         widget->removeEventFilter(q); | - | 
| 367 |         widget->setAttribute(Qt::WA_DontShowOnScreen, false); | - | 
| 368 |         widget->d_func()->extra->proxyWidget = 0; | - | 
| 369 |         resolveFont(inheritedFontResolveMask); | - | 
| 370 |         resolvePalette(inheritedPaletteResolveMask); | - | 
| 371 |         widget->update(); | - | 
| 372 |  | - | 
| 373 |         for (QForeachContainer<typename QtPrivate::remove_reference<decltype(q->const auto childItems ())>::type> _container_((= q->childItems())); _container_.control && _container_.i != _container_.e; ++_container_.i, _container_.control ^= 1)(); | - | 
| 374 |         for (QGraphicsItem *child = *_container_.i; _container_.control; _container_.control = 0: childItems) { | - | 
| 375 |             if (child->d_ptr->isProxyWidget()| TRUE | never evaluated |  | FALSE | never evaluated |  
  ) { | 0 | 
| 376 |                 QGraphicsProxyWidget *childProxy = static_cast<QGraphicsProxyWidget *>(child); | - | 
| 377 |                 QWidget * parent = childProxy->widget(); | - | 
| 378 |                 while (parent->parentWidget() != 0| TRUE | never evaluated |  | FALSE | never evaluated |  
  ) { | 0 | 
| 379 |                     if (parent == widget| TRUE | never evaluated |  | FALSE | never evaluated |  
  ) | 0 | 
| 380 |                         break; never executed: break;  | 0 | 
| 381 |                     parent = parent->parentWidget(); | - | 
| 382 |                 } never executed: end of block  | 0 | 
| 383 |                 if (!childProxy->widget()| TRUE | never evaluated |  | FALSE | never evaluated |  
   || parent != widget| TRUE | never evaluated |  | FALSE | never evaluated |  
  ) | 0 | 
| 384 |                     continue; never executed: continue;  | 0 | 
| 385 |                 childProxy->setWidget(0); | - | 
| 386 |                 delete childProxy; | - | 
| 387 |             } never executed: end of block  | 0 | 
| 388 |         } never executed: end of block  | 0 | 
| 389 |  | - | 
| 390 |         widget = 0; | - | 
| 391 |  | - | 
| 392 |         q->unsetCursor(); | - | 
| 393 |  | - | 
| 394 |         q->setAcceptHoverEvents(false); | - | 
| 395 |         if (!newWidget| TRUE | never evaluated |  | FALSE | never evaluated |  
  ) | 0 | 
| 396 |             q->update(); never executed: q->update();  | 0 | 
| 397 |     } never executed: end of block  | 0 | 
| 398 |     if (!newWidget| TRUE | never evaluated |  | FALSE | never evaluated |  
  ) | 0 | 
| 399 |         return; never executed: return;  | 0 | 
| 400 |     if (!newWidget->isWindow()| TRUE | never evaluated |  | FALSE | never evaluated |  
  ) { | 0 | 
| 401 |         QWExtra *extra = newWidget->parentWidget()->d_func()->extra; | - | 
| 402 |         if (!extra| TRUE | never evaluated |  | FALSE | never evaluated |  
   || !extra->proxyWidget| TRUE | never evaluated |  | FALSE | never evaluated |  
  ) { | 0 | 
| 403 |             QMessageLogger(__FILE__, 603635, __PRETTY_FUNCTION__).warning("QGraphicsProxyWidget::setWidget: cannot embed widget %p " | - | 
| 404 |                      "which is not a toplevel widget, and is not a child of an embedded widget", newWidget); | - | 
| 405 |             return; never executed: return;  | 0 | 
| 406 |         } | - | 
| 407 |     } never executed: end of block  | 0 | 
| 408 |  | - | 
| 409 |  | - | 
| 410 |  | - | 
| 411 |     QWExtra *extra = newWidget->d_func()->extra; | - | 
| 412 |     if (!extra| TRUE | never evaluated |  | FALSE | never evaluated |  
  ) { | 0 | 
| 413 |         newWidget->d_func()->createExtra(); | - | 
| 414 |         extra = newWidget->d_func()->extra; | - | 
| 415 |     } never executed: end of block  | 0 | 
| 416 |     QGraphicsProxyWidget **proxyWidget = &extra->proxyWidget; | - | 
| 417 |     if (*| TRUE | never evaluated |  | FALSE | never evaluated |  
  proxyWidget| TRUE | never evaluated |  | FALSE | never evaluated |  
  ) { | 0 | 
| 418 |         if (*| TRUE | never evaluated |  | FALSE | never evaluated |  
  proxyWidget != q| TRUE | never evaluated |  | FALSE | never evaluated |  
  ) { | 0 | 
| 419 |             QMessageLogger(__FILE__, 619651, __PRETTY_FUNCTION__).warning("QGraphicsProxyWidget::setWidget: cannot embed widget %p" | - | 
| 420 |                         "; already embedded", newWidget); | - | 
| 421 |         } never executed: end of block  | 0 | 
| 422 |         return; never executed: return;  | 0 | 
| 423 |     } | - | 
| 424 |     *proxyWidget = q; | - | 
| 425 |  | - | 
| 426 |     newWidget->setAttribute(Qt::WA_DontShowOnScreen); | - | 
| 427 |     newWidget->ensurePolished(); | - | 
| 428 |  | - | 
| 429 |  | - | 
| 430 |     newWidget->setAttribute(Qt::WA_QuitOnClose, false); | - | 
| 431 |     q->setAcceptHoverEvents(true); | - | 
| 432 |  | - | 
| 433 |     if (newWidget->testAttribute(Qt::WA_NoSystemBackground)| TRUE | never evaluated |  | FALSE | never evaluated |  
  ) | 0 | 
| 434 |         q->setAttribute(Qt::WA_NoSystemBackground); never executed: q->setAttribute(Qt::WA_NoSystemBackground);  | 0 | 
| 435 |     if (newWidget->testAttribute(Qt::WA_OpaquePaintEvent)| TRUE | never evaluated |  | FALSE | never evaluated |  
  ) | 0 | 
| 436 |         q->setAttribute(Qt::WA_OpaquePaintEvent); never executed: q->setAttribute(Qt::WA_OpaquePaintEvent);  | 0 | 
| 437 |  | - | 
| 438 |     widget = newWidget; | - | 
| 439 |  | - | 
| 440 |  | - | 
| 441 |     enabledChangeMode = QGraphicsProxyWidgetPrivate::WidgetToProxyMode; | - | 
| 442 |     visibleChangeMode = QGraphicsProxyWidgetPrivate::WidgetToProxyMode; | - | 
| 443 |     posChangeMode = QGraphicsProxyWidgetPrivate::WidgetToProxyMode; | - | 
| 444 |     sizeChangeMode = QGraphicsProxyWidgetPrivate::WidgetToProxyMode; | - | 
| 445 |  | - | 
| 446 |     if ((autoShow| TRUE | never evaluated |  | FALSE | never evaluated |  
   && !newWidget->testAttribute(Qt::WA_WState_ExplicitShowHide)| TRUE | never evaluated |  | FALSE | never evaluated |  
  ) || !newWidget->testAttribute(Qt::WA_WState_Hidden)| TRUE | never evaluated |  | FALSE | never evaluated |  
  ) { | 0 | 
| 447 |         newWidget->show(); | - | 
| 448 |     } never executed: end of block  | 0 | 
| 449 |  | - | 
| 450 |  | - | 
| 451 |  | - | 
| 452 |     if (newWidget->testAttribute(Qt::WA_SetCursor)| TRUE | never evaluated |  | FALSE | never evaluated |  
  ) | 0 | 
| 453 |         q->setCursor(widget->cursor()); never executed: q->setCursor(widget->cursor());  | 0 | 
| 454 |  | - | 
| 455 |     q->setEnabled(newWidget->isEnabled()); | - | 
| 456 |     q->setVisible(newWidget->isVisible()); | - | 
| 457 |     q->setLayoutDirection(newWidget->layoutDirection()); | - | 
| 458 |     if (newWidget->testAttribute(Qt::WA_SetStyle)| TRUE | never evaluated |  | FALSE | never evaluated |  
  ) | 0 | 
| 459 |         q->setStyle(widget->style()); never executed: q->setStyle(widget->style());  | 0 | 
| 460 |  | - | 
| 461 |     resolveFont(inheritedFontResolveMask); | - | 
| 462 |     resolvePalette(inheritedPaletteResolveMask); | - | 
| 463 |  | - | 
| 464 |     if (!newWidget->testAttribute(Qt::WA_Resized)| TRUE | never evaluated |  | FALSE | never evaluated |  
  ) | 0 | 
| 465 |         newWidget->adjustSize(); never executed: newWidget->adjustSize();  | 0 | 
| 466 |  | - | 
| 467 |     int left, top, right, bottom; | - | 
| 468 |     newWidget->getContentsMargins(&left, &top, &right, &bottom); | - | 
| 469 |     q->setContentsMargins(left, top, right, bottom); | - | 
| 470 |     q->setWindowTitle(newWidget->windowTitle()); | - | 
| 471 |  | - | 
| 472 |  | - | 
| 473 |     q->setSizePolicy(newWidget->sizePolicy()); | - | 
| 474 |     QSize sz = newWidget->minimumSize(); | - | 
| 475 |     q->setMinimumSize(sz.isNull() ? QSizeF() : QSizeF(sz)); | - | 
| 476 |     sz = newWidget->maximumSize(); | - | 
| 477 |     q->setMaximumSize(sz.isNull() ? QSizeF() : QSizeF(sz)); | - | 
| 478 |  | - | 
| 479 |     updateProxyGeometryFromWidget(); | - | 
| 480 |  | - | 
| 481 |     updateProxyInputMethodAcceptanceFromWidget(); | - | 
| 482 |  | - | 
| 483 |  | - | 
| 484 |     newWidget->installEventFilter(q); | - | 
| 485 |     QObject::connect(newWidget, qFlagLocation("2""destroyed()" "\0" __FILE__ ":" "685""717"), q, qFlagLocation("1""_q_removeWidgetSlot()" "\0" __FILE__ ":" "685""717")); | - | 
| 486 |  | - | 
| 487 |  | - | 
| 488 |     enabledChangeMode = QGraphicsProxyWidgetPrivate::NoMode; | - | 
| 489 |     visibleChangeMode = QGraphicsProxyWidgetPrivate::NoMode; | - | 
| 490 |     posChangeMode = QGraphicsProxyWidgetPrivate::NoMode; | - | 
| 491 |     sizeChangeMode = QGraphicsProxyWidgetPrivate::NoMode; | - | 
| 492 | } never executed: end of block  | 0 | 
| 493 |  | - | 
| 494 |  | - | 
| 495 |  | - | 
| 496 |  | - | 
| 497 |  | - | 
| 498 |  | - | 
| 499 | QWidget *QGraphicsProxyWidget::widget() const | - | 
| 500 | { | - | 
| 501 |     const QGraphicsProxyWidgetPrivate * const d = d_func(); | - | 
| 502 |     return d->widget; | - | 
| 503 | } | - | 
| 504 | QRectF QGraphicsProxyWidget::subWidgetRect(const QWidget *widget) const | - | 
| 505 | { | - | 
| 506 |     const QGraphicsProxyWidgetPrivate * const d = d_func(); | - | 
| 507 |     if (!widget || !d->widget) | - | 
| 508 |         return QRectF(); | - | 
| 509 |     if (d->widget == widget || d->widget->isAncestorOf(widget)) | - | 
| 510 |         return QRectF(widget->mapTo(d->widget, QPoint(0, 0)), widget->size()); | - | 
| 511 |     return QRectF(); | - | 
| 512 | } | - | 
| 513 |  | - | 
| 514 |  | - | 
| 515 |  | - | 
| 516 |  | - | 
| 517 | void QGraphicsProxyWidget::setGeometry(const QRectF &rect) | - | 
| 518 | { | - | 
| 519 |     QGraphicsProxyWidgetPrivate * const d = d_func(); | - | 
| 520 |     bool proxyResizesWidget = !d->posChangeMode && !d->sizeChangeMode; | - | 
| 521 |     if (proxyResizesWidget) { | - | 
| 522 |         d->posChangeMode = QGraphicsProxyWidgetPrivate::ProxyToWidgetMode; | - | 
| 523 |         d->sizeChangeMode = QGraphicsProxyWidgetPrivate::ProxyToWidgetMode; | - | 
| 524 |     } | - | 
| 525 |     QGraphicsWidget::setGeometry(rect); | - | 
| 526 |     if (proxyResizesWidget) { | - | 
| 527 |         d->posChangeMode = QGraphicsProxyWidgetPrivate::NoMode; | - | 
| 528 |         d->sizeChangeMode = QGraphicsProxyWidgetPrivate::NoMode; | - | 
| 529 |     } | - | 
| 530 | } | - | 
| 531 |  | - | 
| 532 |  | - | 
| 533 |  | - | 
| 534 |  | - | 
| 535 | QVariant QGraphicsProxyWidget::itemChange(GraphicsItemChange change, | - | 
| 536 |                                           const QVariant &value) | - | 
| 537 | { | - | 
| 538 |     QGraphicsProxyWidgetPrivate * const d = d_func(); | - | 
| 539 |  | - | 
| 540 |     switch (change) { | - | 
| 541 |     case ItemPositionChange: | - | 
| 542 |  | - | 
| 543 |  | - | 
| 544 |  | - | 
| 545 |         if (!d->posChangeMode) | - | 
| 546 |             d->posChangeMode = QGraphicsProxyWidgetPrivate::ProxyToWidgetMode; | - | 
| 547 |         break; | - | 
| 548 |     case ItemPositionHasChanged: | - | 
| 549 |  | - | 
| 550 |  | - | 
| 551 |         if (d->widget && d->posChangeMode != QGraphicsProxyWidgetPrivate::WidgetToProxyMode) | - | 
| 552 |             d->widget->move(value.toPoint()); | - | 
| 553 |         if (d->posChangeMode == QGraphicsProxyWidgetPrivate::ProxyToWidgetMode) | - | 
| 554 |             d->posChangeMode = QGraphicsProxyWidgetPrivate::NoMode; | - | 
| 555 |         break; | - | 
| 556 |     case ItemVisibleChange: | - | 
| 557 |         if (!d->visibleChangeMode) | - | 
| 558 |             d->visibleChangeMode = QGraphicsProxyWidgetPrivate::ProxyToWidgetMode; | - | 
| 559 |         break; | - | 
| 560 |     case ItemVisibleHasChanged: | - | 
| 561 |         if (d->widget && d->visibleChangeMode != QGraphicsProxyWidgetPrivate::WidgetToProxyMode) | - | 
| 562 |             d->widget->setVisible(isVisible()); | - | 
| 563 |         if (d->visibleChangeMode == QGraphicsProxyWidgetPrivate::ProxyToWidgetMode) | - | 
| 564 |             d->visibleChangeMode = QGraphicsProxyWidgetPrivate::NoMode; | - | 
| 565 |         break; | - | 
| 566 |     case ItemEnabledChange: | - | 
| 567 |         if (!d->enabledChangeMode) | - | 
| 568 |             d->enabledChangeMode = QGraphicsProxyWidgetPrivate::ProxyToWidgetMode; | - | 
| 569 |         break; | - | 
| 570 |     case ItemEnabledHasChanged: | - | 
| 571 |         if (d->widget && d->enabledChangeMode != QGraphicsProxyWidgetPrivate::WidgetToProxyMode) | - | 
| 572 |             d->widget->setEnabled(isEnabled()); | - | 
| 573 |         if (d->enabledChangeMode == QGraphicsProxyWidgetPrivate::ProxyToWidgetMode) | - | 
| 574 |             d->enabledChangeMode = QGraphicsProxyWidgetPrivate::NoMode; | - | 
| 575 |         break; | - | 
| 576 |     default: | - | 
| 577 |         break; | - | 
| 578 |     } | - | 
| 579 |     return QGraphicsWidget::itemChange(change, value); | - | 
| 580 | } | - | 
| 581 |  | - | 
| 582 |  | - | 
| 583 |  | - | 
| 584 |  | - | 
| 585 | bool QGraphicsProxyWidget::event(QEvent *event) | - | 
| 586 | { | - | 
| 587 |     QGraphicsProxyWidgetPrivate * const d = d_func(); | - | 
| 588 |     if (!d->widget) | - | 
| 589 |         return QGraphicsWidget::event(event); | - | 
| 590 |  | - | 
| 591 |     switch (event->type()) { | - | 
| 592 |     case QEvent::StyleChange: | - | 
| 593 |  | - | 
| 594 |         if (!d->styleChangeMode) { | - | 
| 595 |             d->styleChangeMode = QGraphicsProxyWidgetPrivate::ProxyToWidgetMode; | - | 
| 596 |             d->widget->setStyle(style()); | - | 
| 597 |             d->styleChangeMode = QGraphicsProxyWidgetPrivate::NoMode; | - | 
| 598 |         } | - | 
| 599 |         break; | - | 
| 600 |     case QEvent::FontChange: { | - | 
| 601 |  | - | 
| 602 |         QWidgetPrivate *wd = d->widget->d_func(); | - | 
| 603 |         int mask = d->font.resolve() | d->inheritedFontResolveMask; | - | 
| 604 |         wd->inheritedFontResolveMask = mask; | - | 
| 605 |         wd->resolveFont(); | - | 
| 606 |         break; | - | 
| 607 |     } | - | 
| 608 |     case QEvent::PaletteChange: { | - | 
| 609 |  | - | 
| 610 |         QWidgetPrivate *wd = d->widget->d_func(); | - | 
| 611 |         int mask = d->palette.resolve() | d->inheritedPaletteResolveMask; | - | 
| 612 |         wd->inheritedPaletteResolveMask = mask; | - | 
| 613 |         wd->resolvePalette(); | - | 
| 614 |         break; | - | 
| 615 |     } | - | 
| 616 |     case QEvent::InputMethod: { | - | 
| 617 |         inputMethodEvent(static_cast<QInputMethodEvent *>(event)); | - | 
| 618 |         if (event->isAccepted()) | - | 
| 619 |             return true; | - | 
| 620 |         return false; | - | 
| 621 |     } | - | 
| 622 |     case QEvent::ShortcutOverride: { | - | 
| 623 |         QWidget *focusWidget = d->widget->focusWidget(); | - | 
| 624 |         while (focusWidget) { | - | 
| 625 |             QApplication::sendEvent(focusWidget, event); | - | 
| 626 |             if (event->isAccepted()) | - | 
| 627 |                 return true; | - | 
| 628 |             focusWidget = focusWidget->parentWidget(); | - | 
| 629 |         } | - | 
| 630 |         return false; | - | 
| 631 |     } | - | 
| 632 |     case QEvent::KeyPress: { | - | 
| 633 |         QKeyEvent *k = static_cast<QKeyEvent *>(event); | - | 
| 634 |         if (k->key() == Qt::Key_Tab || k->key() == Qt::Key_Backtab) { | - | 
| 635 |             if (!(k->modifiers() & (Qt::ControlModifier | Qt::AltModifier))) { | - | 
| 636 |                 QWidget *focusWidget = d->widget->focusWidget(); | - | 
| 637 |                 while (focusWidget) { | - | 
| 638 |                     bool res = QApplication::sendEvent(focusWidget, event); | - | 
| 639 |                     if ((res && event->isAccepted()) || (isWindow() && focusWidget == d->widget)) { | - | 
| 640 |                         event->accept(); | - | 
| 641 |                         break; | - | 
| 642 |                     } | - | 
| 643 |                     focusWidget = focusWidget->parentWidget(); | - | 
| 644 |                 } | - | 
| 645 |                 return true; | - | 
| 646 |             } | - | 
| 647 |         } | - | 
| 648 |         break; | - | 
| 649 |     } | - | 
| 650 |  | - | 
| 651 |     case QEvent::GraphicsSceneHelp: { | - | 
| 652 |  | - | 
| 653 |         if (d->lastWidgetUnderMouse) { | - | 
| 654 |             QGraphicsSceneHelpEvent *he = static_cast<QGraphicsSceneHelpEvent *>(event); | - | 
| 655 |             QPoint pos = d->mapToReceiver(mapFromScene(he->scenePos()), d->lastWidgetUnderMouse).toPoint(); | - | 
| 656 |             QHelpEvent e(QEvent::ToolTip, pos, he->screenPos()); | - | 
| 657 |             QApplication::sendEvent(d->lastWidgetUnderMouse, &e); | - | 
| 658 |             event->setAccepted(e.isAccepted()); | - | 
| 659 |             return e.isAccepted(); | - | 
| 660 |         } | - | 
| 661 |         break; | - | 
| 662 |     } | - | 
| 663 |     case QEvent::ToolTipChange: { | - | 
| 664 |  | - | 
| 665 |         if (!d->tooltipChangeMode) { | - | 
| 666 |             d->tooltipChangeMode = QGraphicsProxyWidgetPrivate::ProxyToWidgetMode; | - | 
| 667 |             d->widget->setToolTip(toolTip()); | - | 
| 668 |             d->tooltipChangeMode = QGraphicsProxyWidgetPrivate::NoMode; | - | 
| 669 |         } | - | 
| 670 |         break; | - | 
| 671 |     } | - | 
| 672 |  | - | 
| 673 |     case QEvent::TouchBegin: | - | 
| 674 |     case QEvent::TouchUpdate: | - | 
| 675 |     case QEvent::TouchEnd: { | - | 
| 676 |         if (event->spontaneous()) | - | 
| 677 |             qt_sendSpontaneousEvent(d->widget, event); | - | 
| 678 |         else | - | 
| 679 |             QApplication::sendEvent(d->widget, event); | - | 
| 680 |  | - | 
| 681 |         if (event->isAccepted()) | - | 
| 682 |             return true; | - | 
| 683 |  | - | 
| 684 |         break; | - | 
| 685 |    } | - | 
| 686 |     default: | - | 
| 687 |         break; | - | 
| 688 |     } | - | 
| 689 |     return QGraphicsWidget::event(event); | - | 
| 690 | } | - | 
| 691 |  | - | 
| 692 |  | - | 
| 693 |  | - | 
| 694 |  | - | 
| 695 | bool QGraphicsProxyWidget::eventFilter(QObject *object, QEvent *event) | - | 
| 696 | { | - | 
| 697 |     QGraphicsProxyWidgetPrivate * const d = d_func(); | - | 
| 698 |  | - | 
| 699 |     if (object == d->widget) { | - | 
| 700 |         switch (event->type()) { | - | 
| 701 |         case QEvent::LayoutRequest: | - | 
| 702 |             updateGeometry(); | - | 
| 703 |             break; | - | 
| 704 |          case QEvent::Resize: | - | 
| 705 |  | - | 
| 706 |  | - | 
| 707 |              if (!d->sizeChangeMode) | - | 
| 708 |                  d->updateProxyGeometryFromWidget(); | - | 
| 709 |             break; | - | 
| 710 |          case QEvent::Move: | - | 
| 711 |  | - | 
| 712 |  | - | 
| 713 |              if (!d->posChangeMode) | - | 
| 714 |                  d->updateProxyGeometryFromWidget(); | - | 
| 715 |             break; | - | 
| 716 |         case QEvent::Hide: | - | 
| 717 |         case QEvent::Show: | - | 
| 718 |  | - | 
| 719 |             if (!d->visibleChangeMode) { | - | 
| 720 |                 d->visibleChangeMode = QGraphicsProxyWidgetPrivate::WidgetToProxyMode; | - | 
| 721 |                 setVisible(event->type() == QEvent::Show); | - | 
| 722 |                 d->visibleChangeMode = QGraphicsProxyWidgetPrivate::NoMode; | - | 
| 723 |             } | - | 
| 724 |             break; | - | 
| 725 |         case QEvent::EnabledChange: | - | 
| 726 |  | - | 
| 727 |             if (!d->enabledChangeMode) { | - | 
| 728 |                 d->enabledChangeMode = QGraphicsProxyWidgetPrivate::WidgetToProxyMode; | - | 
| 729 |                 setEnabled(d->widget->isEnabled()); | - | 
| 730 |                 d->enabledChangeMode = QGraphicsProxyWidgetPrivate::NoMode; | - | 
| 731 |             } | - | 
| 732 |             break; | - | 
| 733 |         case QEvent::StyleChange: | - | 
| 734 |  | - | 
| 735 |             if (!d->styleChangeMode) { | - | 
| 736 |                 d->styleChangeMode = QGraphicsProxyWidgetPrivate::WidgetToProxyMode; | - | 
| 737 |                 setStyle(d->widget->style()); | - | 
| 738 |                 d->styleChangeMode = QGraphicsProxyWidgetPrivate::NoMode; | - | 
| 739 |             } | - | 
| 740 |             break; | - | 
| 741 |  | - | 
| 742 |         case QEvent::ToolTipChange: | - | 
| 743 |  | - | 
| 744 |             if (!d->tooltipChangeMode) { | - | 
| 745 |                 d->tooltipChangeMode = QGraphicsProxyWidgetPrivate::WidgetToProxyMode; | - | 
| 746 |                 setToolTip(d->widget->toolTip()); | - | 
| 747 |                 d->tooltipChangeMode = QGraphicsProxyWidgetPrivate::NoMode; | - | 
| 748 |             } | - | 
| 749 |             break; | - | 
| 750 |  | - | 
| 751 |         default: | - | 
| 752 |             break; | - | 
| 753 |         } | - | 
| 754 |     } | - | 
| 755 |     return QGraphicsWidget::eventFilter(object, event); | - | 
| 756 | } | - | 
| 757 |  | - | 
| 758 |  | - | 
| 759 |  | - | 
| 760 |  | - | 
| 761 | void QGraphicsProxyWidget::showEvent(QShowEvent *event) | - | 
| 762 | { | - | 
| 763 |     (void)event;; | - | 
| 764 | } | - | 
| 765 |  | - | 
| 766 |  | - | 
| 767 |  | - | 
| 768 |  | - | 
| 769 | void QGraphicsProxyWidget::hideEvent(QHideEvent *event) | - | 
| 770 | { | - | 
| 771 |     (void)event;; | - | 
| 772 | } | - | 
| 773 |  | - | 
| 774 |  | - | 
| 775 |  | - | 
| 776 |  | - | 
| 777 |  | - | 
| 778 | void QGraphicsProxyWidget::contextMenuEvent(QGraphicsSceneContextMenuEvent *event) | - | 
| 779 | { | - | 
| 780 |     QGraphicsProxyWidgetPrivate * const d = d_func(); | - | 
| 781 |     if (!event || !d->widget || !d->widget->isVisible() || !hasFocus()) | - | 
| 782 |         return; | - | 
| 783 |  | - | 
| 784 |  | - | 
| 785 |     QPointF pos = event->pos(); | - | 
| 786 |     QPointer<QWidget> alienWidget = d->widget->childAt(pos.toPoint()); | - | 
| 787 |     QPointer<QWidget> receiver = alienWidget ? alienWidget : d->widget; | - | 
| 788 |  | - | 
| 789 |  | - | 
| 790 |     pos = d->mapToReceiver(pos, receiver); | - | 
| 791 |  | - | 
| 792 |     QPoint globalPos = receiver->mapToGlobal(pos.toPoint()); | - | 
| 793 |  | - | 
| 794 |  | - | 
| 795 |  | - | 
| 796 |  | - | 
| 797 |  | - | 
| 798 |     if (bypassGraphicsProxyWidget(receiver)) | - | 
| 799 |         globalPos = event->screenPos(); | - | 
| 800 |  | - | 
| 801 |  | - | 
| 802 |     QContextMenuEvent contextMenuEvent(QContextMenuEvent::Reason(event->reason()), | - | 
| 803 |                                        pos.toPoint(), globalPos, event->modifiers()); | - | 
| 804 |     QApplication::sendEvent(receiver, &contextMenuEvent); | - | 
| 805 |  | - | 
| 806 |     event->setAccepted(contextMenuEvent.isAccepted()); | - | 
| 807 | } | - | 
| 808 |  | - | 
| 809 |  | - | 
| 810 |  | - | 
| 811 |  | - | 
| 812 |  | - | 
| 813 |  | - | 
| 814 | void QGraphicsProxyWidget::dragEnterEvent(QGraphicsSceneDragDropEvent *event) | - | 
| 815 | { | - | 
| 816 |  | - | 
| 817 |  | - | 
| 818 |  | - | 
| 819 |     QGraphicsProxyWidgetPrivate * const d = d_func(); | - | 
| 820 |     if (!d->widget) | - | 
| 821 |         return; | - | 
| 822 |  | - | 
| 823 |     QDragEnterEvent proxyDragEnter(event->pos().toPoint(), event->dropAction(), event->mimeData(), event->buttons(), event->modifiers()); | - | 
| 824 |     proxyDragEnter.setAccepted(event->isAccepted()); | - | 
| 825 |     QApplication::sendEvent(d->widget, &proxyDragEnter); | - | 
| 826 |     event->setAccepted(proxyDragEnter.isAccepted()); | - | 
| 827 |     if (proxyDragEnter.isAccepted()) | - | 
| 828 |         event->setDropAction(proxyDragEnter.dropAction()); | - | 
| 829 |  | - | 
| 830 | } | - | 
| 831 |  | - | 
| 832 |  | - | 
| 833 |  | - | 
| 834 | void QGraphicsProxyWidget::dragLeaveEvent(QGraphicsSceneDragDropEvent *event) | - | 
| 835 | { | - | 
| 836 |     (void)event;; | - | 
| 837 |  | - | 
| 838 |     QGraphicsProxyWidgetPrivate * const d = d_func(); | - | 
| 839 |     if (!d->widget || !d->dragDropWidget) | - | 
| 840 |         return; | - | 
| 841 |     QDragLeaveEvent proxyDragLeave; | - | 
| 842 |     QApplication::sendEvent(d->dragDropWidget, &proxyDragLeave); | - | 
| 843 |     d->dragDropWidget = 0; | - | 
| 844 |  | - | 
| 845 | } | - | 
| 846 |  | - | 
| 847 |  | - | 
| 848 |  | - | 
| 849 |  | - | 
| 850 | void QGraphicsProxyWidget::dragMoveEvent(QGraphicsSceneDragDropEvent *event) | - | 
| 851 | { | - | 
| 852 |  | - | 
| 853 |  | - | 
| 854 |  | - | 
| 855 |     QGraphicsProxyWidgetPrivate * const d = d_func(); | - | 
| 856 |     if (!d->widget) | - | 
| 857 |         return; | - | 
| 858 |     QPointF p = event->pos(); | - | 
| 859 |     event->ignore(); | - | 
| 860 |     QPointer<QWidget> subWidget = d->widget->childAt(p.toPoint()); | - | 
| 861 |     QPointer<QWidget> receiver = subWidget ? subWidget : d->widget; | - | 
| 862 |     bool eventDelivered = false; | - | 
| 863 |     for (; receiver; receiver = receiver->parentWidget()) { | - | 
| 864 |         if (!receiver->isEnabled() || !receiver->acceptDrops()) | - | 
| 865 |             continue; | - | 
| 866 |  | - | 
| 867 |         QPoint receiverPos = d->mapToReceiver(p, receiver).toPoint(); | - | 
| 868 |         if (receiver != d->dragDropWidget) { | - | 
| 869 |  | - | 
| 870 |             QDragEnterEvent dragEnter(receiverPos, event->possibleActions(), event->mimeData(), event->buttons(), event->modifiers()); | - | 
| 871 |             dragEnter.setDropAction(event->proposedAction()); | - | 
| 872 |             QApplication::sendEvent(receiver, &dragEnter); | - | 
| 873 |             event->setAccepted(dragEnter.isAccepted()); | - | 
| 874 |             event->setDropAction(dragEnter.dropAction()); | - | 
| 875 |             if (!event->isAccepted()) { | - | 
| 876 |  | - | 
| 877 |                 continue; | - | 
| 878 |             } | - | 
| 879 |  | - | 
| 880 |             d->lastDropAction = event->dropAction(); | - | 
| 881 |  | - | 
| 882 |             if (d->dragDropWidget) { | - | 
| 883 |                 QDragLeaveEvent dragLeave; | - | 
| 884 |                 QApplication::sendEvent(d->dragDropWidget, &dragLeave); | - | 
| 885 |             } | - | 
| 886 |             d->dragDropWidget = receiver; | - | 
| 887 |         } | - | 
| 888 |  | - | 
| 889 |         QDragMoveEvent dragMove(receiverPos, event->possibleActions(), event->mimeData(), event->buttons(), event->modifiers()); | - | 
| 890 |         event->setDropAction(d->lastDropAction); | - | 
| 891 |         QApplication::sendEvent(receiver, &dragMove); | - | 
| 892 |         event->setAccepted(dragMove.isAccepted()); | - | 
| 893 |         event->setDropAction(dragMove.dropAction()); | - | 
| 894 |         if (event->isAccepted()) | - | 
| 895 |             d->lastDropAction = event->dropAction(); | - | 
| 896 |         eventDelivered = true; | - | 
| 897 |         break; | - | 
| 898 |     } | - | 
| 899 |  | - | 
| 900 |     if (!eventDelivered) { | - | 
| 901 |         if (d->dragDropWidget) { | - | 
| 902 |  | - | 
| 903 |             QDragLeaveEvent dragLeave; | - | 
| 904 |             QApplication::sendEvent(d->dragDropWidget, &dragLeave); | - | 
| 905 |             d->dragDropWidget = 0; | - | 
| 906 |         } | - | 
| 907 |  | - | 
| 908 |         event->setDropAction(Qt::IgnoreAction); | - | 
| 909 |     } | - | 
| 910 |  | - | 
| 911 | } | - | 
| 912 |  | - | 
| 913 |  | - | 
| 914 |  | - | 
| 915 |  | - | 
| 916 | void QGraphicsProxyWidget::dropEvent(QGraphicsSceneDragDropEvent *event) | - | 
| 917 | { | - | 
| 918 |  | - | 
| 919 |  | - | 
| 920 |  | - | 
| 921 |     QGraphicsProxyWidgetPrivate * const d = d_func(); | - | 
| 922 |     if (d->widget && d->dragDropWidget) { | - | 
| 923 |         QPoint widgetPos = d->mapToReceiver(event->pos(), d->dragDropWidget).toPoint(); | - | 
| 924 |         QDropEvent dropEvent(widgetPos, event->possibleActions(), event->mimeData(), event->buttons(), event->modifiers()); | - | 
| 925 |         QApplication::sendEvent(d->dragDropWidget, &dropEvent); | - | 
| 926 |         event->setAccepted(dropEvent.isAccepted()); | - | 
| 927 |         d->dragDropWidget = 0; | - | 
| 928 |     } | - | 
| 929 |  | - | 
| 930 | } | - | 
| 931 |  | - | 
| 932 |  | - | 
| 933 |  | - | 
| 934 |  | - | 
| 935 |  | - | 
| 936 | void QGraphicsProxyWidget::hoverEnterEvent(QGraphicsSceneHoverEvent *event) | - | 
| 937 | { | - | 
| 938 |     (void)event;; | - | 
| 939 | } | - | 
| 940 |  | - | 
| 941 |  | - | 
| 942 |  | - | 
| 943 |  | - | 
| 944 | void QGraphicsProxyWidget::hoverLeaveEvent(QGraphicsSceneHoverEvent *event) | - | 
| 945 | { | - | 
| 946 |     (void)event;; | - | 
| 947 |     QGraphicsProxyWidgetPrivate * const d = d_func(); | - | 
| 948 |  | - | 
| 949 |     if (d->lastWidgetUnderMouse) { | - | 
| 950 |         QApplicationPrivate::dispatchEnterLeave(0, d->lastWidgetUnderMouse, event->screenPos()); | - | 
| 951 |         d->lastWidgetUnderMouse = 0; | - | 
| 952 |     } | - | 
| 953 | } | - | 
| 954 |  | - | 
| 955 |  | - | 
| 956 |  | - | 
| 957 |  | - | 
| 958 | void QGraphicsProxyWidget::hoverMoveEvent(QGraphicsSceneHoverEvent *event) | - | 
| 959 | { | - | 
| 960 |     QGraphicsProxyWidgetPrivate * const d = d_func(); | - | 
| 961 |  | - | 
| 962 |  | - | 
| 963 |  | - | 
| 964 |  | - | 
| 965 |     if (!d->widget || !rect().contains(event->pos())) { | - | 
| 966 |         if (d->lastWidgetUnderMouse) { | - | 
| 967 |             QApplicationPrivate::dispatchEnterLeave(0, d->lastWidgetUnderMouse, event->screenPos()); | - | 
| 968 |             d->lastWidgetUnderMouse = 0; | - | 
| 969 |         } | - | 
| 970 |         return; | - | 
| 971 |     } | - | 
| 972 |  | - | 
| 973 |     d->embeddedMouseGrabber = 0; | - | 
| 974 |     d->sendWidgetMouseEvent(event); | - | 
| 975 | } | - | 
| 976 |  | - | 
| 977 |  | - | 
| 978 |  | - | 
| 979 |  | - | 
| 980 | void QGraphicsProxyWidget::grabMouseEvent(QEvent *event) | - | 
| 981 | { | - | 
| 982 |     (void)event;; | - | 
| 983 | } | - | 
| 984 |  | - | 
| 985 |  | - | 
| 986 |  | - | 
| 987 |  | - | 
| 988 | void QGraphicsProxyWidget::ungrabMouseEvent(QEvent *event) | - | 
| 989 | { | - | 
| 990 |     QGraphicsProxyWidgetPrivate * const d = d_func(); | - | 
| 991 |     (void)event;; | - | 
| 992 |     d->embeddedMouseGrabber = 0; | - | 
| 993 | } | - | 
| 994 |  | - | 
| 995 |  | - | 
| 996 |  | - | 
| 997 |  | - | 
| 998 | void QGraphicsProxyWidget::mouseMoveEvent(QGraphicsSceneMouseEvent *event) | - | 
| 999 | { | - | 
| 1000 |     QGraphicsProxyWidgetPrivate * const d = d_func(); | - | 
| 1001 |  | - | 
| 1002 |  | - | 
| 1003 |  | - | 
| 1004 |     d->sendWidgetMouseEvent(event); | - | 
| 1005 | } | - | 
| 1006 |  | - | 
| 1007 |  | - | 
| 1008 |  | - | 
| 1009 |  | - | 
| 1010 | void QGraphicsProxyWidget::mousePressEvent(QGraphicsSceneMouseEvent *event) | - | 
| 1011 | { | - | 
| 1012 |     QGraphicsProxyWidgetPrivate * const d = d_func(); | - | 
| 1013 |  | - | 
| 1014 |  | - | 
| 1015 |  | - | 
| 1016 |     d->sendWidgetMouseEvent(event); | - | 
| 1017 | } | - | 
| 1018 |  | - | 
| 1019 |  | - | 
| 1020 |  | - | 
| 1021 |  | - | 
| 1022 | void QGraphicsProxyWidget::mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event) | - | 
| 1023 | { | - | 
| 1024 |     QGraphicsProxyWidgetPrivate * const d = d_func(); | - | 
| 1025 |  | - | 
| 1026 |  | - | 
| 1027 |  | - | 
| 1028 |     d->sendWidgetMouseEvent(event); | - | 
| 1029 | } | - | 
| 1030 |  | - | 
| 1031 |  | - | 
| 1032 |  | - | 
| 1033 |  | - | 
| 1034 |  | - | 
| 1035 | void QGraphicsProxyWidget::wheelEvent(QGraphicsSceneWheelEvent *event) | - | 
| 1036 | { | - | 
| 1037 |     QGraphicsProxyWidgetPrivate * const d = d_func(); | - | 
| 1038 |  | - | 
| 1039 |  | - | 
| 1040 |  | - | 
| 1041 |     if (!d->widget) | - | 
| 1042 |         return; | - | 
| 1043 |  | - | 
| 1044 |     QPointF pos = event->pos(); | - | 
| 1045 |     QPointer<QWidget> receiver = d->widget->childAt(pos.toPoint()); | - | 
| 1046 |     if (!receiver) | - | 
| 1047 |         receiver = d->widget; | - | 
| 1048 |  | - | 
| 1049 |  | - | 
| 1050 |     pos = d->mapToReceiver(pos, receiver); | - | 
| 1051 |  | - | 
| 1052 |  | - | 
| 1053 |     QWheelEvent wheelEvent(pos.toPoint(), event->screenPos(), event->delta(), | - | 
| 1054 |                            event->buttons(), event->modifiers(), event->orientation()); | - | 
| 1055 |     QPointer<QWidget> focusWidget = d->widget->focusWidget(); | - | 
| 1056 |     extern bool qt_sendSpontaneousEvent(QObject *, QEvent *); | - | 
| 1057 |     qt_sendSpontaneousEvent(receiver, &wheelEvent); | - | 
| 1058 |     event->setAccepted(wheelEvent.isAccepted()); | - | 
| 1059 |  | - | 
| 1060 |  | - | 
| 1061 |     if (focusWidget && !focusWidget->hasFocus()) { | - | 
| 1062 |         focusWidget->update(); | - | 
| 1063 |         focusWidget = d->widget->focusWidget(); | - | 
| 1064 |         if (focusWidget && focusWidget->hasFocus()) | - | 
| 1065 |             focusWidget->update(); | - | 
| 1066 |     } | - | 
| 1067 | } | - | 
| 1068 |  | - | 
| 1069 |  | - | 
| 1070 |  | - | 
| 1071 |  | - | 
| 1072 |  | - | 
| 1073 | void QGraphicsProxyWidget::mouseReleaseEvent(QGraphicsSceneMouseEvent *event) | - | 
| 1074 | { | - | 
| 1075 |     QGraphicsProxyWidgetPrivate * const d = d_func(); | - | 
| 1076 |  | - | 
| 1077 |  | - | 
| 1078 |  | - | 
| 1079 |     d->sendWidgetMouseEvent(event); | - | 
| 1080 | } | - | 
| 1081 |  | - | 
| 1082 |  | - | 
| 1083 |  | - | 
| 1084 |  | - | 
| 1085 | void QGraphicsProxyWidget::keyPressEvent(QKeyEvent *event) | - | 
| 1086 | { | - | 
| 1087 |     QGraphicsProxyWidgetPrivate * const d = d_func(); | - | 
| 1088 |  | - | 
| 1089 |  | - | 
| 1090 |  | - | 
| 1091 |     d->sendWidgetKeyEvent(event); | - | 
| 1092 | } | - | 
| 1093 |  | - | 
| 1094 |  | - | 
| 1095 |  | - | 
| 1096 |  | - | 
| 1097 | void QGraphicsProxyWidget::keyReleaseEvent(QKeyEvent *event) | - | 
| 1098 | { | - | 
| 1099 |     QGraphicsProxyWidgetPrivate * const d = d_func(); | - | 
| 1100 |  | - | 
| 1101 |  | - | 
| 1102 |  | - | 
| 1103 |     d->sendWidgetKeyEvent(event); | - | 
| 1104 | } | - | 
| 1105 |  | - | 
| 1106 |  | - | 
| 1107 |  | - | 
| 1108 |  | - | 
| 1109 | void QGraphicsProxyWidget::focusInEvent(QFocusEvent *event) | - | 
| 1110 | { | - | 
| 1111 |  | - | 
| 1112 |  | - | 
| 1113 |  | - | 
| 1114 |     QGraphicsProxyWidgetPrivate * const d = d_func(); | - | 
| 1115 |  | - | 
| 1116 |     if (d->focusFromWidgetToProxy) { | - | 
| 1117 |  | - | 
| 1118 |  | - | 
| 1119 |  | - | 
| 1120 |         return; | - | 
| 1121 |     } | - | 
| 1122 |  | - | 
| 1123 |     d->proxyIsGivingFocus = true; | - | 
| 1124 |  | - | 
| 1125 |     switch (event->reason()) { | - | 
| 1126 |     case Qt::TabFocusReason: { | - | 
| 1127 |         if (QWidget *focusChild = d->findFocusChild(0, true)) | - | 
| 1128 |             focusChild->setFocus(event->reason()); | - | 
| 1129 |         break; | - | 
| 1130 |     } | - | 
| 1131 |     case Qt::BacktabFocusReason: | - | 
| 1132 |         if (QWidget *focusChild = d->findFocusChild(0, false)) | - | 
| 1133 |             focusChild->setFocus(event->reason()); | - | 
| 1134 |         break; | - | 
| 1135 |     default: | - | 
| 1136 |         if (d->widget && d->widget->focusWidget()) { | - | 
| 1137 |             d->widget->focusWidget()->setFocus(event->reason()); | - | 
| 1138 |         } | - | 
| 1139 |         break; | - | 
| 1140 |     } | - | 
| 1141 |  | - | 
| 1142 |     d->proxyIsGivingFocus = false; | - | 
| 1143 | } | - | 
| 1144 |  | - | 
| 1145 |  | - | 
| 1146 |  | - | 
| 1147 |  | - | 
| 1148 | void QGraphicsProxyWidget::focusOutEvent(QFocusEvent *event) | - | 
| 1149 | { | - | 
| 1150 |  | - | 
| 1151 |  | - | 
| 1152 |  | - | 
| 1153 |     QGraphicsProxyWidgetPrivate * const d = d_func(); | - | 
| 1154 |     if (d->widget) { | - | 
| 1155 |  | - | 
| 1156 |  | - | 
| 1157 |         if (QWidget *focusWidget = d->widget->focusWidget()) | - | 
| 1158 |             d->removeSubFocusHelper(focusWidget, event->reason()); | - | 
| 1159 |     } | - | 
| 1160 | } | - | 
| 1161 |  | - | 
| 1162 |  | - | 
| 1163 |  | - | 
| 1164 |  | - | 
| 1165 | bool QGraphicsProxyWidget::focusNextPrevChild(bool next) | - | 
| 1166 | { | - | 
| 1167 |     QGraphicsProxyWidgetPrivate * const d = d_func(); | - | 
| 1168 |     if (!d->widget || !d->scene) | - | 
| 1169 |         return QGraphicsWidget::focusNextPrevChild(next); | - | 
| 1170 |  | - | 
| 1171 |     Qt::FocusReason reason = next ? Qt::TabFocusReason : Qt::BacktabFocusReason; | - | 
| 1172 |     QWidget *lastFocusChild = d->widget->focusWidget(); | - | 
| 1173 |     if (QWidget *newFocusChild = d->findFocusChild(lastFocusChild, next)) { | - | 
| 1174 |         newFocusChild->setFocus(reason); | - | 
| 1175 |         return true; | - | 
| 1176 |     } | - | 
| 1177 |  | - | 
| 1178 |     return QGraphicsWidget::focusNextPrevChild(next); | - | 
| 1179 | } | - | 
| 1180 |  | - | 
| 1181 |  | - | 
| 1182 |  | - | 
| 1183 |  | - | 
| 1184 | QVariant QGraphicsProxyWidget::inputMethodQuery(Qt::InputMethodQuery query) const | - | 
| 1185 | { | - | 
| 1186 |     const QGraphicsProxyWidgetPrivate * const d = d_func(); | - | 
| 1187 |  | - | 
| 1188 |     if (!d->widget || !hasFocus()) | - | 
| 1189 |         return QVariant(); | - | 
| 1190 |  | - | 
| 1191 |     QWidget *focusWidget = widget()->focusWidget(); | - | 
| 1192 |     if (!focusWidget) | - | 
| 1193 |         focusWidget = d->widget; | - | 
| 1194 |     QVariant v = focusWidget->inputMethodQuery(query); | - | 
| 1195 |     QPointF focusWidgetPos = subWidgetRect(focusWidget).topLeft(); | - | 
| 1196 |     switch (v.type()) { | - | 
| 1197 |     case QVariant::RectF: | - | 
| 1198 |         v = v.toRectF().translated(focusWidgetPos); | - | 
| 1199 |         break; | - | 
| 1200 |     case QVariant::PointF: | - | 
| 1201 |         v = v.toPointF() + focusWidgetPos; | - | 
| 1202 |         break; | - | 
| 1203 |     case QVariant::Rect: | - | 
| 1204 |         v = v.toRect().translated(focusWidgetPos.toPoint()); | - | 
| 1205 |         break; | - | 
| 1206 |     case QVariant::Point: | - | 
| 1207 |         v = v.toPoint() + focusWidgetPos.toPoint(); | - | 
| 1208 |         break; | - | 
| 1209 |     default: | - | 
| 1210 |         break; | - | 
| 1211 |     } | - | 
| 1212 |     return v; | - | 
| 1213 | } | - | 
| 1214 |  | - | 
| 1215 |  | - | 
| 1216 |  | - | 
| 1217 |  | - | 
| 1218 | void QGraphicsProxyWidget::inputMethodEvent(QInputMethodEvent *event) | - | 
| 1219 | { | - | 
| 1220 |  | - | 
| 1221 |     const QGraphicsProxyWidgetPrivate * const d = d_func(); | - | 
| 1222 |     QWidget *focusWidget = d->widget->focusWidget(); | - | 
| 1223 |     if (focusWidget && focusWidget->testAttribute(Qt::WA_InputMethodEnabled)) | - | 
| 1224 |         QApplication::sendEvent(focusWidget, event); | - | 
| 1225 | } | - | 
| 1226 |  | - | 
| 1227 |  | - | 
| 1228 |  | - | 
| 1229 |  | - | 
| 1230 | QSizeF QGraphicsProxyWidget::sizeHint(Qt::SizeHint which, const QSizeF &constraint) const | - | 
| 1231 | { | - | 
| 1232 |     const QGraphicsProxyWidgetPrivate * const d = d_func(); | - | 
| 1233 |     if (!d->widget) | - | 
| 1234 |         return QGraphicsWidget::sizeHint(which, constraint); | - | 
| 1235 |  | - | 
| 1236 |     QSizeF sh; | - | 
| 1237 |     switch (which) { | - | 
| 1238 |     case Qt::PreferredSize: | - | 
| 1239 |         if (QLayout *l = d->widget->layout()) | - | 
| 1240 |             sh = l->sizeHint(); | - | 
| 1241 |         else | - | 
| 1242 |             sh = d->widget->sizeHint(); | - | 
| 1243 |         break; | - | 
| 1244 |     case Qt::MinimumSize: | - | 
| 1245 |         if (QLayout *l = d->widget->layout()) | - | 
| 1246 |             sh = l->minimumSize(); | - | 
| 1247 |         else | - | 
| 1248 |             sh = d->widget->minimumSizeHint(); | - | 
| 1249 |         break; | - | 
| 1250 |     case Qt::MaximumSize: | - | 
| 1251 |         if (QLayout *l = d->widget->layout()) | - | 
| 1252 |             sh = l->maximumSize(); | - | 
| 1253 |         else | - | 
| 1254 |             sh = QSizeF(((1<<24)-1), ((1<<24)-1)); | - | 
| 1255 |         break; | - | 
| 1256 |     case Qt::MinimumDescent: | - | 
| 1257 |         sh = constraint; | - | 
| 1258 |         break; | - | 
| 1259 |     default: | - | 
| 1260 |         break; | - | 
| 1261 |     } | - | 
| 1262 |     return sh; | - | 
| 1263 | } | - | 
| 1264 |  | - | 
| 1265 |  | - | 
| 1266 |  | - | 
| 1267 |  | - | 
| 1268 | void QGraphicsProxyWidget::resizeEvent(QGraphicsSceneResizeEvent *event) | - | 
| 1269 | { | - | 
| 1270 |     QGraphicsProxyWidgetPrivate * const d = d_func(); | - | 
| 1271 |     if (d->widget) { | - | 
| 1272 |         if (d->sizeChangeMode != QGraphicsProxyWidgetPrivate::WidgetToProxyMode) | - | 
| 1273 |             d->widget->resize(event->newSize().toSize()); | - | 
| 1274 |     } | - | 
| 1275 |     QGraphicsWidget::resizeEvent(event); | - | 
| 1276 | } | - | 
| 1277 |  | - | 
| 1278 |  | - | 
| 1279 |  | - | 
| 1280 |  | - | 
| 1281 | void QGraphicsProxyWidget::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) | - | 
| 1282 | { | - | 
| 1283 |     QGraphicsProxyWidgetPrivate * const d = d_func(); | - | 
| 1284 |     (void)widget;; | - | 
| 1285 |     if (!d->widget || !d->widget->isVisible()) | - | 
| 1286 |         return; | - | 
| 1287 |  | - | 
| 1288 |  | - | 
| 1289 |     const QRect exposedWidgetRect = (option->exposedRect & rect()).toAlignedRect(); | - | 
| 1290 |     if (exposedWidgetRect.isEmpty()) | - | 
| 1291 |         return; | - | 
| 1292 |  | - | 
| 1293 |     d->widget->render(painter, exposedWidgetRect.topLeft(), exposedWidgetRect); | - | 
| 1294 | } | - | 
| 1295 |  | - | 
| 1296 |  | - | 
| 1297 |  | - | 
| 1298 |  | - | 
| 1299 | int QGraphicsProxyWidget::type() const | - | 
| 1300 | { | - | 
| 1301 |     return Type; | - | 
| 1302 | } | - | 
| 1303 | QGraphicsProxyWidget *QGraphicsProxyWidget::createProxyForChildWidget(QWidget *child) | - | 
| 1304 | { | - | 
| 1305 |     QGraphicsProxyWidget *proxy = child->graphicsProxyWidget(); | - | 
| 1306 |     if (proxy) | - | 
| 1307 |         return proxy; | - | 
| 1308 |     if (!child->parentWidget()) { | - | 
| 1309 |         QMessageLogger(__FILE__, 15341566, __PRETTY_FUNCTION__).warning("QGraphicsProxyWidget::createProxyForChildWidget: top-level widget not in a QGraphicsScene"); | - | 
| 1310 |         return 0; | - | 
| 1311 |     } | - | 
| 1312 |  | - | 
| 1313 |     QGraphicsProxyWidget *parentProxy = createProxyForChildWidget(child->parentWidget()); | - | 
| 1314 |     if (!parentProxy) | - | 
| 1315 |         return 0; | - | 
| 1316 |  | - | 
| 1317 |     if (!QMetaObject::invokeMethod(parentProxy, "newProxyWidget", Qt::DirectConnection, | - | 
| 1318 |          QReturnArgument<QGraphicsProxyWidget* >("QGraphicsProxyWidget*", proxy), QArgument<const QWidget* >("const QWidget*", child))) | - | 
| 1319 |         return 0; | - | 
| 1320 |     proxy->setParent(parentProxy); | - | 
| 1321 |     proxy->setWidget(child); | - | 
| 1322 |     return proxy; | - | 
| 1323 | } | - | 
| 1324 | QGraphicsProxyWidget *QGraphicsProxyWidget::newProxyWidget(const QWidget *) | - | 
| 1325 | { | - | 
| 1326 |     return new QGraphicsProxyWidget(this); | - | 
| 1327 | } | - | 
| 1328 |  | - | 
| 1329 |  | - | 
| 1330 |  | - | 
| 1331 |  | - | 
| 1332 |  | - | 
 |  |  |