gimp/app/gimpset.h
GMT 1999 Austin Donnelly d40b66ac1d don't try and gdk_window_get_size() when we haven't been realised yet.
Sat Jan 23 20:36:06 GMT 1999  Austin Donnelly  <austin@gimp.org>

	* app/color_select.c: don't try and gdk_window_get_size() when we
	    haven't been realised yet.

	* app/gimpset.[ch]: allow the use of GTK_TYPE_NONE for storing
	    sets of things that aren't GTK_OBJECTs.  Set can also emit new
	    signal "member_modified" when gimp_set_member_modified (set,
	    ob) is called.

	* app/layers_dialog.c: show main dialog shell last, to avoid ugly
 	    window manager interaction.

	* app/module_db.c: can now handle not having any modules at all
	    without segfaulting, plus proper updates on changes.  Also now
	    has refresh button to re-scan the filesystem for modules.

	* modules/colorsel_triangle.c: added module_unload() function.
  	    Still needs someone to spruce up the UI.  Volunteers?

	* plug-ins/script-fu/scripts/select_to_image.scm: create display
 	    for newly duplicated image, otherwise you don't see anything.
1999-01-23 21:07:57 +00:00

56 lines
1.6 KiB
C

#ifndef __GIMPSET_H__
#define __GIMPSET_H__
#include <glib.h>
#include "gimpsetF.h"
/* GimpSet - a (usually) typed set of objects with signals for adding
and removing of stuff. If it is weak, destroyed objects get removed
automatically. If it is not, it refs them so they won't be freed
till they are removed. (Though they can be destroyed, of course).
If GTK_TYPE_NONE is specified at gimpset creation time, no type
checking is performed by gimp_set_add() and the
gimp_set_{add,remove}_handler() functions should not be used. It
is also illegal to ask for a weak untyped gimpset.
*/
#define GIMP_TYPE_SET gimp_set_get_type()
#define GIMP_SET(obj) GTK_CHECK_CAST (obj, GIMP_TYPE_SET, GimpSet)
#define GIMP_IS_SET(obj) GTK_CHECK_TYPE (obj, gimp_set_get_type())
/* Signals:
add
remove
member_modified
*/
typedef guint GimpSetHandlerId;
guint gimp_set_get_type (void);
GimpSet* gimp_set_new (GtkType type, gboolean weak);
GtkType gimp_set_type (GimpSet* set);
gboolean gimp_set_add (GimpSet* gimpset, gpointer ob);
gboolean gimp_set_remove (GimpSet* gimpset, gpointer ob);
gboolean gimp_set_have (GimpSet* gimpset, gpointer ob);
void gimp_set_foreach(GimpSet* gimpset, GFunc func,
gpointer user_data);
gint gimp_set_size (GimpSet* gimpset);
GimpSetHandlerId gimp_set_add_handler (GimpSet* set,
const gchar* signame,
GtkSignalFunc handler,
gpointer user_data);
void gimp_set_remove_handler (GimpSet* set,
GimpSetHandlerId id);
void gimp_set_member_modified (GimpSet* set, gpointer ob);
#endif