ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
ecvPluginInfoDlg.h
Go to the documentation of this file.
1 // ----------------------------------------------------------------------------
2 // - CloudViewer: www.cloudViewer.org -
3 // ----------------------------------------------------------------------------
4 // Copyright (c) 2018-2024 www.cloudViewer.org
5 // SPDX-License-Identifier: MIT
6 // ----------------------------------------------------------------------------
7 
8 #pragma once
9 
10 #include <QDialog>
11 #include <QList>
12 
13 class QModelIndex;
14 class QStandardItem;
15 class QStandardItemModel;
16 class QSortFilterProxyModel;
17 
18 class ccPluginInterface;
19 
20 namespace Ui {
21 class ccPluginInfoDlg;
22 }
23 
24 class ccPluginInfoDlg : public QDialog {
25  Q_OBJECT
26 
27 public:
28  explicit ccPluginInfoDlg(QWidget *parent = nullptr);
30 
31  void setPluginPaths(const QStringList &pluginPaths);
32  void setPluginList(const QList<ccPluginInterface *> &pluginList);
33 
34 private:
35  enum { PLUGIN_PTR = Qt::UserRole + 1 };
36 
37  const ccPluginInterface *pluginFromItemData(
38  const QStandardItem *item) const;
39 
40  void selectionChanged(const QModelIndex &current,
41  const QModelIndex &previous);
42  void itemChanged(QStandardItem *item);
43 
44  void updatePluginInfo(const ccPluginInterface *plugin);
45 
46  Ui::ccPluginInfoDlg *m_UI;
47 
48  QStandardItemModel *m_ItemModel;
49  QSortFilterProxyModel *m_ProxyModel;
50 };
ccPluginInfoDlg(QWidget *parent=nullptr)
void setPluginPaths(const QStringList &pluginPaths)
void setPluginList(const QList< ccPluginInterface * > &pluginList)
Standard ECV plugin interface.