void TextEdit::select_cur_line()
{
    if(-1 != curHighlightRow)
    {
        int goLineIndex = highLightRows.indexOf(curHighlightRow);
        if(goLineIndex < highLightRows.size())
            go_to_line(curHighlightRow);
    }
}
void TextEdit::go_to_previous_row()
{
    if(-1 == curHighlightRow)
        return;

    int goLineIndex = highLightRows.indexOf(curHighlightRow)-1;
    if(goLineIndex >= 0)
    {
        curHighlightRow = highLightRows[goLineIndex];
        go_to_line(curHighlightRow);
        /*
        QDesktopWidget* desktopWidget = QApplication::desktop();
        //得到客户区矩形
        QRect clientRect = desktopWidget->availableGeometry();
        //得到应用程序矩形
        //QRect applicationRect = desktopWidget->screenGeometry();
        int height = clientRect.height();
        //int height = applicationRect.height();
        qDebug() << height;
        textEdit->verticalScrollBar()->setValue(textEdit->verticalScrollBar()->value() - height/2);
        */
    }
}
Exemple #3
0
void BasicStream::init(size_t start, size_t end) {

  _start = start;
  _end = end;
  _line_number = _start;

  // Read from normal file
  if (_fs.is_open())
    _fs.close();

  _fs.open(DataStream::_filename.c_str());

  if (!_fs.is_open())
    throw std::runtime_error(RED_ERROR + "Cannot load file: " + DataStream::_filename);

  if (DataStream::_size == 0)
    DataStream::_size = count_lines(DataStream::_filename);

  go_to_line(_fs, _start);

  _end = min(DataStream::_size, _end);
  DataStream::_size = min(DataStream::_size, _end - _start);
}
Exemple #4
0
void BasicStream::rewind() {
  _fs.clear();
  go_to_line(_fs, _start);
  _line_number = _start;
}