ccPluginInfoDlg.h 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. #ifndef CCPLUGININFODLG_H
  2. #define CCPLUGININFODLG_H
  3. //##########################################################################
  4. //# #
  5. //# CLOUDCOMPARE #
  6. //# #
  7. //# This program is free software; you can redistribute it and/or modify #
  8. //# it under the terms of the GNU General Public License as published by #
  9. //# the Free Software Foundation; version 2 or later of the License. #
  10. //# #
  11. //# This program is distributed in the hope that it will be useful, #
  12. //# but WITHOUT ANY WARRANTY; without even the implied warranty of #
  13. //# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
  14. //# GNU General Public License for more details. #
  15. //# #
  16. //# COPYRIGHT: CloudCompare project #
  17. //# #
  18. //##########################################################################
  19. #include <QDialog>
  20. #include <QList>
  21. class QModelIndex;
  22. class QSortFilterProxyModel;
  23. class QStandardItem;
  24. class QStandardItemModel;
  25. class ccPluginInterface;
  26. namespace Ui {
  27. class ccPluginInfoDlg;
  28. }
  29. class ccPluginInfoDlg : public QDialog
  30. {
  31. Q_OBJECT
  32. public:
  33. explicit ccPluginInfoDlg( QWidget *parent = nullptr );
  34. ~ccPluginInfoDlg() override;
  35. void setPluginPaths( const QStringList &pluginPaths );
  36. void setPluginList( const QList<ccPluginInterface *> &pluginList );
  37. private:
  38. enum {
  39. PLUGIN_PTR = Qt::UserRole + 1
  40. };
  41. const ccPluginInterface* pluginFromItemData( const QStandardItem* item ) const;
  42. void selectionChanged( const QModelIndex &current, const QModelIndex &previous );
  43. void itemChanged( QStandardItem* item );
  44. void updatePluginInfo( const ccPluginInterface *plugin );
  45. Ui::ccPluginInfoDlg *m_UI;
  46. QSortFilterProxyModel *m_ProxyModel;
  47. QStandardItemModel *m_ItemModel;
  48. };
  49. #endif