WSF
TextLocationItemModel.hpp
Go to the documentation of this file.
1// ****************************************************************************
2// CUI
3//
4// The Advanced Framework for Simulation, Integration, and Modeling (AFSIM)
5//
6// Copyright 2003-2015 The Boeing Company. All rights reserved.
7//
8// The use, dissemination or disclosure of data in this file is subject to
9// limitation or restriction. See accompanying README and LICENSE for details.
10// ****************************************************************************
11#ifndef TEXTLOCATIONITEMMODEL_HPP
12#define TEXTLOCATIONITEMMODEL_HPP
13
14#include <QAbstractListModel>
15#include <QString>
16#include <QVariant>
17#include <UtTextDocument.hpp>
18
19#include "ViExport.hpp"
20
21namespace wizard
22{
23class Project;
24class TextSource;
25
28{
29public:
30 QVariant TranslateLocation(const UtTextDocumentRange& aRange, int aRole) const;
31 QVariant TranslateText(const UtTextDocumentRange& aRange, int aRole) const;
32};
33
37class VI_EXPORT TextLocationItemModel : public QAbstractTableModel
38{
39 Q_OBJECT
40
41public:
42 explicit TextLocationItemModel(const std::vector<UtTextDocumentAutoUpdateRange>& aLocationList);
43 explicit TextLocationItemModel(const std::vector<UtTextDocumentRange>& aLocationList);
44 int rowCount(const QModelIndex& parent /* = QModelIndex */) const override
45 {
46 if (parent.isValid())
47 {
48 return 0;
49 } // no nesting
50 return (int)mLocations.size();
51 }
52 int columnCount(const QModelIndex& parent) const override { return mShowText ? 2 : 1; }
53 QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const override;
54 QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const override;
55
56 const std::vector<UtTextDocumentAutoUpdateRange>& GetLocations() const;
57
61
62public slots:
63
64 void SourceCleanupEligibility(QSet<TextSource*>& aEligibleSources);
66
67protected:
68 std::vector<UtTextDocumentAutoUpdateRange> mLocations;
69};
70} // namespace wizard
71
72#endif
#define VI_EXPORT
Definition ViExport.hpp:38
Handles converting a UtTextDocumentRange to items in Qt views.
Definition TextLocationItemModel.hpp:28
QVariant TranslateText(const UtTextDocumentRange &aRange, int aRole) const
Definition TextLocationItemModel.cpp:38
QVariant TranslateLocation(const UtTextDocumentRange &aRange, int aRole) const
Definition TextLocationItemModel.cpp:19
A WSF 'project'. Manages WSF sources files in a WSF project.
Definition Project.hpp:66
TextLocationItemModel(const std::vector< UtTextDocumentAutoUpdateRange > &aLocationList)
Definition TextLocationItemModel.cpp:117
void ProjectClosed(Project *)
Definition TextLocationItemModel.cpp:138
int columnCount(const QModelIndex &parent) const override
Definition TextLocationItemModel.hpp:52
ItemTranslateTextRange mTextRangeToItem
Definition TextLocationItemModel.hpp:58
int rowCount(const QModelIndex &parent) const override
Definition TextLocationItemModel.hpp:44
bool mShowText
When 'true', the model contains a second column containing the line text.
Definition TextLocationItemModel.hpp:60
std::vector< UtTextDocumentAutoUpdateRange > mLocations
Definition TextLocationItemModel.hpp:68
void SourceCleanupEligibility(QSet< TextSource * > &aEligibleSources)
Definition TextLocationItemModel.cpp:108
Definition TextSource.hpp:48
Definition Runner.hpp:22
Copyrights Multiple, All Rights Reserved