aboutsummaryrefslogtreecommitdiffstats
path: root/examples/quick/quickwidgets/qmlpreviewer/widgets/linenumberarea.cpp
diff options
context:
space:
mode:
authorMohammadHossein Qanbari <mohammad.qanbari@qt.io>2024-08-23 17:12:51 +0200
committerMohammadHossein Qanbari <mohammad.qanbari@qt.io>2024-09-02 22:46:58 +0200
commit8330154be6401569450b97512b6718b0f31d6eaf (patch)
treefc7736297b321a2592dcaf59f7e7e1edc7cbe8fe /examples/quick/quickwidgets/qmlpreviewer/widgets/linenumberarea.cpp
parent2f9e1e55766af3123189ccddbfa63139ecf53fec (diff)
QML Previewer Example: Add Error List and Line Numbers
Implement LineNumberArea to display line numbers, based on the Code Editor Example documentation. Introduce QListView with ErrorListModel to show errors and warnings. Double-clicking an error in the list moves the code editor's cursor to the corresponding position. Update shortcut functionality to work only on platforms where the feature is available. Related code has been modified accordingly. Fixes: QTBUG-128227 Pick-to: 6.8 Change-Id: Icb66280a5360b015280afc756f8a827247a2ebaf Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
Diffstat (limited to 'examples/quick/quickwidgets/qmlpreviewer/widgets/linenumberarea.cpp')
-rw-r--r--examples/quick/quickwidgets/qmlpreviewer/widgets/linenumberarea.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/examples/quick/quickwidgets/qmlpreviewer/widgets/linenumberarea.cpp b/examples/quick/quickwidgets/qmlpreviewer/widgets/linenumberarea.cpp
new file mode 100644
index 0000000000..fba36d2b2e
--- /dev/null
+++ b/examples/quick/quickwidgets/qmlpreviewer/widgets/linenumberarea.cpp
@@ -0,0 +1,20 @@
+// Copyright (C) 2024 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
+
+#include "linenumberarea.h"
+#include "codeeditor.h"
+
+LineNumberArea::LineNumberArea(CodeEditor *editor)
+ : QWidget{editor}
+ , m_codeEditor{editor}
+{}
+
+QSize LineNumberArea::sizeHint() const
+{
+ return QSize{m_codeEditor->lineNumberAreaWidth(), 0};
+}
+
+void LineNumberArea::paintEvent(QPaintEvent *event)
+{
+ m_codeEditor->lineNumberAreaPaintEvent(event);
+}