void MarkListTable::select( int i ) { if ( i < 0 || i >= (signed) items.count() || i == sel ) return ; MarkListTableItem *it = items.at( i ); if ( sel != -1 ) { items.at( sel )->setSelect( FALSE ); updateCell( sel, 0 ); updateCell( sel, 1 ); //updateCell( sel, 2 ); } it->setSelect( TRUE ); sel = i; updateCell( i, 0 ); updateCell( i, 1 ); //updateCell( i, 2 ); emit selected( i ); emit selected( it->text() ); if ( ( i<=0 || rowIsVisible( i-1 ) ) && ( i>= (signed) items.count()-1 || rowIsVisible( i+1 ) ) ) return; setTopCell( QMAX( 0, i - viewHeight()/cellHeight()/2 ) ); }
/** * Override QMultiLineEdit to performe traversal. * * @param keyEvent key event to handle */ void TextViewer::keyPressEvent(QKeyEvent *key) { int k = key->key(); if ((k == Qt::Key_Up && rowIsVisible(0)) || (k == Qt::Key_Down && rowIsVisible(numRows() - 1)) || (k == Qt::Key_Tab)) { parentWidget()->setFocus(); } else { QMultiLineEdit::keyPressEvent(key); } }
void DiffView::setCenterOffset(int offset) { if (!rowIsVisible(offset)) { int visiblerows = viewHeight()/cellHeight(0); setTopCell( qMax(0, offset - visiblerows/2) ); } }
/** * Override QMultiLineEdit to notify Java peer of traversal out. * * @param keyEvent key event to handle */ void TextFieldBody::keyPressEvent(QKeyEvent *key) { int k = key->key(); // always handle select event because it switches // between the modal and non-modal modes #ifdef QT_KEYPAD_MODE if (k == Qt::Key_Select) { QMultiLineEdit::keyPressEvent(key); } else if (isModalEditing()) { #endif if (isReadOnly()) { if ((k == Qt::Key_Up && rowIsVisible(0)) || (k == Qt::Key_Down && rowIsVisible(numRows() - 1))) { PlatformMScreen * mscreen = PlatformMScreen::getMScreen(); mscreen->keyPressEvent(key); } else { QMultiLineEdit::keyPressEvent(key); } } else { int line; int col; QMultiLineEdit::getCursorPosition(&line, &col); if ((k == Qt::Key_Up && line == 0) || (k == Qt::Key_Down && (line == numLines() - 1))){ PlatformMScreen * mscreen = PlatformMScreen::getMScreen(); mscreen->keyPressEvent(key); } else { QMultiLineEdit::keyPressEvent(key); } } #ifdef QT_KEYPAD_MODE } else { // not handle events while it's in not modal state key->ignore(); } #endif }