void HistogramView::setSelection(const QRect &rect,QItemSelectionModel::SelectionFlags flags)
{
    int rows = model()->rowCount(rootIndex());
    int columns = model()->columnCount(rootIndex());
    QModelIndex selectedIndex;

    for (int row=0; row<rows; ++row)
    {
        for (int column=1; column<columns; ++column)
        {
            QModelIndex index=model()->index(row,column,rootIndex());
            QRegion region=itemRegion(index);

            if (!region.intersected(rect).isEmpty())
                selectedIndex = index;
        }
    }
    if(selectedIndex.isValid())
        selections->select(selectedIndex,flags);
    else
    {
        QModelIndex noIndex;
        selections->select(noIndex,flags);
    }
}
Ejemplo n.º 2
0
void PieView::setSelection(const QRect &rect, QItemSelectionModel::SelectionFlags command)
{
    // Use content widget coordinates because we will use the itemRegion()
    // function to check for intersections.

    QRect contentsRect = rect.translated(
                            horizontalScrollBar()->value(),
                            verticalScrollBar()->value()).normalized();

    int rows = model()->rowCount(rootIndex());
    int columns = model()->columnCount(rootIndex());
    QModelIndexList indexes;

    for (int row = 0; row < rows; ++row) {
        for (int column = 0; column < columns; ++column) {
            QModelIndex index = model()->index(row, column, rootIndex());
            QRegion region = itemRegion(index);
            if (!region.intersect(contentsRect).isEmpty())
                indexes.append(index);
        }
    }

    if (indexes.size() > 0) {
        int firstRow = indexes[0].row();
        int lastRow = indexes[0].row();
        int firstColumn = indexes[0].column();
        int lastColumn = indexes[0].column();

        for (int i = 1; i < indexes.size(); ++i) {
            firstRow = qMin(firstRow, indexes[i].row());
            lastRow = qMax(lastRow, indexes[i].row());
            firstColumn = qMin(firstColumn, indexes[i].column());
            lastColumn = qMax(lastColumn, indexes[i].column());
        }

        QItemSelection selection(
            model()->index(firstRow, firstColumn, rootIndex()),
            model()->index(lastRow, lastColumn, rootIndex()));
        selectionModel()->select(selection, command);
    } else {
        QModelIndex noIndex;
        QItemSelection selection(noIndex, noIndex);
        selectionModel()->select(selection, command);
    }

    update();
}
int MoinLelaRequest::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
    _id = QObject::qt_metacall(_c, _id, _a);
    if (_id < 0)
        return _id;
    if (_c == QMetaObject::InvokeMetaMethod) {
        if (_id < 28)
            qt_static_metacall(this, _c, _id, _a);
        _id -= 28;
    }
#ifndef QT_NO_PROPERTIES
      else if (_c == QMetaObject::ReadProperty) {
        void *_v = _a[0];
        switch (_id) {
        case 0: *reinterpret_cast< bool*>(_v) = logged(); break;
        case 1: *reinterpret_cast< bool*>(_v) = active(); break;
        case 2: *reinterpret_cast< bb::cascades::DataModel**>(_v) = model(); break;
        case 3: *reinterpret_cast< QString*>(_v) = budget(); break;
        case 4: *reinterpret_cast< QString*>(_v) = service(); break;
        case 5: *reinterpret_cast< QString*>(_v) = quality(); break;
        case 6: *reinterpret_cast< QString*>(_v) = privacy(); break;
        case 7: *reinterpret_cast< QString*>(_v) = ambience(); break;
        case 8: *reinterpret_cast< QString*>(_v) = itemName(); break;
        case 9: *reinterpret_cast< QString*>(_v) = itemLabel(); break;
        case 10: *reinterpret_cast< QString*>(_v) = itemCountry(); break;
        case 11: *reinterpret_cast< QString*>(_v) = itemRegion(); break;
        case 12: *reinterpret_cast< QString*>(_v) = itemZipcode(); break;
        case 13: *reinterpret_cast< QString*>(_v) = itemTown(); break;
        case 14: *reinterpret_cast< QString*>(_v) = itemAddress(); break;
        case 15: *reinterpret_cast< QString*>(_v) = itemPhone(); break;
        case 16: *reinterpret_cast< QString*>(_v) = itemMobile(); break;
        }
        _id -= 17;
    } else if (_c == QMetaObject::WriteProperty) {
        void *_v = _a[0];
        switch (_id) {
        case 3: setBudget(*reinterpret_cast< QString*>(_v)); break;
        case 4: setService(*reinterpret_cast< QString*>(_v)); break;
        case 5: setQuality(*reinterpret_cast< QString*>(_v)); break;
        case 6: setPrivacy(*reinterpret_cast< QString*>(_v)); break;
        case 7: setAmbience(*reinterpret_cast< QString*>(_v)); break;
        case 8: setItemName(*reinterpret_cast< QString*>(_v)); break;
        case 9: setItemLabel(*reinterpret_cast< QString*>(_v)); break;
        case 10: setItemCountry(*reinterpret_cast< QString*>(_v)); break;
        case 11: setItemRegion(*reinterpret_cast< QString*>(_v)); break;
        case 12: setItemZipcode(*reinterpret_cast< QString*>(_v)); break;
        case 13: setItemTown(*reinterpret_cast< QString*>(_v)); break;
        case 14: setItemAddress(*reinterpret_cast< QString*>(_v)); break;
        case 15: setItemPhone(*reinterpret_cast< QString*>(_v)); break;
        case 16: setItemMobile(*reinterpret_cast< QString*>(_v)); break;
        }
        _id -= 17;
    } else if (_c == QMetaObject::ResetProperty) {
        _id -= 17;
    } else if (_c == QMetaObject::QueryPropertyDesignable) {
        _id -= 17;
    } else if (_c == QMetaObject::QueryPropertyScriptable) {
        _id -= 17;
    } else if (_c == QMetaObject::QueryPropertyStored) {
        _id -= 17;
    } else if (_c == QMetaObject::QueryPropertyEditable) {
        _id -= 17;
    } else if (_c == QMetaObject::QueryPropertyUser) {
        _id -= 17;
    }
#endif // QT_NO_PROPERTIES
    return _id;
}