17#include "moc_qgsprocessingtoolboxtreeview.cpp" 
   24QgsProcessingToolboxTreeView::QgsProcessingToolboxTreeView( QWidget *parent, 
QgsProcessingRegistry *registry, QgsProcessingRecentAlgorithmLog *recentLog, QgsProcessingFavoriteAlgorithmManager *favoriteManager )
 
   28  mToolboxModel = mModel->toolboxModel();
 
   32void QgsProcessingToolboxTreeView::setRegistry( 
QgsProcessingRegistry *registry, QgsProcessingRecentAlgorithmLog *recentLog, QgsProcessingFavoriteAlgorithmManager *favoriteManager )
 
   37  mModel->deleteLater();
 
   45  mModel->deleteLater();
 
   49void QgsProcessingToolboxTreeView::setFilterString( 
const QString &filter )
 
   51  const QString text = filter.trimmed().toLower();
 
   53  if ( !text.isEmpty() )
 
   56    if ( !selectedAlgorithm() )
 
   59      const QModelIndex firstVisibleIndex = findFirstVisibleAlgorithm( QModelIndex() );
 
   60      if ( firstVisibleIndex.isValid() )
 
   61        selectionModel()->setCurrentIndex( firstVisibleIndex, QItemSelectionModel::ClearAndSelect );
 
   70void QgsProcessingToolboxTreeView::reset()
 
   74  if ( !mModel->filterString().isEmpty() )
 
   82  const QModelIndex sourceIndex = mModel->mapToSource( index );
 
   83  if ( mToolboxModel->isAlgorithm( sourceIndex ) )
 
   84    return mToolboxModel->algorithmForIndex( sourceIndex );
 
   91  if ( selectionModel()->hasSelection() )
 
   93    const QModelIndex index = selectionModel()->selectedIndexes().at( 0 );
 
   94    return algorithmForIndex( index );
 
  104  const QModelIndex sourceIndex = mModel->mapToSource( index );
 
  105  if ( mToolboxModel->isParameter( sourceIndex ) )
 
  106    return mToolboxModel->parameterTypeForIndex( sourceIndex );
 
  113  if ( selectionModel()->hasSelection() )
 
  115    const QModelIndex index = selectionModel()->selectedIndexes().at( 0 );
 
  116    return parameterTypeForIndex( index );
 
  126  mModel->setFilters( filters );
 
  131  return mModel->filters();
 
  134void QgsProcessingToolboxTreeView::setInPlaceLayer( 
QgsVectorLayer *layer )
 
  136  mModel->setInPlaceLayer( layer );
 
  139QModelIndex QgsProcessingToolboxTreeView::findFirstVisibleAlgorithm( 
const QModelIndex &parent )
 
  141  for ( 
int r = 0; r < mModel->rowCount( parent ); ++r )
 
  143    QModelIndex proxyIndex = mModel->index( r, 0, parent );
 
  144    const QModelIndex sourceIndex = mModel->mapToSource( proxyIndex );
 
  145    if ( mToolboxModel->isAlgorithm( sourceIndex ) )
 
  148    QModelIndex index = findFirstVisibleAlgorithm( proxyIndex );
 
  149    if ( index.isValid() )
 
  152  return QModelIndex();
 
  155void QgsProcessingToolboxTreeView::keyPressEvent( QKeyEvent *event )
 
  157  if ( event->key() == Qt::Key_Return || event->key() == Qt::Key_Enter )
 
  158    emit doubleClicked( currentIndex() );
 
  160    QTreeView::keyPressEvent( event );
 
Abstract base class for processing algorithms.
 
Makes metadata of processing parameters available.
 
Registry for various processing components, including providers, algorithms and various parameters an...
 
Represents a vector layer which manages a vector based dataset.