Skip to content

Commit 016b0cb

Browse files
committedSep 5, 2018
get attributes from current feature
by feature.attribute("outlet_1")
1 parent e8e32fa commit 016b0cb

File tree

2 files changed

+9
-4
lines changed

2 files changed

+9
-4
lines changed
 

‎src/gui/editorwidgets/qgsqmlwidgetwrapper.cpp

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616
#include "qgsqmlwidgetwrapper.h"
1717
#include "qgsmessagelog.h"
1818
#include <QtQuickWidgets/QQuickWidget>
19+
#include <QQuickWidget>
20+
#include <QQmlContext>
1921

2022
QgsQmlWidgetWrapper::QgsQmlWidgetWrapper( QgsVectorLayer *layer, QWidget *editor, QWidget *parent )
2123
: QgsWidgetWrapper( layer, editor, parent )
@@ -35,9 +37,9 @@ QWidget *QgsQmlWidgetWrapper::createWidget( QWidget *parent )
3537

3638
void QgsQmlWidgetWrapper::initWidget( QWidget *editor )
3739
{
38-
QQuickWidget *quickWidget = qobject_cast<QQuickWidget *>( editor );
40+
mWidget = qobject_cast<QQuickWidget *>( editor );
3941

40-
if ( !quickWidget )
42+
if ( !mWidget )
4143
return;
4244

4345

@@ -47,7 +49,7 @@ void QgsQmlWidgetWrapper::initWidget( QWidget *editor )
4749
return;
4850
}
4951

50-
quickWidget->setSource( QUrl::fromLocalFile( mQmlFile.fileName() ) );
52+
mWidget->setSource( QUrl::fromLocalFile( mQmlFile.fileName() ) );
5153

5254
mQmlFile.close();
5355
}
@@ -67,5 +69,6 @@ void QgsQmlWidgetWrapper::setQmlCode( const QString &qmlCode )
6769

6870
void QgsQmlWidgetWrapper::setFeature( const QgsFeature &feature )
6971
{
70-
72+
if ( mWidget )
73+
mWidget->rootContext()->setContextProperty( "feature", feature );
7174
}

‎src/gui/editorwidgets/qgsqmlwidgetwrapper.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,8 @@ class GUI_EXPORT QgsQmlWidgetWrapper : public QgsWidgetWrapper
4545
QTemporaryFile mQmlFile;
4646

4747
QQuickWidget *mWidget = nullptr;
48+
49+
QgsFeature mFeature;
4850
};
4951

5052
#endif // QGSQMLWIDGETWRAPPER_H

0 commit comments

Comments
 (0)
Please sign in to comment.