+ Bind (wxEVT_GRID_CELL_LEFT_CLICK, boost::bind (&AudioMappingView::left_click, this, _1));
+ Bind (wxEVT_GRID_CELL_RIGHT_CLICK, boost::bind (&AudioMappingView::right_click, this, _1));
+ _grid->GetGridWindow()->Bind (wxEVT_MOTION, boost::bind (&AudioMappingView::mouse_moved, this, _1));
+
+ _menu = new wxMenu;
+ _menu->Append (ID_off, _("Off"));
+ _menu->Append (ID_full, _("Full"));
+ _menu->Append (ID_minus6dB, _("-6dB"));
+ _menu->Append (ID_edit, _("Edit..."));
+
+ Bind (wxEVT_COMMAND_MENU_SELECTED, boost::bind (&AudioMappingView::off, this), ID_off);
+ Bind (wxEVT_COMMAND_MENU_SELECTED, boost::bind (&AudioMappingView::full, this), ID_full);
+ Bind (wxEVT_COMMAND_MENU_SELECTED, boost::bind (&AudioMappingView::minus6dB, this), ID_minus6dB);
+ Bind (wxEVT_COMMAND_MENU_SELECTED, boost::bind (&AudioMappingView::edit, this), ID_edit);
+}
+
+/** Called when any gain value has changed */
+void
+AudioMappingView::map_values_changed ()
+{
+ update_cells ();
+ Changed (_map);
+ _last_tooltip_column = -1;