Skip to content
  • Ell's avatar
    app: add GimpToolWidgetGroup · 4ef06b99
    Ell authored
    GimpToolWidgetGroup is a tool widget acting as a container for
    child widgets, multiplexing widget events and demultiplexing tool
    events.  It can be used by tools to display multiple widgets
    simultaneously.
    
    The group keeps track of the current focus widget, and hover
    widget.  Certain events are only dispatched to/forwarded from these
    widgets.
    
    The hover widget is determined by performing a hit test for all the
    children, starting from the last child.  The first widget returning
    GIMP_HIT_DIRECT, if any, is selected as the hover widget;
    otherwise, if the current focus widget returns GIMP_HIT_INDIRECT,
    it's selected; otherwise, if exactly one widget returns
    GIMP_HIT_INDIRECT, it's selected; otherwise, there is no hover
    widget.
    
    The focus widget is set when clicking on a widget (or
    programatically, using gimp_tool_widget_set_focus()).
    Additionally, the group can raise the clicked widget to the top of
    the stack (see gimp_tool_widget_group_set_auto_raise().)
    4ef06b99