Bill Skaggs <weskaggs@primate.ucdavis.edu>

* app/core/gimpguide.[ch]: add "removed" signal and associated
	paraphernalia.

	* app/core/gimpimage-guides.c (gimp_image_remove_guide): call
	gimp_guide_removed() to cause signal emission.
This commit is contained in:
William Skaggs 2006-06-07 20:13:51 +00:00
parent 8ad41a0f1a
commit 4a60cf418b
4 changed files with 42 additions and 1 deletions

View file

@ -1,3 +1,11 @@
2006-06-07 Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/core/gimpguide.[ch]: add "removed" signal and associated
paraphernalia.
* app/core/gimpimage-guides.c (gimp_image_remove_guide): call
gimp_guide_removed() to cause signal emission.
2006-06-07 Sven Neumann <sven@gimp.org>
* app/tools/gimpnewrectselecttool.c: removed extra semicolon to

View file

@ -29,7 +29,14 @@
#include "core-types.h"
#include "gimpguide.h"
#include "gimpmarshal.h"
enum
{
REMOVED,
MOVED,
LAST_SIGNAL
};
enum
{
@ -52,15 +59,29 @@ static void gimp_guide_set_property (GObject *object,
G_DEFINE_TYPE (GimpGuide, gimp_guide, G_TYPE_OBJECT)
static guint gimp_guide_signals[LAST_SIGNAL] = { 0 };
static void
gimp_guide_class_init (GimpGuideClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
gimp_guide_signals[REMOVED] =
g_signal_new ("removed",
G_TYPE_FROM_CLASS (klass),
G_SIGNAL_RUN_FIRST,
G_STRUCT_OFFSET (GimpGuideClass, removed),
NULL, NULL,
gimp_marshal_VOID__VOID,
G_TYPE_NONE, 0);
object_class->get_property = gimp_guide_get_property;
object_class->set_property = gimp_guide_set_property;
klass->removed = NULL;
g_object_class_install_property (object_class, PROP_ID,
g_param_spec_uint ("id", NULL, NULL,
0, G_MAXUINT32, 0,
@ -188,3 +209,11 @@ gimp_guide_set_position (GimpGuide *guide,
g_object_notify (G_OBJECT (guide), "position");
}
void
gimp_guide_removed (GimpGuide *guide)
{
g_return_if_fail (GIMP_IS_GUIDE (guide));
g_signal_emit (guide, gimp_guide_signals[REMOVED], 0);
}

View file

@ -48,6 +48,9 @@ struct _GimpGuide
struct _GimpGuideClass
{
GObjectClass parent_class;
/* signals */
void (* removed) (GimpGuide *guide);
};
@ -65,6 +68,6 @@ void gimp_guide_set_orientation (GimpGuide *guide,
gint gimp_guide_get_position (GimpGuide *guide);
void gimp_guide_set_position (GimpGuide *guide,
gint position);
void gimp_guide_removed (GimpGuide *guide);
#endif /* __GIMP_GUIDE_H__ */

View file

@ -113,6 +113,7 @@ gimp_image_remove_guide (GimpImage *image,
gimp_image_undo_push_image_guide (image, _("Remove Guide"), guide);
image->guides = g_list_remove (image->guides, guide);
gimp_guide_removed (guide);
gimp_guide_set_position (guide, -1);
g_object_unref (G_OBJECT (guide));