QGIS API Documentation
3.26.3-Buenos Aires (65e4edfdad)
src
gui
editorwidgets
qgshtmlwidgetwrapper.h
Go to the documentation of this file.
1
/***************************************************************************
2
qgshtmlwidgetwrapper.h
3
4
---------------------
5
begin : 23.03.2019
6
copyright : (C) 2019 by Alessandro Pasotti
7
email : elpaso at itopen dot it
8
***************************************************************************
9
* *
10
* This program is free software; you can redistribute it and/or modify *
11
* it under the terms of the GNU General Public License as published by *
12
* the Free Software Foundation; either version 2 of the License, or *
13
* (at your option) any later version. *
14
* *
15
***************************************************************************/
16
#ifndef QGSHTMLWIDGETWRAPPER_H
17
#define QGSHTMLWIDGETWRAPPER_H
18
19
#include "
qgswidgetwrapper.h
"
20
#include "
qgswebview.h
"
21
#include "
qgis_sip.h
"
22
#include "qgis_gui.h"
23
29
class
GUI_EXPORT
QgsHtmlWidgetWrapper
:
public
QgsWidgetWrapper
30
{
31
Q_OBJECT
32
33
public
:
34
42
QgsHtmlWidgetWrapper
(
QgsVectorLayer
*layer, QWidget *editor, QWidget *parent );
43
44
bool
valid
()
const override
;
45
46
QWidget *
createWidget
( QWidget *parent )
override
;
47
48
void
initWidget
( QWidget *editor )
override
;
49
51
void
reinitWidget();
52
54
void
setHtmlCode(
const
QString &htmlCode );
55
60
bool
needsGeometry()
const
;
61
62
public
slots:
63
void
setFeature
(
const
QgsFeature
&feature )
override
;
64
65
private
slots:
67
void
setHtmlContext( );
68
#ifdef WITH_QTWEBKIT
69
void
fixHeight();
70
#endif
71
72
private
:
73
75
void
checkGeometryNeeds();
76
77
QString mHtmlCode;
78
QgsWebView
*mWidget =
nullptr
;
79
QgsFeature
mFeature;
80
bool
mNeedsGeometry =
false
;
81
82
friend
class
TestQgsHtmlWidgetWrapper;
83
};
84
85
86
#ifndef SIP_RUN
87
94
class
HtmlExpression :
public
QObject
95
{
96
Q_OBJECT
97
98
public
:
100
void
setExpressionContext(
const
QgsExpressionContext
&context );
101
102
public
:
103
105
Q_INVOKABLE QString evaluate(
const
QString &expression )
const
;
106
107
private
:
108
QgsExpressionContext
mExpressionContext;
109
};
110
117
class
NeedsGeometryEvaluator :
public
QObject
118
{
119
Q_OBJECT
120
121
public
:
122
124
bool
needsGeometry()
const
{
return
mNeedsGeometry; }
125
127
void
setExpressionContext(
const
QgsExpressionContext
&context );
128
130
Q_INVOKABLE
void
evaluate(
const
QString &expression );
131
132
private
:
133
bool
mNeedsGeometry =
false
;
134
QgsExpressionContext
mExpressionContext;
135
};
136
137
139
#endif //SIP_RUN
140
141
#endif // QGSHTMLWIDGETWRAPPER_H
QgsExpressionContext
Expression contexts are used to encapsulate the parameters around which a QgsExpression should be eva...
Definition:
qgsexpressioncontext.h:406
QgsWidgetWrapper::initWidget
virtual void initWidget(QWidget *editor)
This method should initialize the editor widget with runtime data.
Definition:
qgswidgetwrapper.cpp:107
QgsWidgetWrapper::valid
virtual bool valid() const =0
Returns true if the widget has been properly initialized.
QgsWidgetWrapper
Manages an editor widget Widget and wrapper share the same parent.
Definition:
qgswidgetwrapper.h:52
qgis_sip.h
QgsWidgetWrapper::setFeature
virtual void setFeature(const QgsFeature &feature)=0
Is called when the value of the widget needs to be changed.
QgsVectorLayer
Represents a vector layer which manages a vector based data sets.
Definition:
qgsvectorlayer.h:391
qgswidgetwrapper.h
QgsFeature
The feature class encapsulates a single feature including its unique ID, geometry and a list of field...
Definition:
qgsfeature.h:55
qgswebview.h
QgsWidgetWrapper::createWidget
virtual QWidget * createWidget(QWidget *parent)=0
This method should create a new widget with the provided parent.
QgsWebView
The QgsWebView class is a collection of stubs to mimic the API of QWebView on systems where the real ...
Definition:
qgswebview.h:65
QgsHtmlWidgetWrapper
Wraps a QQuickWidget to display HTML code.
Definition:
qgshtmlwidgetwrapper.h:29
Generated on Sun Sep 11 2022 00:03:17 for QGIS API Documentation by
1.8.17