16#ifndef QGSPROCESSINGTININPUTLAYERSWIDGET_H
17#define QGSPROCESSINGTININPUTLAYERSWIDGET_H
20#include "ui_qgsprocessingtinmeshdatawidgetbase.h"
25#include <QAbstractTableModel>
26#include <QStyledItemDelegate>
32class QgsProcessingTinInputLayersModel :
public QAbstractTableModel
41 QgsProcessingTinInputLayersModel(
QgsProject *project );
43 int rowCount(
const QModelIndex &parent )
const override;
44 int columnCount(
const QModelIndex &parent )
const override;
45 QVariant data(
const QModelIndex &index,
int role )
const override;
46 bool setData(
const QModelIndex &index,
const QVariant &value,
int role )
override;
47 Qt::ItemFlags flags(
const QModelIndex &index )
const override;
48 QVariant headerData(
int section, Qt::Orientation orientation,
int role )
const override;
51 void removeLayer(
int index );
54 QList<QgsProcessingParameterTinInputLayers::InputLayer> layers()
const;
59 QList<QgsProcessingParameterTinInputLayers::InputLayer> mInputLayers;
63class QgsProcessingTinInputLayersDelegate :
public QStyledItemDelegate
67 QgsProcessingTinInputLayersDelegate( QObject *parent )
68 : QStyledItemDelegate( parent ) {}
70 QWidget *createEditor( QWidget *parent,
const QStyleOptionViewItem &option,
const QModelIndex &index )
const override;
71 void setEditorData( QWidget *editor,
const QModelIndex &index )
const override;
72 void setModelData( QWidget *editor, QAbstractItemModel *model,
const QModelIndex &index )
const override;
76class GUI_EXPORT QgsProcessingTinInputLayersWidget :
public QWidget,
private Ui::QgsProcessingTinInputLayersWidgetBase
80 QgsProcessingTinInputLayersWidget( QgsProject *project );
82 QVariant value()
const;
83 void setValue(
const QVariant &value );
84 void setProject( QgsProject *project );
90 void onLayerChanged( QgsMapLayer *layer );
91 void onCurrentLayerAdded();
92 void onLayersRemove();
95 QgsProcessingTinInputLayersModel mInputLayersModel;
106 QString parameterType()
const override;
107 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
111 void setWidgetValue( const QVariant &value, QgsProcessingContext &context ) override;
112 QVariant widgetValue() const override;
115 QgsProcessingTinInputLayersWidget *mWidget =
nullptr;
117 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,...