QGIS API Documentation
3.41.0-Master (45a0abf3bec)
Loading...
Searching...
No Matches
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
QgsFeature
mFormFeature;
82
bool
mRequiresFormScope =
false
;
83
84
friend
class
TestQgsHtmlWidgetWrapper;
85
};
86
87
88
#ifndef SIP_RUN
90
96
class
HtmlExpression :
public
QObject
97
{
98
Q_OBJECT
99
100
public
:
102
void
setExpressionContext(
const
QgsExpressionContext
&context );
103
104
public
:
105
107
Q_INVOKABLE QString evaluate(
const
QString &expression )
const
;
108
109
private
:
110
QgsExpressionContext
mExpressionContext;
111
};
112
119
class
NeedsGeometryEvaluator :
public
QObject
120
{
121
Q_OBJECT
122
123
public
:
124
126
bool
needsGeometry()
const
{
return
mNeedsGeometry; }
127
129
void
setExpressionContext(
const
QgsExpressionContext
&context );
130
132
Q_INVOKABLE
void
evaluate(
const
QString &expression );
133
134
private
:
135
bool
mNeedsGeometry =
false
;
136
QgsExpressionContext
mExpressionContext;
137
};
138
139
141
#endif
//SIP_RUN
142
143
#endif
// QGSHTMLWIDGETWRAPPER_H
QgsExpressionContext
Expression contexts are used to encapsulate the parameters around which a QgsExpression should be eva...
Definition
qgsexpressioncontext.h:471
QgsFeature
The feature class encapsulates a single feature including its unique ID, geometry and a list of field...
Definition
qgsfeature.h:58
QgsHtmlWidgetWrapper
Wraps a QQuickWidget to display HTML code.
Definition
qgshtmlwidgetwrapper.h:30
QgsVectorLayer
Represents a vector layer which manages a vector based data sets.
Definition
qgsvectorlayer.h:401
QgsWebView
The QgsWebView class is a collection of stubs to mimic the API of QWebView on systems where the real ...
Definition
qgswebview.h:66
QgsWidgetWrapper
Manages an editor widget Widget and wrapper share the same parent.
Definition
qgswidgetwrapper.h:53
QgsWidgetWrapper::setFeature
virtual void setFeature(const QgsFeature &feature)=0
Is called when the value of the widget needs to be changed.
QgsWidgetWrapper::valid
virtual bool valid() const =0
Returns true if the widget has been properly initialized.
QgsWidgetWrapper::initWidget
virtual void initWidget(QWidget *editor)
This method should initialize the editor widget with runtime data.
Definition
qgswidgetwrapper.cpp:108
QgsWidgetWrapper::createWidget
virtual QWidget * createWidget(QWidget *parent)=0
This method should create a new widget with the provided parent.
qgis_sip.h
qgswebview.h
qgswidgetwrapper.h
Generated on Tue Nov 19 2024 18:20:01 for QGIS API Documentation by
1.9.8