QGIS API Documentation 3.41.0-Master (cea29feecf2)
Loading...
Searching...
No Matches
qgsdatabaseschemacombobox.h
Go to the documentation of this file.
1/***************************************************************************
2 qgsdatabaseschemacombobox.h
3 --------------------------------
4 Date : March 2020
5 Copyright : (C) 2020 Nyall Dawson
6 Email : nyall dot dawson at gmail dot com
7***************************************************************************
8* *
9* This program is free software; you can redistribute it and/or modify *
10* it under the terms of the GNU General Public License as published by *
11* the Free Software Foundation; either version 2 of the License, or *
12* (at your option) any later version. *
13* *
14***************************************************************************/
15
16#ifndef QGSDATABASESCHEMACOMBOBOX_H
17#define QGSDATABASESCHEMACOMBOBOX_H
18
19#include <QComboBox>
20
21#include "qgis_gui.h"
22#include "qgis_sip.h"
23#include <QSortFilterProxyModel>
24
27
29#ifndef SIP_RUN
30class GUI_EXPORT QgsDatabaseSchemaComboBoxSortModel : public QSortFilterProxyModel
31{
32 Q_OBJECT
33 public:
34 explicit QgsDatabaseSchemaComboBoxSortModel( QObject *parent = nullptr );
35
36 protected:
37 bool lessThan( const QModelIndex &source_left, const QModelIndex &source_right ) const override;
38};
39#endif
41
51class GUI_EXPORT QgsDatabaseSchemaComboBox : public QWidget
52{
53 Q_OBJECT
54
55 public:
62 explicit QgsDatabaseSchemaComboBox( const QString &provider, const QString &connection, QWidget *parent SIP_TRANSFERTHIS = nullptr );
63
70
75 void setAllowEmptySchema( bool allowEmpty );
76
81 bool allowEmptySchema() const;
82
86 QString currentSchema() const;
87
91 QComboBox *comboBox() { return mComboBox; }
92
93 public slots:
94
98 void setSchema( const QString &schema );
99
105 void setConnectionName( const QString &connection, const QString &provider = QString() );
106
110 void refreshSchemas();
111
112 signals:
114 void schemaChanged( const QString &schema );
115
116 private slots:
117 void indexChanged( int i );
118 void rowsChanged();
119
120 private:
121 void init();
122
123 bool mAllowEmpty = false;
124 QString mProvider;
125 QgsDatabaseSchemaModel *mModel = nullptr;
126 QSortFilterProxyModel *mSortModel = nullptr;
127 QComboBox *mComboBox = nullptr;
128};
129
130#endif // QGSDATABASESCHEMACOMBOBOX_H
The QgsAbstractDatabaseProviderConnection class provides common functionality for DB based connection...
The QgsDatabaseSchemaComboBox class is a combo box which displays the list of schemas for a specific ...
void schemaChanged(const QString &schema)
Emitted whenever the currently selected schema changes.
QComboBox * comboBox()
Returns the combobox portion of the widget.
A model containing schemas from a database connection.
#define SIP_TRANSFERTHIS
Definition qgis_sip.h:53
#define SIP_TRANSFER
Definition qgis_sip.h:36