X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Fwx%2Ftime_picker.h;h=50177afd3e49a78c4f719828a37682d35b2eabca;hb=c36609cf83b825110e9b5472ba8b8ada4b10c1cd;hp=80888301031f18f2599bf5fddc8654cf319aae1d;hpb=5b7c8b06f7d9ea910020b4620c234cf0dce95a66;p=dcpomatic.git diff --git a/src/wx/time_picker.h b/src/wx/time_picker.h index 808883010..50177afd3 100644 --- a/src/wx/time_picker.h +++ b/src/wx/time_picker.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2016 Carl Hetherington + Copyright (C) 2016-2020 Carl Hetherington This file is part of DCP-o-matic. @@ -18,30 +18,55 @@ */ + +#include +LIBDCP_DISABLE_WARNINGS #include +LIBDCP_ENABLE_WARNINGS #include -class wxTextCtrl; -class wxSpinButton; +class wxSpinCtrl; + class TimePicker : public wxPanel { public: - TimePicker (wxWindow* parent, wxDateTime time); + TimePicker (wxWindow* parent); - int hours () const; - int minutes () const; + virtual int hours () const = 0; + virtual int minutes () const = 0; boost::signals2::signal Changed; +}; + + +class TimePickerSpin : public TimePicker +{ +public: + TimePickerSpin (wxWindow* parent, wxDateTime time); + + int hours () const override; + int minutes () const override; + +private: + void changed (); + + wxSpinCtrl* _hours; + wxSpinCtrl* _minutes; +}; + + +class TimePickerText : public TimePicker +{ +public: + TimePickerText (wxWindow* parent, wxDateTime time); + + int hours () const override; + int minutes () const override; private: - void update_spin (); - void update_text (); + void changed (); wxTextCtrl* _hours; - wxSpinButton* _hours_spin; wxTextCtrl* _minutes; - wxSpinButton* _minutes_spin; - - bool _block_update; };