18 #ifndef QGSPOINTCLOUDCLASSIFIEDRENDERERWIDGET_H 
   19 #define QGSPOINTCLOUDCLASSIFIEDRENDERERWIDGET_H 
   23 #include "ui_qgspointcloudclassifiedrendererwidgetbase.h" 
   32 class QgsPointCloud3DLayer3DRenderer;
 
   38 class GUI_EXPORT QgsPointCloudClassifiedRendererModel : 
public QAbstractItemModel
 
   42     QgsPointCloudClassifiedRendererModel( QObject *parent = 
nullptr );
 
   43     Qt::ItemFlags flags( 
const QModelIndex &index ) 
const override;
 
   44     Qt::DropActions supportedDropActions() 
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     QVariant headerData( 
int section, Qt::Orientation orientation, 
int role ) 
const override;
 
   48     int rowCount( 
const QModelIndex &parent = QModelIndex() ) 
const override;
 
   49     int columnCount( 
const QModelIndex & = QModelIndex() ) 
const override;
 
   50     QModelIndex index( 
int row, 
int column, 
const QModelIndex &parent = QModelIndex() ) 
const override;
 
   51     QModelIndex parent( 
const QModelIndex &index ) 
const override;
 
   52     QStringList mimeTypes() 
const override;
 
   53     QMimeData *mimeData( 
const QModelIndexList &indexes ) 
const override;
 
   54     bool dropMimeData( 
const QMimeData *data, Qt::DropAction action, 
int row, 
int column, 
const QModelIndex &parent ) 
override;
 
   60     void deleteRows( QList<int> rows );
 
   65     void setCategoryColor( 
int row, 
const QColor &color );
 
   68     void categoriesChanged();
 
   79 class QgsPointCloudClassifiedRendererViewStyle: 
public QgsProxyStyle 
   84     explicit QgsPointCloudClassifiedRendererViewStyle( QWidget *parent );
 
   86     void drawPrimitive( PrimitiveElement element, 
const QStyleOption *option, QPainter *painter, 
const QWidget *widget = 
nullptr ) 
const override;
 
   90 class GUI_EXPORT QgsPointCloudClassifiedRendererWidget: 
public QgsPointCloudRendererWidget, 
private Ui::QgsPointCloudClassifiedRendererWidgetBase
 
  106     void emitWidgetChanged();
 
  107     void categoriesDoubleClicked( 
const QModelIndex &idx );
 
  108     void addCategories();
 
  110     void deleteCategories();
 
  111     void deleteAllCategories();
 
  114     void changeCategorySymbol();
 
  116     QList<int> selectedCategories();
 
  118     int currentCategoryRow();
 
  120     QgsPointCloudClassifiedRendererModel *mModel = 
nullptr;
 
  121     bool mBlockChangedSignal = 
false;
 
Represents an individual category (class) from a QgsPointCloudClassifiedRenderer.
Renders point clouds by a classification attribute.
Represents a map layer supporting display of point clouds.
Abstract base class for 2d point cloud renderers.
A QProxyStyle subclass which correctly sets the base style to match the QGIS application style,...
QList< QgsPointCloudCategory > QgsPointCloudCategoryList