diff options
-rw-r--r-- | examples/scriptableapplication/mainwindow.cpp | 14 | ||||
-rw-r--r-- | examples/scriptableapplication/mainwindow.h | 3 |
2 files changed, 17 insertions, 0 deletions
diff --git a/examples/scriptableapplication/mainwindow.cpp b/examples/scriptableapplication/mainwindow.cpp index ece7989e7..5dc6fd7f0 100644 --- a/examples/scriptableapplication/mainwindow.cpp +++ b/examples/scriptableapplication/mainwindow.cpp @@ -5,6 +5,7 @@ #include "pythonutils.h" #include <QtWidgets/QApplication> +#include <QtWidgets/QLabel> #include <QtWidgets/QMenu> #include <QtWidgets/QMenuBar> #include <QtWidgets/QPlainTextEdit> @@ -15,6 +16,7 @@ #include <QtGui/QAction> #include <QtGui/QFontDatabase> #include <QtGui/QIcon> +#include <QtGui/QTextCursor> #include <QtCore/QDebug> #include <QtCore/QTextStream> @@ -69,6 +71,11 @@ MainWindow::MainWindow() m_scriptEdit->setFont(QFontDatabase::systemFont(QFontDatabase::FixedFont)); setCentralWidget(m_scriptEdit); + m_lineNumberLabel = new QLabel; + statusBar()->addPermanentWidget(m_lineNumberLabel, 0); + connect(m_scriptEdit, &QPlainTextEdit::cursorPositionChanged, + this, &MainWindow::slotCursorChanged); + if (!PythonUtils::bindAppObject("__main__"_L1, "mainWindow"_L1, PythonUtils::MainWindowType, this)) { statusBar()->showMessage(tr("Error loading the application module")); @@ -105,3 +112,10 @@ void MainWindow::testFunction1() qDebug().noquote() << message; statusBar()->showMessage(message); } + +void MainWindow::slotCursorChanged() +{ + auto cursor = m_scriptEdit->textCursor(); + const int line = cursor.blockNumber() + 1; + m_lineNumberLabel->setText("Line: "_L1 + QString::number(line)); +} diff --git a/examples/scriptableapplication/mainwindow.h b/examples/scriptableapplication/mainwindow.h index e72f5ca72..98af12eb5 100644 --- a/examples/scriptableapplication/mainwindow.h +++ b/examples/scriptableapplication/mainwindow.h @@ -6,6 +6,7 @@ #include <QtWidgets/QMainWindow> +QT_FORWARD_DECLARE_CLASS(QLabel) QT_FORWARD_DECLARE_CLASS(QPlainTextEdit) class MainWindow : public QMainWindow @@ -19,6 +20,7 @@ public: static constexpr auto TEST = QLatin1StringView("test"); private Q_SLOTS: + void slotCursorChanged(); void slotRunScript(); void slotPrintDiagnostics(); @@ -26,6 +28,7 @@ private: void runScript(const QString &); QPlainTextEdit *m_scriptEdit; + QLabel *m_lineNumberLabel; }; #endif // MAINWINDOW_H |