Esempio n. 1
0
void OCamlSource::mousePressEvent ( QMouseEvent * e )
{
    QTextCursor current_cur = textCursor();
    QTextCursor cur = cursorForPosition( e->pos() );
    if ( current_cur.hasSelection() )
        cur = current_cur;

    _breakpoint_line   = cur.blockNumber() + 1;
    _breakpoint_column = cur.position() - cur.block().position() + 1;
    if ( ! cur.hasSelection() )
    {
        cur.select(QTextCursor::WordUnderCursor);
        setTextCursor(cur);
    }
    _selected_text = cur.selectedText();
    if ( e->button() == Qt::LeftButton )
    {
        lineSearchArea->hide();
        lineSearchArea->setEnabled(false);
        setFocus();
    }

    if ( e->button() == Qt::MidButton )
    {
        watchVar();
    }
    else
        QPlainTextEdit::mousePressEvent(e);
}
Esempio n. 2
0
void VariableWidget::slotAddWatchExpression()
{
    QString watchVar(watchVarEditor_->currentText());
    if (!watchVar.isEmpty()) {
        slotAddWatchExpression(watchVar);
    }
}
Esempio n. 3
0
void OCamlSource::contextMenuEvent( QContextMenuEvent *event )
{
    QTextCursor current_cur = textCursor();
    QTextCursor mouse_position = cursorForPosition( event->pos() );
    QTextCursor cur = mouse_position;
    if ( current_cur.hasSelection() )
        cur = current_cur;

    _breakpoint_line   = mouse_position.blockNumber() + 1;
    _breakpoint_column = mouse_position.position() - mouse_position.block().position() + 1;
    if ( ! cur.hasSelection() )
    {
        cur.select(QTextCursor::WordUnderCursor);
        setTextCursor(cur);
    }
    _selected_text = cur.selectedText();

    QAction *breakAct = new QAction( tr( "&Set Breakpoint at line %1 column %2" )
            .arg( QString::number(mouse_position.blockNumber()+1))
            .arg( QString::number(mouse_position.columnNumber()+1))
            , this );
    breakAct->setStatusTip( tr( "Set a breakpoint to the current location" ) );
    connect( breakAct, SIGNAL( triggered() ), this, SLOT( newBreakpoint() ) );

    QAction *displayAct = NULL;
    if ( cur.hasSelection() )
    {
        displayAct = new QAction( tr( "&Display '%1'" )
                .arg( _selected_text )
                , this );
        connect( displayAct, SIGNAL( triggered() ), this, SLOT( displayVar() ) );
    }

    QAction *printAct = NULL;
    if ( cur.hasSelection() )
    {
        printAct = new QAction( tr( "&Print '%1'" )
                .arg( _selected_text )
                , this );
        connect( printAct, SIGNAL( triggered() ), this, SLOT( printVar() ) );
    }
    QAction *watchAct = NULL;
    if ( cur.hasSelection() )
    {
        watchAct = new QAction( tr( "&Watch '%1'" )
                .arg( _selected_text )
                , this );
        connect( watchAct, SIGNAL( triggered() ), this, SLOT( watchVar() ) );
    }

    QMenu *menu = createStandardContextMenu();

    menu->addAction( breakAct );
    if (displayAct)
        menu->addAction( displayAct );
    if (printAct)
        menu->addAction( printAct );
    if (watchAct)
        menu->addAction( watchAct );
    menu->exec( event->globalPos() );

    delete breakAct;
    if (displayAct)
        delete displayAct;
    if (printAct)
        delete printAct;
    if (watchAct)
        delete watchAct;
    delete menu;
}