1 /************************************************************************/
2 /* qt-opencv-opencl-opengl-multithreaded: */
3 /* A multithreaded OpenCV application using the Qt framework. */
4 /* */
5 /* ImageProcessingSettingsDialog.h */
6 /* */
7 /* Nick D'Ademo <nickdademo@gmail.com> */
8 /* */
9 /* Copyright (c) 2012-2013 Nick D'Ademo */
10 /* */
11 /* Permission is hereby granted, free of charge, to any person */
12 /* obtaining a copy of this software and associated documentation */
13 /* files (the "Software"), to deal in the Software without restriction, */
14 /* including without limitation the rights to use, copy, modify, merge, */
15 /* publish, distribute, sublicense, and/or sell copies of the Software, */
16 /* and to permit persons to whom the Software is furnished to do so, */
17 /* subject to the following conditions: */
18 /* */
19 /* The above copyright notice and this permission notice shall be */
20 /* included in all copies or substantial portions of the Software. */
21 /* */
22 /* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
23 /* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
24 /* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND */
25 /* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS */
26 /* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN */
27 /* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN */
28 /* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE */
29 /* SOFTWARE. */
30 /* */
31 /************************************************************************/
33 #ifndef IMAGEPROCESSINGSETTINGSDIALOG_H
34 #define IMAGEPROCESSINGSETTINGSDIALOG_H
36 // Qt
37 #include <QDialog>
38 #include <QAbstractButton>
39 // Local
40 #include "Structures.h"
41 #include "Config.h"
43 namespace Ui {
44 class ImageProcessingSettingsDialog;
45 }
47 class ImageProcessingSettingsDialog : public QDialog
48 {
49 Q_OBJECT
51 public:
52 explicit ImageProcessingSettingsDialog(QWidget *parent = 0);
53 ~ImageProcessingSettingsDialog();
54 void updateDialogSettingsFromStored();
56 private:
57 Ui::ImageProcessingSettingsDialog *ui;
58 ImageProcessingSettings imageProcessingSettings;
60 public slots:
61 void resetAllDialogToDefaults();
62 void updateStoredSettingsFromDialog();
64 private slots:
65 void resetSmoothDialogToDefaults();
66 void resetDilateDialogToDefaults();
67 void resetErodeDialogToDefaults();
68 void resetFlipDialogToDefaults();
69 void resetCannyDialogToDefaults();
70 void validateDialog();
71 void smoothTypeChange(QAbstractButton *);
73 signals:
74 void newImageProcessingSettings(struct ImageProcessingSettings p_settings);
75 };
77 #endif // IMAGEPROCESSINGSETTINGSDIALOG_H