16#ifndef QGSPROCESSINGTININPUTLAYERSWIDGET_H
17#define QGSPROCESSINGTININPUTLAYERSWIDGET_H
21#include "ui_qgsprocessingtinmeshdatawidgetbase.h"
26#include <QAbstractTableModel>
27#include <QStyledItemDelegate>
31class QgsProcessingTinInputLayersModel :
public QAbstractTableModel
40 QgsProcessingTinInputLayersModel(
QgsProject *project );
42 int rowCount(
const QModelIndex &parent )
const override;
43 int columnCount(
const QModelIndex &parent )
const override;
44 QVariant data(
const QModelIndex &index,
int role )
const override;
45 bool setData(
const QModelIndex &index,
const QVariant &value,
int role )
override;
46 Qt::ItemFlags flags(
const QModelIndex &index )
const override;
47 QVariant headerData(
int section, Qt::Orientation orientation,
int role )
const override;
50 void removeLayer(
int index );
53 QList<QgsProcessingParameterTinInputLayers::InputLayer> layers()
const;
58 QList<QgsProcessingParameterTinInputLayers::InputLayer> mInputLayers;
62class QgsProcessingTinInputLayersDelegate :
public QStyledItemDelegate
66 QgsProcessingTinInputLayersDelegate( QObject *parent )
67 : QStyledItemDelegate( parent ) {}
69 QWidget *createEditor( QWidget *parent,
const QStyleOptionViewItem &option,
const QModelIndex &index )
const override;
70 void setEditorData( QWidget *editor,
const QModelIndex &index )
const override;
71 void setModelData( QWidget *editor, QAbstractItemModel *model,
const QModelIndex &index )
const override;
75class GUI_EXPORT QgsProcessingTinInputLayersWidget :
public QWidget,
private Ui::QgsProcessingTinInputLayersWidgetBase
79 QgsProcessingTinInputLayersWidget( QgsProject *project );
81 QVariant value()
const;
82 void setValue(
const QVariant &value );
83 void setProject( QgsProject *project );
89 void onLayerChanged( QgsMapLayer *layer );
90 void onCurrentLayerAdded();
91 void onLayersRemove();
94 QgsProcessingTinInputLayersModel mInputLayersModel;
105 QString parameterType()
const override;
106 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
110 void setWidgetValue( const QVariant &value, QgsProcessingContext &context ) override;
111 QVariant widgetValue() const override;
114 QgsProcessingTinInputLayersWidget *mWidget =
nullptr;
116 friend class TestProcessingGui;
ProcessingMode
Types of modes which Processing widgets can be created for.
@ Standard
Standard (single-run) algorithm mode.
Encapsulates a QGIS project, including sets of map layers and their styles, layouts,...