/* Copyright (C) 2025 Carl Hetherington 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 . */ #include #include #include class CheckBox; class Choice; class RatioPicker : public wxPanel { public: RatioPicker(wxWindow* parent, boost::optional ratio); CheckBox* enable_checkbox() const { return _enable; } void set(boost::optional ratio); boost::signals2::signal)> Changed; private: void enable_changed(); void preset_changed(); void custom_changed(); void set_preset(boost::optional ratio); void set_custom(boost::optional ratio); void setup_sensitivity(); CheckBox* _enable; Choice* _preset; wxTextCtrl* _custom; bool _ignore_changes = false; };