app: add gimp_tool_gui_set_description() and use it
This commit is contained in:
@ -44,7 +44,7 @@ typedef struct _GimpToolGuiPrivate GimpToolGuiPrivate;
|
|||||||
struct _GimpToolGuiPrivate
|
struct _GimpToolGuiPrivate
|
||||||
{
|
{
|
||||||
GimpToolInfo *tool_info;
|
GimpToolInfo *tool_info;
|
||||||
gchar *desc;
|
gchar *description;
|
||||||
|
|
||||||
gboolean overlay;
|
gboolean overlay;
|
||||||
|
|
||||||
@ -124,10 +124,10 @@ gimp_tool_gui_finalize (GObject *object)
|
|||||||
{
|
{
|
||||||
GimpToolGuiPrivate *private = GET_PRIVATE (object);
|
GimpToolGuiPrivate *private = GET_PRIVATE (object);
|
||||||
|
|
||||||
if (private->desc)
|
if (private->description)
|
||||||
{
|
{
|
||||||
g_free (private->desc);
|
g_free (private->description);
|
||||||
private->desc = NULL;
|
private->description = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
G_OBJECT_CLASS (gimp_tool_gui_parent_class)->finalize (object);
|
G_OBJECT_CLASS (gimp_tool_gui_parent_class)->finalize (object);
|
||||||
@ -137,7 +137,7 @@ gimp_tool_gui_finalize (GObject *object)
|
|||||||
/**
|
/**
|
||||||
* gimp_tool_gui_new:
|
* gimp_tool_gui_new:
|
||||||
* @tool_info: a #GimpToolInfo
|
* @tool_info: a #GimpToolInfo
|
||||||
* @desc: a string to use in the gui header or %NULL to use the help
|
* @description: a string to use in the gui header or %NULL to use the help
|
||||||
* field from #GimpToolInfo
|
* field from #GimpToolInfo
|
||||||
* @...: a %NULL-terminated valist of button parameters as described in
|
* @...: a %NULL-terminated valist of button parameters as described in
|
||||||
* gtk_gui_new_with_buttons().
|
* gtk_gui_new_with_buttons().
|
||||||
@ -149,7 +149,7 @@ gimp_tool_gui_finalize (GObject *object)
|
|||||||
**/
|
**/
|
||||||
GimpToolGui *
|
GimpToolGui *
|
||||||
gimp_tool_gui_new (GimpToolInfo *tool_info,
|
gimp_tool_gui_new (GimpToolInfo *tool_info,
|
||||||
const gchar *desc,
|
const gchar *description,
|
||||||
gboolean overlay,
|
gboolean overlay,
|
||||||
...)
|
...)
|
||||||
{
|
{
|
||||||
@ -164,13 +164,12 @@ gimp_tool_gui_new (GimpToolInfo *tool_info,
|
|||||||
private = GET_PRIVATE (gui);
|
private = GET_PRIVATE (gui);
|
||||||
|
|
||||||
private->tool_info = g_object_ref (tool_info);
|
private->tool_info = g_object_ref (tool_info);
|
||||||
private->desc = g_strdup (desc);
|
private->description = g_strdup (description);
|
||||||
|
|
||||||
private->overlay = overlay;
|
private->overlay = overlay;
|
||||||
|
|
||||||
if (overlay)
|
if (overlay)
|
||||||
{
|
{
|
||||||
private->dialog = gimp_overlay_dialog_new (tool_info, desc, NULL);
|
private->dialog = gimp_overlay_dialog_new (tool_info, description, NULL);
|
||||||
g_object_ref_sink (private->dialog);
|
g_object_ref_sink (private->dialog);
|
||||||
|
|
||||||
va_start (args, overlay);
|
va_start (args, overlay);
|
||||||
@ -186,7 +185,7 @@ gimp_tool_gui_new (GimpToolInfo *tool_info,
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
private->dialog = gimp_tool_dialog_new (tool_info, desc, NULL);
|
private->dialog = gimp_tool_dialog_new (tool_info, description, NULL);
|
||||||
|
|
||||||
va_start (args, overlay);
|
va_start (args, overlay);
|
||||||
gimp_dialog_add_buttons_valist (GIMP_DIALOG (private->dialog), args);
|
gimp_dialog_add_buttons_valist (GIMP_DIALOG (private->dialog), args);
|
||||||
@ -201,6 +200,35 @@ gimp_tool_gui_new (GimpToolInfo *tool_info,
|
|||||||
return gui;
|
return gui;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
gimp_tool_gui_set_description (GimpToolGui *gui,
|
||||||
|
const gchar *description)
|
||||||
|
{
|
||||||
|
GimpToolGuiPrivate *private;
|
||||||
|
|
||||||
|
g_return_if_fail (GIMP_IS_TOOL_GUI (gui));
|
||||||
|
|
||||||
|
private = GET_PRIVATE (gui);
|
||||||
|
|
||||||
|
if (description == private->description)
|
||||||
|
return;
|
||||||
|
|
||||||
|
g_free (private->description);
|
||||||
|
private->description = g_strdup (description);
|
||||||
|
|
||||||
|
if (! description)
|
||||||
|
description = private->tool_info->help;
|
||||||
|
|
||||||
|
if (private->overlay)
|
||||||
|
{
|
||||||
|
/* TODO */
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
g_object_set (private->dialog, "description", description, NULL);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
gimp_tool_gui_set_shell (GimpToolGui *gui,
|
gimp_tool_gui_set_shell (GimpToolGui *gui,
|
||||||
GimpDisplayShell *shell)
|
GimpDisplayShell *shell)
|
||||||
|
@ -49,10 +49,13 @@ struct _GimpToolGuiClass
|
|||||||
GType gimp_tool_gui_get_type (void) G_GNUC_CONST;
|
GType gimp_tool_gui_get_type (void) G_GNUC_CONST;
|
||||||
|
|
||||||
GimpToolGui * gimp_tool_gui_new (GimpToolInfo *tool_info,
|
GimpToolGui * gimp_tool_gui_new (GimpToolInfo *tool_info,
|
||||||
const gchar *desc,
|
const gchar *description,
|
||||||
gboolean overlay,
|
gboolean overlay,
|
||||||
...) G_GNUC_NULL_TERMINATED;
|
...) G_GNUC_NULL_TERMINATED;
|
||||||
|
|
||||||
|
void gimp_tool_gui_set_description (GimpToolGui *gui,
|
||||||
|
const gchar *description);
|
||||||
|
|
||||||
void gimp_tool_gui_set_shell (GimpToolGui *gui,
|
void gimp_tool_gui_set_shell (GimpToolGui *gui,
|
||||||
GimpDisplayShell *shell);
|
GimpDisplayShell *shell);
|
||||||
void gimp_tool_gui_set_viewable (GimpToolGui *gui,
|
void gimp_tool_gui_set_viewable (GimpToolGui *gui,
|
||||||
|
@ -44,6 +44,7 @@
|
|||||||
#include "widgets/gimpproptable.h"
|
#include "widgets/gimpproptable.h"
|
||||||
|
|
||||||
#include "display/gimpdisplay.h"
|
#include "display/gimpdisplay.h"
|
||||||
|
#include "display/gimptoolgui.h"
|
||||||
|
|
||||||
#include "gimpcoloroptions.h"
|
#include "gimpcoloroptions.h"
|
||||||
#include "gimpoperationtool.h"
|
#include "gimpoperationtool.h"
|
||||||
@ -202,9 +203,8 @@ gimp_operation_tool_dialog (GimpImageMapTool *image_map_tool)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (tool->undo_desc)
|
if (tool->undo_desc)
|
||||||
g_object_set (GIMP_IMAGE_MAP_TOOL (tool)->gui,
|
gimp_tool_gui_set_description (GIMP_IMAGE_MAP_TOOL (tool)->gui,
|
||||||
"description", tool->undo_desc,
|
tool->undo_desc);
|
||||||
NULL);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -448,9 +448,8 @@ gimp_operation_tool_set_operation (GimpOperationTool *tool,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (undo_desc && GIMP_IMAGE_MAP_TOOL (tool)->gui)
|
if (undo_desc && GIMP_IMAGE_MAP_TOOL (tool)->gui)
|
||||||
g_object_set (GIMP_IMAGE_MAP_TOOL (tool)->gui,
|
gimp_tool_gui_set_description (GIMP_IMAGE_MAP_TOOL (tool)->gui,
|
||||||
"description", undo_desc,
|
undo_desc);
|
||||||
NULL);
|
|
||||||
|
|
||||||
if (GIMP_TOOL (tool)->drawable)
|
if (GIMP_TOOL (tool)->drawable)
|
||||||
gimp_image_map_tool_preview (GIMP_IMAGE_MAP_TOOL (tool));
|
gimp_image_map_tool_preview (GIMP_IMAGE_MAP_TOOL (tool));
|
||||||
|
Reference in New Issue
Block a user