18 #ifndef QGSPALETTEDRENDERERWIDGET_H    19 #define QGSPALETTEDRENDERERWIDGET_H    27 #include "ui_qgspalettedrendererwidgetbase.h"    39 class QgsPalettedRendererClassGatherer: 
public QThread
    46       , mBandNumber( bandNumber )
    48       , mClasses( existingClasses )
    49       , mWasCanceled( false )
    58       mFeedbackMutex.lock();
    61       mFeedbackMutex.unlock();
    67     bool wasCanceled()
 const { 
return mWasCanceled; }
    76     void collectedClasses();
    82     void progressChanged( 
double progress );
    88     std::unique_ptr< QgsColorRamp > mRamp;
    92     QMutex mFeedbackMutex;
    96 class QgsPalettedRendererModel : 
public QAbstractItemModel
   109     QgsPalettedRendererModel( QObject *parent = 
nullptr );
   115     QModelIndex index( 
int row, 
int column, 
const QModelIndex &parent = QModelIndex() ) 
const override;
   116     QModelIndex parent( 
const QModelIndex &index ) 
const override;
   117     int columnCount( 
const QModelIndex &parent = QModelIndex() ) 
const override;
   118     int rowCount( 
const QModelIndex &parent = QModelIndex() ) 
const override;
   119     QVariant data( 
const QModelIndex &index, 
int role = Qt::DisplayRole ) 
const override;
   120     QVariant headerData( 
int section, Qt::Orientation orientation, 
int role ) 
const override;
   121     bool setData( 
const QModelIndex &index, 
const QVariant &value, 
int role = Qt::EditRole ) 
override;
   122     Qt::ItemFlags flags( 
const QModelIndex &index ) 
const override;
   123     bool removeRows( 
int row, 
int count, 
const QModelIndex &parent = QModelIndex() ) 
override;
   124     bool insertRows( 
int row, 
int count, 
const QModelIndex &parent = QModelIndex() ) 
override;
   125     Qt::DropActions supportedDropActions() 
const override;
   126     QStringList mimeTypes() 
const override;
   127     QMimeData *mimeData( 
const QModelIndexList &indexes ) 
const override;
   128     bool dropMimeData( 
const QMimeData *data, Qt::DropAction action, 
int row, 
int column, 
const QModelIndex &parent ) 
override;
   130     QModelIndex addEntry( 
const QColor &color );
   138     void classesChanged();
   169     QMenu *mContextMenu = 
nullptr;
   170     QMenu *mAdvancedMenu = 
nullptr;
   171     QAction *mLoadFromLayerAction = 
nullptr;
   172     QgsPalettedRendererModel *mModel = 
nullptr;
   176     QgsPalettedRendererClassGatherer *mGatherer = 
nullptr;
   180     void setSelectionColor( 
const QItemSelection &selection, 
const QColor &color );
   187     void changeOpacity();
   189     void applyColorRamp();
   190     void loadColorTable();
   191     void saveColorTable();
   193     void loadFromLayer();
   194     void bandChanged( 
int band );
   196     void gatheredClasses();
   197     void gathererThreadFinished();
   202 #endif // QGSPALETTEDRENDERERWIDGET_H A rectangle specified with double values. 
 
Base class for all map layer types. 
 
This class provides qgis with the ability to render raster datasets onto the mapcanvas. 
 
Abstract base class for color ramps. 
 
QList< QgsPalettedRasterRenderer::Class > ClassData
Map of value to class properties. 
 
Feedback object tailored for raster block reading. 
 
Raster renderer pipe that applies colors to a raster. 
 
A delegate for showing a color swatch in a list.