Overriding pointer_focus()

customcontainer.C gives an example of overriding pointer_focus() in the implementation object. The main window's grid layout manager provides a 10 millimeter padding() for the custom container. The custom container's grid layout manager provides an additional 10 millimeter padding for its small input field.

pointer_focus() gets invoked whenever the pointer moves into, or out of, a widget. Moving the pointer ten millimeters into the window crosses into the custom container, triggering a call to pointer_focus(). The custom implementation uses this to set the custom widget's background color to a radial gradient color. Moving the pointer out of the container restores the default background color.


The entire window's background color changes, and not just the custom container's This is because a widget's background color includes any padding around the widget. The custom container's background color gets extended to the padding area around it.