Skip to content

Commit

Permalink
- Start the line numbers of sub models from where they actually start…
Browse files Browse the repository at this point in the history
…s in file.

git-svn-id: https://openmodelica.org/svn/OpenModelica/trunk@25531 f25d12d1-65f4-0310-ae8a-bbce733d8d8e
  • Loading branch information
adeas31 committed Apr 13, 2015
1 parent 1417f82 commit 1d39a03
Showing 1 changed file with 18 additions and 2 deletions.
20 changes: 18 additions & 2 deletions OMEdit/OMEditGUI/Editors/BaseEditor.cpp
Expand Up @@ -97,7 +97,12 @@ void BaseEditor::PlainTextEdit::lineNumberAreaPaintEvent(QPaintEvent *event)
while (block.isValid() && top <= event->rect().bottom()) {
/* paint line numbers */
if (block.isVisible() && bottom >= event->rect().top()) {
QString number = QString::number(blockNumber + 1);
QString number;
if (mpBaseEditor->getModelWidget()) {
number = QString::number(blockNumber + mpBaseEditor->getModelWidget()->getLibraryTreeNode()->getClassInformation().lineNumberStart);
} else {
number = QString::number(blockNumber + 1);
}
// make the current highlighted line number darker
if (blockNumber == textCursor().blockNumber()) {
painter.setPen(QColor(64, 64, 64));
Expand Down Expand Up @@ -173,6 +178,11 @@ void BaseEditor::PlainTextEdit::lineNumberAreaMouseEvent(QMouseEvent *event)
*/
void BaseEditor::PlainTextEdit::goToLineNumber(int lineNumber)
{
if (mpBaseEditor->getModelWidget()) {
int lineNumberStart = mpBaseEditor->getModelWidget()->getLibraryTreeNode()->getClassInformation().lineNumberStart;
int lineNumberDifferenceFromStart = lineNumberStart - 1;
lineNumber -= lineNumberDifferenceFromStart;
}
const QTextBlock &block = document()->findBlockByNumber(lineNumber - 1); // -1 since text index start from 0
if (block.isValid()) {
QTextCursor cursor(block);
Expand Down Expand Up @@ -882,7 +892,13 @@ GotoLineDialog::GotoLineDialog(BaseEditor *pBaseEditor)
//! Reimplementation of QDialog::exec
int GotoLineDialog::exec()
{
mpLineNumberLabel->setText(tr("Enter line number (1 to %1):").arg(QString::number(mpBaseEditor->getPlainTextEdit()->blockCount())));
if (mpBaseEditor->getModelWidget()) {
int lineNumberStart = mpBaseEditor->getModelWidget()->getLibraryTreeNode()->getClassInformation().lineNumberStart;
mpLineNumberLabel->setText(tr("Enter line number (%1 to %2):").arg(QString::number(lineNumberStart))
.arg(QString::number(mpBaseEditor->getPlainTextEdit()->blockCount() + lineNumberStart - 1)));
} else {
mpLineNumberLabel->setText(tr("Enter line number (1 to %1):").arg(QString::number(mpBaseEditor->getPlainTextEdit()->blockCount())));
}
QIntValidator *intValidator = new QIntValidator(this);
intValidator->setRange(1, mpBaseEditor->getPlainTextEdit()->blockCount());
mpLineNumberTextBox->setValidator(intValidator);
Expand Down

0 comments on commit 1d39a03

Please sign in to comment.