WSF
EditAssist.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 EDITASSIST_HPP
13#define EDITASSIST_HPP
14
15#include <QDialog>
16#include <QPoint>
17#include <QString>
18#include <QTextBrowser>
19
20#include "ParseResults.hpp"
21#include "UsCtx.hpp"
22#include "UtTextDocument.hpp"
23#include "ViExport.hpp"
24#include "WsfPProxyPath.hpp"
25
26namespace wizard
27{
28class BrowserWidget;
29class Editor;
30class WsfScriptLookup;
31
32class SizedTextBrowser : public QTextBrowser
33{
34public:
35 explicit SizedTextBrowser(QWidget* p)
36 : QTextBrowser(p)
37 {
38 }
39 QSize sizeHint() const override
40 {
41 document()->adjustSize();
42 QSize s = document()->size().toSize();
43 s.rwidth() += 50;
44 return s;
45 }
46 QSize minimumSizeHint() const override { return sizeHint(); }
47};
48
49class VI_EXPORT EditAssist : public QDialog
50{
51public:
52 EditAssist();
53 ~EditAssist() override = default;
54
55 static EditAssist* MakeAssistant(Editor* aEditControlPtr, UtTextDocumentLocation aPos);
56
57 void SetAssistantData(Editor* aEditControlPtr, UtTextDocumentLocation aPos);
58 void SetAssistantData(QPoint aCursorPos);
59 static QString BuildFileURL(UtTextDocumentLocation aLocation, QString aText = "");
60
61 static QString BuildFileURL(const QString& aFilePath, size_t aPos = ut::npos, const QString& aLabel = QString());
62 static QString BuildHRef(const QString& aUrl, const QString& aLabel);
63 static void ProcessUrl(const QUrl& aUrl);
64
65protected:
67 void DocLinkClicked(const QUrl& aUrl);
68 void AnchorClicked(const QUrl& aUrl);
69 void DocSizeChanged(const QSizeF& aNewSize);
70 void changeEvent(QEvent* e) override;
71 void resizeEvent(QResizeEvent* e) override;
72 void Resized();
73
74 QPoint mCursorPos;
75 QTextBrowser* mTextBrowserPtr;
77 UtTextDocumentLocation mPos;
79};
80
82{
83public:
84 void SetIncludeData(ParseResults& aResults, WsfParseSourceInclude* aSourcePtr, int aEntryIndex, TextSource* aTargetPtr);
85
89};
90
92{
93public:
94 void SetTypeData(ParseResults& aResults, const ParseResults::TypeInformation& aTypeInfo);
95};
96
98{
99public:
100 void SetTypeData(ParseResults& aResults, WsfPProxyPath aProxyPath);
101};
102
104{
105public:
106 bool SetScriptData(WsfScriptLookup& aLookup, const std::string& aSymbolName);
107 void SetScriptValRef(WsfScriptLookup& aLookup, const UsValRef& aValRef);
108 void SetScriptType(WsfScriptLookup& aLookup, UsType* aTypePtr);
109
110protected:
111};
112} // namespace wizard
113
114#endif
#define VI_EXPORT
Definition ViExport.hpp:38
Definition UsSymbolTable.hpp:202
Represents a path or unique key to a value in the proxy.
Definition WsfPProxyPath.hpp:64
Definition WsfParseSourceInclude.hpp:31
Definition BrowserWidget.hpp:26
Definition EditAssist.hpp:82
WsfParseSourceInclude * mSourcePtr
Definition EditAssist.hpp:86
void SetIncludeData(ParseResults &aResults, WsfParseSourceInclude *aSourcePtr, int aEntryIndex, TextSource *aTargetPtr)
Definition EditAssist.cpp:355
TextSource * mTargetPtr
Definition EditAssist.hpp:87
int mEntryIndex
Definition EditAssist.hpp:88
Definition EditAssist.hpp:104
void SetScriptType(WsfScriptLookup &aLookup, UsType *aTypePtr)
Definition EditAssist.cpp:689
void SetScriptValRef(WsfScriptLookup &aLookup, const UsValRef &aValRef)
Definition EditAssist.cpp:653
bool SetScriptData(WsfScriptLookup &aLookup, const std::string &aSymbolName)
Definition EditAssist.cpp:615
Definition EditAssist.hpp:98
void SetTypeData(ParseResults &aResults, WsfPProxyPath aProxyPath)
Definition EditAssist.cpp:486
Definition EditAssist.hpp:92
void SetTypeData(ParseResults &aResults, const ParseResults::TypeInformation &aTypeInfo)
Definition EditAssist.cpp:386
void SetAssistantData(Editor *aEditControlPtr, UtTextDocumentLocation aPos)
Definition EditAssist.cpp:347
static QString BuildHRef(const QString &aUrl, const QString &aLabel)
Definition EditAssist.cpp:79
void DocSizeChanged(const QSizeF &aNewSize)
Definition EditAssist.cpp:175
static EditAssist * MakeAssistant(Editor *aEditControlPtr, UtTextDocumentLocation aPos)
Definition EditAssist.cpp:277
void Resized()
Definition EditAssist.cpp:197
BrowserWidget * mBrowserPtr
Definition EditAssist.hpp:78
~EditAssist() override=default
static QString BuildFileURL(UtTextDocumentLocation aLocation, QString aText="")
Definition EditAssist.cpp:44
void AnchorClicked(const QUrl &aUrl)
Definition EditAssist.cpp:169
BrowserWidget * GetBrowser()
Definition EditAssist.cpp:152
Editor * mEditPtr
Definition EditAssist.hpp:76
EditAssist()
Definition EditAssist.cpp:256
UtTextDocumentLocation mPos
Definition EditAssist.hpp:77
static void ProcessUrl(const QUrl &aUrl)
Definition EditAssist.cpp:84
QPoint mCursorPos
Definition EditAssist.hpp:74
QTextBrowser * mTextBrowserPtr
Definition EditAssist.hpp:75
void changeEvent(QEvent *e) override
Definition EditAssist.cpp:180
void resizeEvent(QResizeEvent *e) override
Definition EditAssist.cpp:191
void DocLinkClicked(const QUrl &aUrl)
Definition EditAssist.cpp:164
Definition Editor.hpp:57
Provides access to the results of parsing the WSF inputs.
Definition ParseResults.hpp:147
SizedTextBrowser(QWidget *p)
Definition EditAssist.hpp:35
QSize sizeHint() const override
Definition EditAssist.hpp:39
QSize minimumSizeHint() const override
Definition EditAssist.hpp:46
Definition TextSource.hpp:48
Definition WsfScriptLookup.hpp:28
Definition Runner.hpp:22
Definition UsSymbolTable.hpp:415
Definition ParseResults.hpp:247
Copyrights Multiple, All Rights Reserved