mirror of
https://github.com/qgis/QGIS.git
synced 2025-04-14 00:07:35 -04:00
70 lines
2.1 KiB
C++
70 lines
2.1 KiB
C++
/***************************************************************************
|
|
qgsorderbydialog.h
|
|
|
|
---------------------
|
|
begin : 20.12.2015
|
|
copyright : (C) 2015 by Matthias Kuhn
|
|
email : matthias@opengis.ch
|
|
***************************************************************************
|
|
* *
|
|
* This program is free software; you can redistribute it and/or modify *
|
|
* it under the terms of the GNU General Public License as published by *
|
|
* the Free Software Foundation; either version 2 of the License, or *
|
|
* (at your option) any later version. *
|
|
* *
|
|
***************************************************************************/
|
|
|
|
#ifndef QGSORDERBYDIALOG_H
|
|
#define QGSORDERBYDIALOG_H
|
|
|
|
#include <QDialog>
|
|
|
|
#include "qgsfeaturerequest.h"
|
|
|
|
#include "ui_qgsorderbydialogbase.h"
|
|
|
|
/**
|
|
* This is a dialog to build and manage a list of order by clauses.
|
|
*
|
|
* @note added in 2.14
|
|
*/
|
|
|
|
class GUI_EXPORT QgsOrderByDialog : public QDialog, private Ui::OrderByDialogBase
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
/**
|
|
* Create a new order by dialog. This helps building order by structures.
|
|
*
|
|
* @param layer The vector layer for which the order by should be produced
|
|
* @param parent The parent widget, optional
|
|
*/
|
|
QgsOrderByDialog( QgsVectorLayer* layer, QWidget* parent = nullptr );
|
|
|
|
/**
|
|
* Set the order by to manage
|
|
*/
|
|
void setOrderBy( const QgsFeatureRequest::OrderBy& orderBy );
|
|
|
|
/**
|
|
* Get the order by defined in the dialog
|
|
*/
|
|
QgsFeatureRequest::OrderBy orderBy();
|
|
|
|
private slots:
|
|
void onExpressionChanged( const QString& expression );
|
|
|
|
private:
|
|
/**
|
|
* Initialize a row with the given information
|
|
*/
|
|
void setRow( int row, const QgsFeatureRequest::OrderByClause& orderByClause );
|
|
|
|
QgsVectorLayer* mLayer;
|
|
|
|
bool eventFilter( QObject *obj, QEvent *e );
|
|
};
|
|
|
|
#endif // QGSORDERBYDIALOG_H
|