WSF
WsfTextPreview.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 WSFTEXTPREVIEW_HPP
12#define WSFTEXTPREVIEW_HPP
13
14#include <QPlainTextEdit>
15
16#include "TextStyler.hpp"
17#include "UtCallback.hpp"
18#include "UtTextDocument.hpp"
19#include "ViExport.hpp"
20
21
22namespace wizard
23{
24class Project;
25
27class VI_EXPORT WsfTextPreview : public QPlainTextEdit, public TextStyler
28{
29public:
30 explicit WsfTextPreview(QWidget* aParent);
31 ~WsfTextPreview() override;
32
33 void SetText(Project* aProjectPtr, UtTextDocumentRange aRange);
34
35 void HighlightRange(UtTextRange& aRange);
36 void HighlightLine(size_t aLine);
37 QSize sizeHint() const override;
38 void SetTextFormat(size_t aStart, size_t aCount, const QTextCharFormat& aFmt) override;
39 void MergeTextFormat(size_t aStart, size_t aCount, const QTextCharFormat& aFmt) override;
40
41private:
42 void SetTextResolve();
43
44 void UpdateStyle();
45 void ApplyHighlight();
46
47 void SetScenario(Project* aProjectPtr);
48 UtCallbackN<void()>* mParseCompleteCallbackPtr;
49 bool mStyleComplete;
50 Project* mProjectPtr;
51 UtTextDocumentRange mRange;
52 UtTextRange mHighlightRange;
53 size_t mHighlightLine;
54 std::vector<QTextCharFormat> mFormatChanges;
55 // Make sure we don't reenter StyleLines()
56};
57} // namespace wizard
58
59#endif
#define VI_EXPORT
Definition ViExport.hpp:38
A WSF 'project'. Manages WSF sources files in a WSF project.
Definition Project.hpp:66
Definition TextStyler.hpp:21
void SetText(Project *aProjectPtr, UtTextDocumentRange aRange)
Definition WsfTextPreview.cpp:52
void HighlightRange(UtTextRange &aRange)
Definition WsfTextPreview.cpp:130
void MergeTextFormat(size_t aStart, size_t aCount, const QTextCharFormat &aFmt) override
Definition WsfTextPreview.cpp:177
void HighlightLine(size_t aLine)
Definition WsfTextPreview.cpp:154
void SetTextFormat(size_t aStart, size_t aCount, const QTextCharFormat &aFmt) override
Definition WsfTextPreview.cpp:168
QSize sizeHint() const override
Definition WsfTextPreview.cpp:163
WsfTextPreview(QWidget *aParent)
Definition WsfTextPreview.cpp:22
Definition Runner.hpp:22
Copyrights Multiple, All Rights Reserved