Ejemplo n.º 1
0
void CadGraphicsView::selectWindow()
{
    /**
     * while dragging from left to right entities will be selected if they lie
     * completely inside the selection area whereas while dragging from right
     * to left all those entities will be selected whose bounding rect
     * intersects with the selection area.
     */
    if (!scene->isInvertedSelection)
        setRubberBandSelectionMode(Qt::ContainsItemShape);
    else
        setRubberBandSelectionMode(Qt::IntersectsItemShape);

    cursorMode();
}
Ejemplo n.º 2
0
ClsSceneView::ClsSceneView(QWidget* _parent) : QGraphicsView(_parent) {
#ifdef DEBUG_CLSQDIAGRAMCANVASVIEW
    cout << "ClsSceneView::ClsSceneView(QWidget* parent,const char* name)" << endl;
#endif
    setLineWidth( 1 );
    setDragMode (QGraphicsView::RubberBandDrag);
    setRubberBandSelectionMode(Qt::ContainsItemShape);


}
Ejemplo n.º 3
0
PianoView::PianoView()
   : QGraphicsView()
      {
      setFrameStyle(QFrame::NoFrame);
      setLineWidth(0);
      setMidLineWidth(0);
      setScene(new QGraphicsScene);
      setTransformationAnchor(QGraphicsView::AnchorUnderMouse);
      setResizeAnchor(QGraphicsView::AnchorUnderMouse);
      setMouseTracking(true);
      setRubberBandSelectionMode(Qt::IntersectsItemBoundingRect);
      setDragMode(QGraphicsView::RubberBandDrag);
      _timeType = TType::TICKS;
      magStep   = 0;
      staff     = 0;
      chord     = 0;
      }
Ejemplo n.º 4
0
BasicGraphicsView::BasicGraphicsView(QWidget *parent)
    : GraphicsView(parent)
{
    m_appGraphicsScene = new UndoRedoGraphicsScene;
    m_appGraphicsScene->setSceneRect(-300, -300, 600, 600);
    setScene(m_appGraphicsScene);

    horizontalScrollBar()->setContextMenuPolicy(Qt::NoContextMenu);
    verticalScrollBar()->setContextMenuPolicy(Qt::NoContextMenu);

    //setBackgroundBrush(QBrush(Qt::lightGray, Qt::CrossPattern));

    setRenderHint(QPainter::Antialiasing);

    setInteractive(true);
    setDragMode(RubberBandDrag);
    setRubberBandSelectionMode(Qt::ContainsItemShape);
}
Ejemplo n.º 5
0
HPiano::HPiano(QWidget* parent)
    : QGraphicsView(parent)
{
    setLineWidth(0);
    setMidLineWidth(0);

    setScene(new QGraphicsScene);
    setTransformationAnchor(QGraphicsView::AnchorUnderMouse);
    setResizeAnchor(QGraphicsView::AnchorUnderMouse);
    setMouseTracking(true);
    setRubberBandSelectionMode(Qt::IntersectsItemBoundingRect);
    setDragMode(QGraphicsView::RubberBandDrag);
    setMaximumSize(QSize(KEY_WIDTH * 52+8, KEY_HEIGHT+8+80));
    setMinimumSize(QSize(100, KEY_HEIGHT+8));

    scene()->setSceneRect(0.0, 0.0, KEY_WIDTH * 52, KEY_HEIGHT);

    _firstKey   = 21;
    _lastKey    = 108;   // 88 key piano
    _currentKey = -1;
    qreal x = 0.0;
    for (int i = _firstKey; i <= _lastKey; ++i) {
        PianoKeyItem* k = new PianoKeyItem(this, i);
        switch(i % 12) {
        case  0:
        case  5:
            k->setType(i == _lastKey ? 6 : 0);
            k->setPos(x, 0);
            x += KEY_WIDTH;
            break;

        case  2:
            k->setType(1);
            k->setPos(x, 0);
            x += KEY_WIDTH;
            break;
        case  4:
        case 11:
            k->setType(2);
            k->setPos(x, 0);
            x += KEY_WIDTH;
            break;

        case  7:
            k->setType(3);
            k->setPos(x, 0);
            x += KEY_WIDTH;
            break;

        case  9:
            k->setType(i == _firstKey ? 5 : 4);
            k->setPos(x, 0);
            x += KEY_WIDTH;
            break;

        case  1:
        case  6:
            k->setType(7);
            k->setPos(x - BKEY_WIDTH * 5/9, 0);
            break;
        case  3:
        case 10:
            k->setType(7);
            k->setPos(x - BKEY_WIDTH * 4/9, 0);
            break;
        case 8:
            k->setType(7);
            k->setPos(x - BKEY_WIDTH / 2.0, 0);
            break;
        }
        keys.append(k);
        scene()->addItem(k);
    }
}