change API for CairoWidget::focus_handler
authorPaul Davis <paul@linuxaudiosystems.com>
Tue, 15 Mar 2016 16:34:26 +0000 (12:34 -0400)
committerPaul Davis <paul@linuxaudiosystems.com>
Tue, 15 Mar 2016 16:41:21 +0000 (12:41 -0400)
commit9a11e3a64d485f2e9ae2bb2dd6409eb1c87f99d0
tree34a6bccac86400f74d58f7f4c9eb12e05771b50f
parenta8f242f80a980698f82d6ac6692e46e5373893c6
change API for CairoWidget::focus_handler

This functor/closure is responsible for stealing focus from any existing text entry (or whatever else may have focus)
when clicking on a CairoWidget or derived class.

The old implementation just gave focus back to the editor canvas. The new version walks up the widget packing
heirarchy to find a focusable parent (from the CairoWidget for which it is invoked). If no focusable parent
is found, it cancels keyboard focus in the toplevel window containing the CairoWidget
gtk2_ardour/ardour_button.cc
gtk2_ardour/big_clock_window.cc
gtk2_ardour/editor.cc
gtk2_ardour/editor.h
gtk2_ardour/editor_actions.cc
gtk2_ardour/editor_mouse.cc
gtk2_ardour/public_editor.h
libs/gtkmm2ext/cairo_widget.cc
libs/gtkmm2ext/gtkmm2ext/cairo_widget.h