Tulip  5.2.0
Large graphs analysis and drawing
SnapshotDialog.h
1 /*
2  *
3  * This file is part of Tulip (http://tulip.labri.fr)
4  *
5  * Authors: David Auber and the Tulip development Team
6  * from LaBRI, University of Bordeaux
7  *
8  * Tulip is free software; you can redistribute it and/or modify
9  * it under the terms of the GNU Lesser General Public License
10  * as published by the Free Software Foundation, either version 3
11  * of the License, or (at your option) any later version.
12  *
13  * Tulip is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
16  * See the GNU General Public License for more details.
17  *
18  */
19 ///@cond DOXYGEN_HIDDEN
20 
21 #ifndef _Tulip_SNAPSHOTDIALOG_H
22 #define _Tulip_SNAPSHOTDIALOG_H
23 
24 #include <QDialog>
25 
26 #include <tulip/tulipconf.h>
27 
28 namespace Ui {
29 class SnapshotDialogData;
30 }
31 
32 class QGraphicsScene;
33 class QGraphicsPixmapItem;
34 class QAbstractButton;
35 class QLabel;
36 
37 namespace tlp {
38 
39 class LockLabel;
40 class View;
41 
42 class TLP_QT_SCOPE SnapshotDialog : public QDialog {
43 
44  Q_OBJECT
45 
46 public:
47  SnapshotDialog(const View *v, QWidget *parent = nullptr);
48  ~SnapshotDialog() override;
49 
50  void setSnapshotHasViewSizeRatio(bool snapshotHasViewSizeRatio);
51 
52 public slots:
53 
54  void accept() override;
55 
56 protected slots:
57 
58  void widthSpinBoxValueChanged(int value);
59  void heightSpinBoxValueChanged(int value);
60  void clicked(QAbstractButton *b);
61 
62 protected:
63  void resizeEvent(QResizeEvent *) override;
64 
65  void sizeSpinBoxValueChanged();
66 
67  Ui::SnapshotDialogData *ui;
68  const View *view;
69 
70  LockLabel *lockLabel;
71 
72  float ratio;
73 
74  bool inSizeSpinBoxValueChanged;
75 };
76 }
77 
78 #endif
79 
80 ///@endcond