X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Fwx%2Faudio_mapping_view.h;h=aad152a622172be69fb25d9f82adc9e542ad468e;hb=6e3e984162ca7a181bc7c98d90c295e88e4e7f6c;hp=e20e5289bc30901948d51a7d4b1a8a779fe8f927;hpb=c622a06189181a3a6ad356094c9a3cf4e1f5a722;p=dcpomatic.git diff --git a/src/wx/audio_mapping_view.h b/src/wx/audio_mapping_view.h index e20e5289b..aad152a62 100644 --- a/src/wx/audio_mapping_view.h +++ b/src/wx/audio_mapping_view.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2013-2020 Carl Hetherington + Copyright (C) 2013-2021 Carl Hetherington This file is part of DCP-o-matic. @@ -18,18 +18,22 @@ */ + /** @file src/wx/audio_mapping_view.h * @brief AudioMappingView class. * */ + #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, * with gain values on each node of the map. @@ -44,15 +48,14 @@ DCPOMATIC_ENABLE_WARNINGS * hidden from view. Thus input channels are never hidden but output channels * might be. */ - class AudioMappingView : public wxPanel { public: - explicit AudioMappingView (wxWindow *, wxString left_label, wxString from, wxString top_label, wxString to); + 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 { @@ -76,7 +79,6 @@ public: private: void map_values_changed (); - void setup_sizes (); void paint (); void paint_static (wxDC& dc); void paint_column_labels (wxDC& dc); @@ -90,21 +92,20 @@ private: void right_down (wxMouseEvent &); void motion (wxMouseEvent &); void mouse_wheel (wxMouseEvent &); - boost::optional > mouse_event_to_channels (wxMouseEvent& ev) const; + boost::optional> mouse_event_to_channels (wxMouseEvent& ev) const; boost::optional mouse_event_to_input_group_name (wxMouseEvent& ev) const; void setup (); - wxString safe_input_channel_name (int n) const; - wxString safe_output_channel_name (int n) const; + wxString input_channel_name_with_group (NamedChannel const& n) const; void set_gain_from_menu (double linear); void edit (); AudioMapping _map; - wxMenu* _menu; - wxPanel* _body; - wxScrollBar* _vertical_scroll; - wxScrollBar* _horizontal_scroll; + wxMenu* _menu = nullptr; + wxPanel* _body = nullptr; + wxScrollBar* _vertical_scroll = nullptr; + wxScrollBar* _horizontal_scroll = nullptr; int _menu_input; int _menu_output; @@ -113,9 +114,11 @@ private: wxString _top_label; wxString _to; - std::vector _input_channels; - std::vector _output_channels; + std::vector _input_channels; + std::vector _output_channels; std::vector _input_groups; + std::vector _column_widths; + int _column_widths_total = 0; - boost::optional > _last_tooltip_channels; + boost::optional> _last_tooltip_channels; };