/*
- Copyright (C) 2013-2019 Carl Hetherington <cth@carlh.net>
+ Copyright (C) 2013-2020 Carl Hetherington <cth@carlh.net>
This file is part of DCP-o-matic.
*/
#include <boost/signals2.hpp>
-#include <wx/scrolwin.h>
+#include <wx/wx.h>
#include "lib/audio_mapping.h"
/** @class AudioMappingView
* might be.
*/
-class AudioMappingView : public wxScrolledWindow
+class AudioMappingView : public wxPanel
{
public:
- explicit AudioMappingView (wxWindow *);
+ explicit AudioMappingView (wxWindow *, wxString left_label, wxString from, wxString top_label, wxString to);
void set (AudioMapping);
void set_input_channels (std::vector<std::string> const & names);
void map_values_changed ();
void setup_sizes ();
void paint ();
+ void paint_static (wxDC& dc, wxGraphicsContext* gc);
+ void paint_column_labels (wxDC& dc, wxGraphicsContext* gc);
+ void paint_column_lines (wxGraphicsContext* gc);
+ void paint_row_labels (wxDC& dc, wxGraphicsContext* gc);
+ void paint_row_lines (wxGraphicsContext* gc);
+ void paint_indicators (wxDC& dc);
+ void size (wxSizeEvent &);
+ void scroll ();
void left_down (wxMouseEvent &);
void right_down (wxMouseEvent &);
void motion (wxMouseEvent &);
+ void mouse_wheel (wxMouseEvent &);
boost::optional<std::pair<int, int> > mouse_event_to_channels (wxMouseEvent& ev) const;
- void set_virtual_size ();
+ boost::optional<std::string> 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;
- 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;
+ wxString _left_label;
+ wxString _from;
+ wxString _top_label;
+ wxString _to;
+
std::vector<std::string> _input_channels;
std::vector<std::string> _output_channels;
std::vector<Group> _input_groups;