File indexing completed on 2024-05-12 04:38:06
0001 /* 0002 SPDX-FileCopyrightText: 2010 David Nolden <david.nolden.kdevelop@art-master.de> 0003 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #ifndef KDEVPLATFORM_PERSISTENTMOVINGRANGEPRIVATE_H 0008 #define KDEVPLATFORM_PERSISTENTMOVINGRANGEPRIVATE_H 0009 0010 #include <backgroundparser/documentchangetracker.h> 0011 #include <KTextEditor/MovingRange> 0012 #include <QObject> 0013 #include <QCoreApplication> 0014 0015 namespace KDevelop { 0016 class PersistentMovingRangePrivate 0017 : public QObject 0018 { 0019 Q_OBJECT 0020 0021 public: 0022 PersistentMovingRangePrivate() { moveToThread(QCoreApplication::instance()->thread()); } 0023 0024 void connectTracker(); 0025 0026 bool m_valid = false; 0027 bool m_shouldExpand = false; 0028 KTextEditor::Range m_range; 0029 IndexedString m_document; 0030 KTextEditor::Attribute::Ptr m_attribte; 0031 KTextEditor::MovingRange* m_movingRange = nullptr; 0032 QPointer<DocumentChangeTracker> m_tracker; 0033 float m_zDepth = 0; 0034 0035 void updateRangeFromMoving() 0036 { 0037 if (m_movingRange) { 0038 m_range = m_movingRange->toRange(); 0039 } 0040 } 0041 0042 private Q_SLOTS: 0043 void aboutToDeleteMovingInterfaceContent(); 0044 void aboutToInvalidateMovingInterfaceContent(); 0045 }; 0046 } 0047 0048 #endif // KDEVPLATFORM_PERSISTENTMOVINGRANGEPRIVATE_H