WSF
SyntaxTips.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
12#ifndef SYNTAXTIPS_HPP
13#define SYNTAXTIPS_HPP
14#include <QLabel>
15#include <QTimer>
16#include <QWidget>
17
18#include "UtCallback.hpp"
19#include "UtCallbackHolder.hpp"
20#include "UtTextDocument.hpp"
21
22class QLabel;
23
24namespace wizard
25{
26class Project;
27class WsfEditor;
28class WsfScriptLookup;
29
31class SyntaxTips : public QWidget
32{
33public:
34 explicit SyntaxTips(WsfEditor* aEditControlPtr);
35 ~SyntaxTips() override;
36 void ParseUpdate(bool aParseUpdate);
37
38 void ClearLabels();
39 void HoverShow(size_t aCharOffset);
40 void EndHoverShow();
41 void UserModification();
42 void CursorMove();
43 void Hide();
44 QRect GetGeometry();
45
46protected:
48 void UpdateScriptTips();
49 void CheckSizeChange();
50 void paintEvent(QPaintEvent*) override;
51 bool UpdateSuggestions(size_t aCharacterOffset);
52 void HoverCheck();
53 void UpdateWindow(size_t aCursorOffset);
54 void UpdateScenario();
55 void resizeEvent(QResizeEvent*) override;
57
58 // Values for mEditShow:
59 // 0: no edits, no show
60 // 1: pending edits, waiting for parse
61 // 2: edits, showing
65
66 UtCallbackHolder mCallbacks;
67
68 QLabel* mLabel;
70
71 UtTextRange mCommandExtent;
74 std::unique_ptr<UtCallback> mParseUpdateCallbackPtr{nullptr};
75 // std::vector<QLabel*> mLabels;
76
80};
81} // namespace wizard
82#endif
A WSF 'project'. Manages WSF sources files in a WSF project.
Definition Project.hpp:66
void UpdateWindow(size_t aCursorOffset)
Definition SyntaxTips.cpp:98
bool UpdateSuggestions(size_t aCharacterOffset)
Definition SyntaxTips.cpp:145
void CheckSizeChange()
Definition SyntaxTips.cpp:457
void UpdateScriptTips()
Definition SyntaxTips.cpp:492
~SyntaxTips() override
Definition SyntaxTips.cpp:64
void ParseUpdate(bool aParseUpdate)
Definition SyntaxTips.cpp:70
void HoverShow(size_t aCharOffset)
Definition SyntaxTips.cpp:366
UtTextRange mCommandExtent
Definition SyntaxTips.hpp:71
void CursorMove()
Definition SyntaxTips.cpp:430
QRect mPreviousRect
Definition SyntaxTips.hpp:73
void HoverCheck()
Definition SyntaxTips.cpp:388
QLabel * mLabel
Definition SyntaxTips.hpp:68
QTimer mHoverMaintainTimer
Definition SyntaxTips.hpp:72
void EndHoverShow()
Definition SyntaxTips.cpp:405
void UpdateScenario()
Updates the ParseUpdated callback if the scenario has changed.
Definition SyntaxTips.cpp:483
int mEditShow
Definition SyntaxTips.hpp:62
Project * getProject()
Definition SyntaxTips.cpp:514
UtCallbackHolder mCallbacks
Definition SyntaxTips.hpp:66
void UserModification()
Definition SyntaxTips.cpp:415
QTimer mCursorMoveUpdateTimer
Definition SyntaxTips.hpp:79
std::unique_ptr< UtCallback > mParseUpdateCallbackPtr
Definition SyntaxTips.hpp:74
void Hide()
Definition SyntaxTips.cpp:449
void resizeEvent(QResizeEvent *) override
Definition SyntaxTips.cpp:501
void ClearLabels()
Definition SyntaxTips.cpp:121
QSize mPreviousSize
Definition SyntaxTips.hpp:69
SyntaxTips(WsfEditor *aEditControlPtr)
Definition SyntaxTips.cpp:34
WsfEditor * mEditControlPtr
Definition SyntaxTips.hpp:56
bool mHoverShow
Definition SyntaxTips.hpp:63
size_t mHoverCharacterOffset
Definition SyntaxTips.hpp:64
void paintEvent(QPaintEvent *) override
Definition SyntaxTips.cpp:355
bool mNeedScriptUpdateOnCursorMove
Definition SyntaxTips.hpp:78
WsfScriptLookup * mScriptLookupPtr
Definition SyntaxTips.hpp:77
QRect GetGeometry()
Definition SyntaxTips.cpp:471
Definition WsfEditor.hpp:32
Definition WsfScriptLookup.hpp:28
Definition Runner.hpp:22
Copyrights Multiple, All Rights Reserved