QGIS API Documentation 3.99.0-Master (e9821da5c6b)
Loading...
Searching...
No Matches
qgsrelationshipsitem.h
Go to the documentation of this file.
1/***************************************************************************
2 qgsrelationshipsitem.h
3 -------------------
4 begin : 2022-07-28
5 copyright : (C) 2022 Nyall Dawson
6 email : nyall dot dawson at gmail dot com
7 ***************************************************************************/
8
9/***************************************************************************
10 * *
11 * This program is free software; you can redistribute it and/or modify *
12 * it under the terms of the GNU General Public License as published by *
13 * the Free Software Foundation; either version 2 of the License, or *
14 * (at your option) any later version. *
15 * *
16 ***************************************************************************/
17#ifndef QGSRELATIONSHIPSITEM_H
18#define QGSRELATIONSHIPSITEM_H
19
20#include "qgis_core.h"
21#include "qgis_sip.h"
22#include "qgsdataitem.h"
23#include "qgsweakrelation.h"
24
25#include <QString>
26
27using namespace Qt::StringLiterals;
28
34class CORE_EXPORT QgsRelationshipsItem : public QgsDataItem
35{
36 Q_OBJECT
37
38 public:
39
53 const QString &path,
54 const QString &connectionUri,
55 const QString &providerKey,
56 const QString &schema = QString(),
57 const QString &tableName = QString() );
58
60
61#ifdef SIP_RUN
62 SIP_PYOBJECT __repr__();
63 % MethodCode
64 QString str = u"<QgsRelationshipsItem: %1>"_s.arg( sipCpp->path() );
65 sipRes = PyUnicode_FromString( str.toUtf8().constData() );
66 % End
67#endif
68
69 QVector<QgsDataItem *> createChildren() override;
70
71 QIcon icon() override;
72
76 QString connectionUri() const;
77
83 QString schema() const { return mSchema; }
84
90 QString tableName() const {return mTableName;}
91
92 private:
93
94 QString mConnectionUri;
95 QString mSchema;
96 QString mTableName;
97 QStringList mRelationshipNames;
98
99};
100
101
107class CORE_EXPORT QgsRelationshipItem : public QgsDataItem
108{
109 Q_OBJECT
110 public:
111
118 const QgsWeakRelation &relation );
119
121
122#ifdef SIP_RUN
123 SIP_PYOBJECT __repr__();
124 % MethodCode
125 QString str = u"<QgsRelationshipItem: %1>"_s.arg( sipCpp->name() );
126 sipRes = PyUnicode_FromString( str.toUtf8().constData() );
127 % End
128#endif
129
130 QIcon icon() override;
131
135 const QgsWeakRelation &relation() const;
136
137 private:
138
139 QgsWeakRelation mRelation;
140
141};
142
143#endif // QGSRELATIONSHIPSITEM_H
144
145
QgsDataItem(Qgis::BrowserItemType type, QgsDataItem *parent, const QString &name, const QString &path, const QString &providerKey=QString())
Constructor for QgsDataItem, with the specified parent item.
virtual QVector< QgsDataItem * > createChildren()
Create children.
QString path() const
virtual QIcon icon()
QgsDataItem * parent() const
Gets item parent.
QString providerKey() const
Returns the provider key that created this item (e.g.
QgsRelationshipItem(QgsDataItem *parent, const QgsWeakRelation &relation)
Constructor for QgsRelationshipItem, with the specified parent item and relation.
const QgsWeakRelation & relation() const
Returns the associated relationship.
~QgsRelationshipItem() override
~QgsRelationshipsItem() override
QString connectionUri() const
Returns the connection URI.
QgsRelationshipsItem(QgsDataItem *parent, const QString &path, const QString &connectionUri, const QString &providerKey, const QString &schema=QString(), const QString &tableName=QString())
Constructor for QgsRelationshipsItem, with the specified parent item.
QString tableName() const
Returns the table name for filtering relationships, if set.
QString schema() const
Returns the schema for filtering relationships, if set.
Represent a QgsRelation with possibly unresolved layers or unmatched fields.
#define SIP_TRANSFERTHIS
Definition qgis_sip.h:53