Add comment about AudioDialog.
[dcpomatic.git] / src / wx / dcpomatic_choice.cc
index cf43b13edc2a8ba1e6b0954db64816b80f3a424c..2f1a6f0e9b782b34d006912afd71b9cc5350fc13 100644 (file)
@@ -70,6 +70,18 @@ Choice::add(wxString const& entry, wxClientData* data)
 }
 
 
+void
+Choice::add(wxString const& entry, wxString const& data)
+{
+       if (_needs_clearing) {
+               Clear();
+               _needs_clearing = false;
+       }
+
+       Append(entry, new wxStringClientData(data));
+}
+
+
 void
 Choice::set(int index)
 {
@@ -77,6 +89,20 @@ Choice::set(int index)
 }
 
 
+void
+Choice::set_by_data(wxString const& data)
+{
+       for (unsigned int i = 0; i < GetCount(); ++i) {
+               if (auto client_data = dynamic_cast<wxStringClientData*>(GetClientObject(i))) {
+                       if (client_data->GetData() == data) {
+                               set(i);
+                               return;
+                       }
+               }
+       }
+}
+
+
 optional<int>
 Choice::get() const
 {