summaryrefslogtreecommitdiff
path: root/src/wx/monitor_dialog.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2018-10-09 19:19:45 +0100
committerCarl Hetherington <cth@carlh.net>2018-10-09 20:11:33 +0100
commit2eab969654eca2ef4b222790c8b730a6eb709565 (patch)
treebe8b463ce2c56692275e550fd419b7bce707d414 /src/wx/monitor_dialog.cc
parentbc5b4d4dc178dad75eacb02fd2d4e98c7d3801ec (diff)
swaroop: required monitors checks.
Diffstat (limited to 'src/wx/monitor_dialog.cc')
-rw-r--r--src/wx/monitor_dialog.cc68
1 files changed, 68 insertions, 0 deletions
diff --git a/src/wx/monitor_dialog.cc b/src/wx/monitor_dialog.cc
new file mode 100644
index 000000000..d247bc88b
--- /dev/null
+++ b/src/wx/monitor_dialog.cc
@@ -0,0 +1,68 @@
+/*
+ Copyright (C) 2018 Carl Hetherington <cth@carlh.net>
+
+ This file is part of DCP-o-matic.
+
+ DCP-o-matic is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ DCP-o-matic is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with DCP-o-matic. If not, see <http://www.gnu.org/licenses/>.
+
+*/
+
+#include "monitor_dialog.h"
+#include "wx_util.h"
+#include "lib/encode_server.h"
+#include <dcp/locale_convert.h>
+
+using std::string;
+using dcp::locale_convert;
+using boost::shared_ptr;
+using boost::optional;
+
+MonitorDialog::MonitorDialog (wxWindow* parent)
+ : TableDialog (parent, _("Device"), 2, 1, true)
+{
+ add (_("Manufacturer ID"), true);
+ _manufacturer_id = add (new wxTextCtrl(this, wxID_ANY, wxT("")));
+ add (_("Manufacturer product code"), true);
+ _manufacturer_product_code = add (new wxTextCtrl(this, wxID_ANY, wxT("")));
+ add (_("Serial number"), true);
+ _serial_number = add (new wxTextCtrl(this, wxID_ANY, wxT("")));
+ add (_("Week of manufacture"), true);
+ _week_of_manufacture = add (new wxTextCtrl(this, wxID_ANY, wxT("")));
+ add (_("Year of manufacture"), true);
+ _year_of_manufacture = add (new wxTextCtrl(this, wxID_ANY, wxT("")));
+
+ layout ();
+}
+
+void
+MonitorDialog::set (Monitor monitor)
+{
+ _manufacturer_id->SetValue (std_to_wx(monitor.manufacturer_id));
+ _manufacturer_product_code->SetValue (std_to_wx(locale_convert<string>(monitor.manufacturer_product_code)));
+ _serial_number->SetValue (std_to_wx(locale_convert<string>(monitor.serial_number)));
+ _week_of_manufacture->SetValue (std_to_wx(locale_convert<string>(monitor.week_of_manufacture)));
+ _year_of_manufacture->SetValue (std_to_wx(locale_convert<string>(monitor.year_of_manufacture)));
+}
+
+optional<Monitor>
+MonitorDialog::get () const
+{
+ Monitor m;
+ m.manufacturer_id = wx_to_std (_manufacturer_id->GetValue());
+ m.manufacturer_product_code = locale_convert<uint16_t>(wx_to_std(_manufacturer_product_code->GetValue()));
+ m.serial_number = locale_convert<uint32_t>(wx_to_std(_serial_number->GetValue()));
+ m.week_of_manufacture = locale_convert<uint8_t>(wx_to_std(_week_of_manufacture->GetValue()));
+ m.year_of_manufacture = locale_convert<uint8_t>(wx_to_std (_year_of_manufacture->GetValue()));
+ return m;
+}