QGIS API Documentation 4.0.0-Norrköping (1ddcee3d0e4)
Loading...
Searching...
No Matches
qgsfieldsitem.h
Go to the documentation of this file.
1/***************************************************************************
2 qgsfieldsitem.h
3 -------------------
4 begin : 2011-04-01
5 copyright : (C) 2011 Radim Blazek
6 email : radim dot blazek 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 QGSFIELDSITEM_H
18#define QGSFIELDSITEM_H
19
20#include "qgis_core.h"
21#include "qgis_sip.h"
23#include "qgsdataitem.h"
24#include "qgsfield.h"
25
26#include <QString>
27
28using namespace Qt::StringLiterals;
29
39class CORE_EXPORT QgsFieldsItem : public QgsDataItem
40{
41 Q_OBJECT
42
43 public:
54 QgsFieldsItem( QgsDataItem *parent SIP_TRANSFERTHIS, const QString &path, const QString &connectionUri, const QString &providerKey, const QString &schema, const QString &tableName );
55
56 ~QgsFieldsItem() override;
57
58#ifdef SIP_RUN
59 // clang-format off
60 SIP_PYOBJECT __repr__();
61 % MethodCode
62 QString str = u"<QgsFieldsItem: %1>"_s.arg( sipCpp->path() );
63 sipRes = PyUnicode_FromString( str.toUtf8().constData() );
64 % End
65// clang-format on
66#endif
67
68 QVector<QgsDataItem *> createChildren() override;
69
70 QIcon icon() override;
71
75 QString schema() const;
76
80 QString tableName() const;
81
85 QString connectionUri() const;
86
91
99 QgsFields fields() const;
100
106
112 bool canRenameFields() const { return mCanRename; }
113
114 private:
115 QString mSchema;
116 QString mTableName;
117 QString mConnectionUri;
118 bool mCanRename = false;
119 std::unique_ptr<QgsAbstractDatabaseProviderConnection::TableProperty> mTableProperty;
120 QgsFields mFields;
121};
122
123
132class CORE_EXPORT QgsFieldItem : public QgsDataItem
133{
134 Q_OBJECT
135 public:
141
142 ~QgsFieldItem() override;
143
144#ifdef SIP_RUN
145 // clang-format off
146 SIP_PYOBJECT __repr__();
147 % MethodCode
148 QString str = u"<QgsFieldItem: %1>"_s.arg( sipCpp->name() );
149 sipRes = PyUnicode_FromString( str.toUtf8().constData() );
150 % End
151// clang-format on
152#endif
153
154 QIcon icon() override;
155
161 QgsField field() const { return mField; }
162
163 bool equal( const QgsDataItem *other ) override;
164
165 private:
166 const QgsField mField;
167};
168
169#endif // QGSFIELDSITEM_H
Base class for all items in the model.
Definition qgsdataitem.h:50
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.
virtual bool equal(const QgsDataItem *other)
Returns true if this item is equal to another item (by testing item type and path).
QgsFieldItem(QgsDataItem *parent, const QgsField &field)
Constructor for QgsFieldItem, with the specified parent item and field.
QgsField field() const
Returns the field definition.
Encapsulate a field in an attribute table or data source.
Definition qgsfield.h:56
QString tableName() const
Returns the table name.
QgsFieldsItem(QgsDataItem *parent, const QString &path, const QString &connectionUri, const QString &providerKey, const QString &schema, const QString &tableName)
Constructor for QgsFieldsItem, with the specified parent item.
QgsAbstractDatabaseProviderConnection::TableProperty * tableProperty() const
Returns the (possibly nullptr) properties of the table this fields belong to.
QString connectionUri() const
Returns the connection URI.
QgsVectorLayer * layer()
Creates and returns a (possibly nullptr) layer from the connection URI and schema/table information.
bool canRenameFields() const
Returns true if the connection supports renaming fields.
QgsFields fields() const
Returns the fields contained by the item.
QString schema() const
Returns the schema name.
Container of fields for a vector layer.
Definition qgsfields.h:46
Represents a vector layer which manages a vector based dataset.
#define SIP_TRANSFERTHIS
Definition qgis_sip.h:52
#define SIP_FACTORY
Definition qgis_sip.h:83
The TableProperty class represents a database table or view.