X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Fwx%2Faudio_mapping_view.h;h=f5626e524d66020e44c544a65f1570cba888f404;hb=ba9fb85168d004d7643dc02f911fd173a136758b;hp=c1d8ba3874ae64316f1a3c41803078f04be988ba;hpb=eed0487aa9cd13faa45d8f79c777306fd85956b3;p=dcpomatic.git diff --git a/src/wx/audio_mapping_view.h b/src/wx/audio_mapping_view.h index c1d8ba387..f5626e524 100644 --- a/src/wx/audio_mapping_view.h +++ b/src/wx/audio_mapping_view.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2013-2019 Carl Hetherington + Copyright (C) 2013-2020 Carl Hetherington This file is part of DCP-o-matic. @@ -23,9 +23,13 @@ * */ -#include -#include #include "lib/audio_mapping.h" +#include "lib/types.h" +#include "lib/warnings.h" +DCPOMATIC_DISABLE_WARNINGS +#include +DCPOMATIC_ENABLE_WARNINGS +#include /** @class AudioMappingView * @brief This class displays the mapping of one set of audio channels to another, @@ -42,14 +46,14 @@ * might be. */ -class AudioMappingView : public wxScrolledWindow +class AudioMappingView : public wxPanel { public: - explicit AudioMappingView (wxWindow *); + AudioMappingView (wxWindow *, wxString left_label, wxString from, wxString top_label, wxString to); void set (AudioMapping); - void set_input_channels (std::vector const & names); - void set_output_channels (std::vector const & names); + void set_input_channels (std::vector const& channels); + void set_output_channels (std::vector const& channels); struct Group { @@ -75,26 +79,43 @@ private: void map_values_changed (); void setup_sizes (); void paint (); + void paint_static (wxDC& dc); + void paint_column_labels (wxDC& dc); + void paint_column_lines (wxDC& dc); + void paint_row_labels (wxDC& dc); + void paint_row_lines (wxDC& dc); + void paint_indicators (wxDC& dc); + void size (wxSizeEvent &); + void scroll (); void left_down (wxMouseEvent &); void right_down (wxMouseEvent &); void motion (wxMouseEvent &); - boost::optional > mouse_event_to_channels (wxMouseEvent& ev) const; - void set_virtual_size (); + void mouse_wheel (wxMouseEvent &); + boost::optional > mouse_event_to_channels (wxMouseEvent& ev) const; + boost::optional mouse_event_to_input_group_name (wxMouseEvent& ev) const; + void setup (); + wxString input_channel_name_with_group (NamedChannel const& n) const; - void off (); - void full (); - void minus6dB (); + void set_gain_from_menu (double linear); void edit (); AudioMapping _map; wxMenu* _menu; + wxPanel* _body; + wxScrollBar* _vertical_scroll; + wxScrollBar* _horizontal_scroll; int _menu_input; int _menu_output; - std::vector _input_channels; - std::vector _output_channels; + wxString _left_label; + wxString _from; + wxString _top_label; + wxString _to; + + std::vector _input_channels; + std::vector _output_channels; std::vector _input_groups; - boost::optional > _last_tooltip_channels; + boost::optional > _last_tooltip_channels; };