1 // -*- c-basic-offset: 4 -*-
2 /**  @file ResetDialog.h
3  *
4  *  @brief Definition of ResetDialog class
5  *
6  *  @author Thomas Modes
7  *
8  */
9 
10 /*  This is free software; you can redistribute it and/or
11  *  modify it under the terms of the GNU General Public
12  *  License as published by the Free Software Foundation; either
13  *  version 2 of the License, or (at your option) any later version.
14  *
15  *  This software is distributed in the hope that it will be useful,
16  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
17  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
18  *  Lesser General Public License for more details.
19  *
20  *  You should have received a copy of the GNU General Public
21  *  License along with this software. If not, see
22  *  <http://www.gnu.org/licenses/>.
23  *
24  */
25 
26 #ifndef _RESETDIALOG_H
27 #define _RESETDIALOG_H
28 
29 #include "panoinc_WX.h"
30 #include "GuiLevel.h"
31 
32 /** Dialog for reset panorama settings
33  *
34  * Dialog let user select, which parameter should be reseted.
35  * The user can select
36  * - reset position (yaw, pitch, roll)
37  * - reset fov (when images files have the right EXIF values, otherwise fov remains unchanged)
38  * - reset lens parameter (a, b, c, d, e, g, t)
39  * - reset exposure: to EXIF value (exposure correction) or zero (no exposure correction)
40  * - reset color: to EXIF value or one
41  * - reset vignetting
42  * - reset camera response
43  */
44 class ResetDialog : public wxDialog
45 {
46 public:
47     /** Constructor, read from xrc ressource; restore last uses settings, size and position */
48     ResetDialog(wxWindow *parent, GuiLevel guiLevel);
49 	/** Return TRUE, when user selected "Reset position" */
50 	bool GetResetPos();
51 	/** Return TRUE, when user selected "Reset translation" */
52 	bool GetResetTranslation();
53 	/** Return TRUE, when user selected "Reset FOV" */
54 	bool GetResetFOV();
55 	/** Return TRUE, when user selected "Reset lens" */
56 	bool GetResetLens();
57 	/** Return TRUE, when user selected "Reset exposure" */
58 	bool GetResetExposure();
59 	/** Return TRUE, when user selected "Reset exposure to EXIF",
60 	 * Return FALSE, when user selected "Reset exposure to ZERO"
61 	 */
62 	bool GetResetExposureToExif();
63 	/** Return TRUE, when user selected "Reset color" */
64 	bool GetResetColor();
65 	/** Return TRUE, when user selected "Reset color to EXIF",
66 	 * Return FALSE, when user selected "Reset color to ONE"
67 	 */
68 	bool GetResetColorToExif();
69 	/** Return TRUE, when user selected "Reset vignetting" */
70 	bool GetResetVignetting();
71 	/** Return TRUE, when user selected "Reset Camera Response" */
72 	bool GetResetResponse();
73 
74     /** limits the displayed parameters to geometric parameters */
75     void LimitToGeometric();
76     /** limits the displayed parameters to photometric parameters */
77     void LimitToPhotometric();
78 protected:
79 	/** Method for enabling/disable combobox to select reset exposure to EXIF or ZERO
80 	 * depending on state of "Reset exposure" checkbox
81 	 */
82 	void OnSelectExposure(wxCommandEvent & e);
83 	/** Method for enabling/disable combobox to select reset color to EXIF or ONE
84 	 * depending on state of "Reset color" checkbox
85 	 */
86 	void OnSelectColor(wxCommandEvent & e);
87 	/** Saves current state of all checkboxes when closing dialog with Ok */
88 	void OnOk(wxCommandEvent & e);
89 
90 private:
91     DECLARE_EVENT_TABLE()
92 };
93 
94 #endif //_RESETDIALOG_H
95