1 // -*- c-basic-offset: 4 -*-
2 /**  @file HDRMergeOptionDialog.h
3  *
4  *  @brief Definition of dialog for hdrmerge options
5  *
6  *  @author Thomas Modes
7  *
8  *  $Id$
9  *
10  */
11 
12 /*  This is free software; you can redistribute it and/or
13  *  modify it under the terms of the GNU General Public
14  *  License as published by the Free Software Foundation; either
15  *  version 2 of the License, or (at your option) any later version.
16  *
17  *  This software is distributed in the hope that it will be useful,
18  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
19  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
20  *  Lesser General Public License for more details.
21  *
22  *  You should have received a copy of the GNU General Public
23  *  License along with this software. If not, see
24  *  <http://www.gnu.org/licenses/>.
25  *
26  */
27 
28 #ifndef _HDRMERGEOPTIONDIALOG_H
29 #define _HDRMERGEOPTIONDIALOG_H
30 
31 #include "panoinc_WX.h"
32 
33 /** Dialog for reset panorama settings
34  *
35  * Dialog let user select, which parameter should be reseted.
36  * The user can select
37  * - reset position (yaw, pitch, roll)
38  * - reset fov (when images files have the right EXIF values, otherwise fov remains unchanged)
39  * - reset lens parameter (a, b, c, d, e, g, t)
40  * - reset exposure: to EXIF value (exposure correction) or zero (no exposure correction)
41  * - reset color
42  * - reset vignetting
43  * - reset camera response
44  */
45 class HDRMergeOptionsDialog : public wxDialog
46 {
47 public:
48     /** Constructor, read from xrc ressource */
49     HDRMergeOptionsDialog(wxWindow *parent);
50     /** sets the currents state of the hdrmerge options */
51     void SetCommandLineArgument(wxString cmd);
52     /** returns the hdrmerge options as command line arguments */
GetCommandLineArgument()53     wxString GetCommandLineArgument() { return m_cmd;};
54     /** check inputs */
55     void OnOk(wxCommandEvent & e);
56 
57 protected:
58     /** event handler when user selected different mode, refresh advanced option display */
59     void OnModeChanged(wxCommandEvent &e);
60 
61 private:
62     bool BuildCommandLineArgument();
63     wxChoice *m_mode;
64     wxPanel *m_panel_avg;
65     wxPanel *m_panel_avgslow;
66     wxPanel *m_panel_khan;
67     wxCheckBox *m_option_c;
68     wxSpinCtrl *m_khan_iter;
69     wxTextCtrl *m_khan_sigma;
70     wxCheckBox *m_option_khan_af;
71     wxCheckBox *m_option_khan_ag;
72     wxCheckBox *m_option_khan_am;
73     wxString m_cmd;
74     DECLARE_EVENT_TABLE()
75 };
76 
77 #endif //_HDRMERGEOPTIONDIALOG_H
78