app: handle GimpToolWidget::message in GimpToolWidgetGroup
... by forwarding the message, if the emitting widget has focus.
(cherry picked from commit 00a06f94be
)
This commit is contained in:
@ -123,6 +123,9 @@ static void gimp_tool_widget_group_child_status_coords (GimpToolWidg
|
|||||||
gdouble y,
|
gdouble y,
|
||||||
const gchar *help,
|
const gchar *help,
|
||||||
GimpToolWidgetGroup *group);
|
GimpToolWidgetGroup *group);
|
||||||
|
static void gimp_tool_widget_group_child_message (GimpToolWidget *child,
|
||||||
|
const gchar *message,
|
||||||
|
GimpToolWidgetGroup *group);
|
||||||
static void gimp_tool_widget_group_child_focus_changed (GimpToolWidget *child,
|
static void gimp_tool_widget_group_child_focus_changed (GimpToolWidget *child,
|
||||||
GimpToolWidgetGroup *group);
|
GimpToolWidgetGroup *group);
|
||||||
|
|
||||||
@ -201,6 +204,9 @@ gimp_tool_widget_group_init (GimpToolWidgetGroup *group)
|
|||||||
gimp_container_add_handler (priv->children, "status-coords",
|
gimp_container_add_handler (priv->children, "status-coords",
|
||||||
G_CALLBACK (gimp_tool_widget_group_child_status_coords),
|
G_CALLBACK (gimp_tool_widget_group_child_status_coords),
|
||||||
group);
|
group);
|
||||||
|
gimp_container_add_handler (priv->children, "message",
|
||||||
|
G_CALLBACK (gimp_tool_widget_group_child_message),
|
||||||
|
group);
|
||||||
gimp_container_add_handler (priv->children, "focus-changed",
|
gimp_container_add_handler (priv->children, "focus-changed",
|
||||||
G_CALLBACK (gimp_tool_widget_group_child_focus_changed),
|
G_CALLBACK (gimp_tool_widget_group_child_focus_changed),
|
||||||
group);
|
group);
|
||||||
@ -596,6 +602,18 @@ gimp_tool_widget_group_child_status_coords (GimpToolWidget *child,
|
|||||||
gimp_tool_widget_set_status_coords (widget, title, x, separator, y, help);
|
gimp_tool_widget_set_status_coords (widget, title, x, separator, y, help);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
gimp_tool_widget_group_child_message (GimpToolWidget *child,
|
||||||
|
const gchar *message,
|
||||||
|
GimpToolWidgetGroup *group)
|
||||||
|
{
|
||||||
|
GimpToolWidgetGroupPrivate *priv = group->priv;
|
||||||
|
GimpToolWidget *widget = GIMP_TOOL_WIDGET (group);
|
||||||
|
|
||||||
|
if (priv->focus_widget == child)
|
||||||
|
gimp_tool_widget_message_literal (widget, message);
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
gimp_tool_widget_group_child_focus_changed (GimpToolWidget *child,
|
gimp_tool_widget_group_child_focus_changed (GimpToolWidget *child,
|
||||||
GimpToolWidgetGroup *group)
|
GimpToolWidgetGroup *group)
|
||||||
|
Reference in New Issue
Block a user