void visit(QList<QGraphicsItem *> *items)
 {
     for (int i = 0; i < items->size(); ++i) {
         QGraphicsItem *item = items->at(i);
         if (onlyTopLevelItems && item->d_ptr->parent)
             item = item->topLevelItem();
         if (!item->d_func()->itemDiscovered && item->d_ptr->visible) {
             item->d_func()->itemDiscovered = 1;
             foundItems->prepend(item);
         }
     }
 }
示例#2
0
void SnapshotCanvas::contextMenuEvent(QContextMenuEvent *event)
{
    QGraphicsItem *item = itemAt(event->pos());
    if (item && item != m_pixmapItem) {
        deselectItems();
        item = item->topLevelItem();
        item->setSelected(true);
        if (item == m_zIndexList.last()) {
            m_contextMenu->actions().at(0)->setEnabled(false);
        } else {
            m_contextMenu->actions().at(0)->setEnabled(true);
        }
        if (item == m_zIndexList.first()) {
            m_contextMenu->actions().at(1)->setEnabled(false);
        } else {
            m_contextMenu->actions().at(1)->setEnabled(true);
        }
        m_contextMenu->exec(event->globalPos());
    }
}