def mouseReleaseEvent(self, event):
        # Handle Modifier+MouseClick box behavior
        if self.boxing:
            # Blocking the scene's signals insures only a single selectionChanged
            # gets emitted at the very end.  This was necessary since the way I
            # have written the property widget appears to freak out when refreshing
            # twice instantaneously (see MainWindow's constructor for additional details).
            nodesInHitBox = [x for x in self.items(QtCore.QRect(self.modifierBoxOrigin, event.pos()).normalized()) if type(x) is DrawNode]
            self.scene().blockSignals(True)
            for drawNode in nodesInHitBox:
                drawNode.setSelected(not drawNode.isSelected())
            self.scene().blockSignals(False)
            self.scene().selectionChanged.emit()
            self.modifierBox.hide()
            self.boxing = False
        QtGui.QGraphicsView.mouseReleaseEvent(self, event)
For GEOS routines that return geometries from an index.
dataset/ETHPy150Open andrew-gardner/dependsworkflow/depends/depends_graphics_widgets.py/GraphicsViewWidget.mouseReleaseEvent--crossover with--dataset/ETHPy150Open CollabQ/CollabQ/vendor/django/contrib/gis/geos/prototypes/geom.py/geom_index