QGIS API Documentation  3.22.4-Białowieża (ce8e65e95e)
qgsmodelinputreorderwidget.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgsmodelinputreorderwidget.h
3  ----------------------------------
4  Date : April 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 QGSMODELINPUTREORDERWIDGET_H
17 #define QGSMODELINPUTREORDERWIDGET_H
18 
19 #define SIP_NO_FILE
20 
21 #include "qgis.h"
22 #include "qgis_gui.h"
23 #include "ui_qgsmodelinputreorderwidgetbase.h"
25 #include <QDialog>
26 
27 class QStandardItemModel;
28 class QgsProcessingModelAlgorithm;
29 
31 
38 class GUI_EXPORT QgsModelInputReorderWidget : public QWidget, private Ui::QgsModelInputReorderWidgetBase
39 {
40  Q_OBJECT
41 
42  public:
43 
47  QgsModelInputReorderWidget( QWidget *parent = nullptr );
48 
52  void setModel( QgsProcessingModelAlgorithm *model );
53 
57  QStringList inputOrder() const;
58 
59  private:
60 
61  QgsProcessingModelAlgorithm *mModel;
62  QList< QgsProcessingModelParameter > mParameters;
63  QStandardItemModel *mItemModel = nullptr;
64 };
65 
66 
73 class GUI_EXPORT QgsModelInputReorderDialog : public QDialog
74 {
75 
76  public:
77 
81  QgsModelInputReorderDialog( QWidget *parent = nullptr );
82 
86  void setModel( QgsProcessingModelAlgorithm *model );
87 
91  QStringList inputOrder() const;
92 
93  private:
94 
95  QgsModelInputReorderWidget *mWidget = nullptr;
96 };
97 
99 
100 #endif // QGSMODELINPUTREORDERWIDGET_H