projects
/
dcpomatic.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Remove the empty column when there are no input groups.
[dcpomatic.git]
/
src
/
wx
/
audio_mapping_view.h
diff --git
a/src/wx/audio_mapping_view.h
b/src/wx/audio_mapping_view.h
index c1d8ba3874ae64316f1a3c41803078f04be988ba..c568954a0902b359e20670025ea20991d81a49fe 100644
(file)
--- a/
src/wx/audio_mapping_view.h
+++ b/
src/wx/audio_mapping_view.h
@@
-1,5
+1,5
@@
/*
/*
- Copyright (C) 2013-20
19
Carl Hetherington <cth@carlh.net>
+ Copyright (C) 2013-20
21
Carl Hetherington <cth@carlh.net>
This file is part of DCP-o-matic.
This file is part of DCP-o-matic.
@@
-18,14
+18,20
@@
*/
*/
+
/** @file src/wx/audio_mapping_view.h
* @brief AudioMappingView class.
/** @file src/wx/audio_mapping_view.h
* @brief AudioMappingView class.
- *
*/
*/
-#include <boost/signals2.hpp>
-#include <wx/scrolwin.h>
+
#include "lib/audio_mapping.h"
#include "lib/audio_mapping.h"
+#include "lib/named_channel.h"
+#include <dcp/warnings.h>
+LIBDCP_DISABLE_WARNINGS
+#include <wx/wx.h>
+LIBDCP_ENABLE_WARNINGS
+#include <boost/signals2.hpp>
+
/** @class AudioMappingView
* @brief This class displays the mapping of one set of audio channels to another,
/** @class AudioMappingView
* @brief This class displays the mapping of one set of audio channels to another,
@@
-41,15
+47,14
@@
* hidden from view. Thus input channels are never hidden but output channels
* might be.
*/
* hidden from view. Thus input channels are never hidden but output channels
* might be.
*/
-
-class AudioMappingView : public wxScrolledWindow
+class AudioMappingView : public wxPanel
{
public:
{
public:
-
explicit AudioMappingView (wxWindow *
);
+
AudioMappingView (wxWindow *, wxString left_label, wxString from, wxString top_label, wxString to
);
void set (AudioMapping);
void set (AudioMapping);
- void set_input_channels (std::vector<
std::string> const & name
s);
- void set_output_channels (std::vector<
std::string> const & name
s);
+ void set_input_channels (std::vector<
NamedChannel> const& channel
s);
+ void set_output_channels (std::vector<
NamedChannel> const& channel
s);
struct Group
{
struct Group
{
@@
-73,28
+78,42
@@
public:
private:
void map_values_changed ();
private:
void map_values_changed ();
- void setup_sizes ();
void paint ();
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 left_down (wxMouseEvent &);
void right_down (wxMouseEvent &);
void motion (wxMouseEvent &);
void left_down (wxMouseEvent &);
void right_down (wxMouseEvent &);
void motion (wxMouseEvent &);
- boost::optional<std::pair<int, int> > mouse_event_to_channels (wxMouseEvent& ev) const;
- void set_virtual_size ();
+ boost::optional<std::pair<NamedChannel, NamedChannel>> mouse_event_to_channels (wxMouseEvent& ev) const;
+ boost::optional<std::string> mouse_event_to_input_group_name (wxMouseEvent& ev) const;
+ void setup ();
+ wxString input_channel_name_with_group (NamedChannel const& n) const;
+ int left_width() const;
- void off ();
- void full ();
- void minus6dB ();
+ void set_gain_from_menu (double linear);
void edit ();
AudioMapping _map;
void edit ();
AudioMapping _map;
- wxMenu* _menu;
+ wxMenu* _menu
= nullptr
;
int _menu_input;
int _menu_output;
int _menu_input;
int _menu_output;
- std::vector<std::string> _input_channels;
- std::vector<std::string> _output_channels;
+ wxString _left_label;
+ wxString _from;
+ wxString _top_label;
+ wxString _to;
+
+ std::vector<NamedChannel> _input_channels;
+ std::vector<NamedChannel> _output_channels;
std::vector<Group> _input_groups;
std::vector<Group> _input_groups;
+ std::vector<int> _column_widths;
+ int _column_widths_total = 0;
- boost::optional<std::pair<
int, int>
> _last_tooltip_channels;
+ boost::optional<std::pair<
NamedChannel, NamedChannel>
> _last_tooltip_channels;
};
};