ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
ecvCustomViewpointButtonDlg.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 <QLineEdit>
12 #include <QList>
13 #include <QPointer>
14 #include <QPushButton>
15 #include <QString>
16 #include <QStringList>
17 
18 #include "CVAppCommon.h"
19 
20 class pqCustomViewpointButtonDialogUI;
21 class vtkSMCameraConfigurationReader;
22 
23 /*
24  * @class pqCustomViewpointDialog
25  * @brief Dialog for configuring custom view buttons.
26  *
27  * Provides the machinery for associating the current camera configuration
28  * to a custom view button, and importing or exporting all of the custom view
29  * button configurations.
30  *
31  * @section thanks Thanks
32  * This class was contributed by SciberQuest Inc.
33  *
34  * @sa pqCameraDialog
35  */
37  Q_OBJECT
38 
39 public:
43  ecvCustomViewpointButtonDlg(QWidget* parent,
44  Qt::WindowFlags f,
45  QStringList& toolTips,
46  QStringList& configurations,
47  QString& currentConfig);
48 
50 
54  const static QString DEFAULT_TOOLTIP;
55 
59  const static int MINIMUM_NUMBER_OF_ITEMS;
60 
64  const static int MAXIMUM_NUMBER_OF_ITEMS;
65 
70  void setToolTipsAndConfigurations(const QStringList& toolTips,
71  const QStringList& configs);
72 
74 
79  void setToolTips(const QStringList& toolTips);
80  QStringList getToolTips();
82 
84 
89  void setConfigurations(const QStringList& configs);
90  QStringList getConfigurations();
92 
94 
97  void setCurrentConfiguration(const QString& config);
100 
101 private slots:
102  void appendRow();
103  void importConfigurations();
104  void exportConfigurations();
105  void clearAll();
106 
107  void assignCurrentViewpoint();
108  void deleteRow();
109 
110 private:
112  QStringList Configurations;
113  QString CurrentConfiguration;
114  pqCustomViewpointButtonDialogUI* ui;
115 
116  friend class pqCustomViewpointButtonDialogUI;
117 };
#define CVAPPCOMMON_LIB_API
Definition: CVAppCommon.h:15
#define slots
void setConfigurations(const QStringList &configs)
QStringList getConfigurations()
ecvCustomViewpointButtonDlg(QWidget *parent, Qt::WindowFlags f, QStringList &toolTips, QStringList &configurations, QString &currentConfig)
void setToolTips(const QStringList &toolTips)
~ecvCustomViewpointButtonDlg() override
void setCurrentConfiguration(const QString &config)
void setToolTipsAndConfigurations(const QStringList &toolTips, const QStringList &configs)