Add config option for default KDM type.
[dcpomatic.git] / src / wx / kdm_choice.cc
1 /*
2     Copyright (C) 2022 Carl Hetherington <cth@carlh.net>
3
4     This file is part of DCP-o-matic.
5
6     DCP-o-matic is free software; you can redistribute it and/or modify
7     it under the terms of the GNU General Public License as published by
8     the Free Software Foundation; either version 2 of the License, or
9     (at your option) any later version.
10
11     DCP-o-matic is distributed in the hope that it will be useful,
12     but WITHOUT ANY WARRANTY; without even the implied warranty of
13     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14     GNU General Public License for more details.
15
16     You should have received a copy of the GNU General Public License
17     along with DCP-o-matic.  If not, see <http://www.gnu.org/licenses/>.
18
19 */
20
21
22 #include "kdm_choice.h"
23
24
25 KDMChoice::KDMChoice (wxWindow* parent)
26         : wxChoice (parent, wxID_ANY)
27 {
28         Append("Modified Transitional 1", reinterpret_cast<void*>(dcp::Formulation::MODIFIED_TRANSITIONAL_1));
29         Append("DCI Any", reinterpret_cast<void*>(dcp::Formulation::DCI_ANY));
30         Append("DCI Specific", reinterpret_cast<void*>(dcp::Formulation::DCI_SPECIFIC));
31         Append("Multiple Modified Transitional 1", reinterpret_cast<void*>(dcp::Formulation::MULTIPLE_MODIFIED_TRANSITIONAL_1));
32 }
33
34
35 dcp::Formulation
36 KDMChoice::get_formulation (unsigned int n) const
37 {
38         return static_cast<dcp::Formulation>(reinterpret_cast<intptr_t>(GetClientData(n)));
39 }
40
41
42 dcp::Formulation
43 KDMChoice::get () const
44 {
45         return get_formulation(GetSelection());
46 }
47
48
49 void
50 KDMChoice::set (dcp::Formulation type)
51 {
52         for (unsigned int i = 0; i < GetCount(); ++i) {
53                 if (get_formulation(i) == type) {
54                         SetSelection(i);
55                         return;
56                 }
57         }
58 }
59
60
61
62