summaryrefslogtreecommitdiff
path: root/gladeui/glade-signal.h
blob: f771aed6906fab33b93be8421a39bea1d34985ba (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
#ifndef __GLADE_SIGNAL_H__
#define __GLADE_SIGNAL_H__

#include <glib.h>

G_BEGIN_DECLS


#define GLADE_SIGNAL(s) ((GladeSignal *)s)
#define GLADE_IS_SIGNAL(s) (s != NULL)

typedef struct _GladeSignal  GladeSignal;

struct _GladeSignal
{
	gchar    *name;         /* Signal name eg "clicked"            */
	gchar    *handler;      /* Handler function eg "gtk_main_quit" */
	gchar    *userdata;     /* User data signal handler argument   */
	gboolean  lookup;       /* Whether user_data should be looked up
				 * with the GModule interface by libglade.
				 */
	gboolean  after;        /* Connect after TRUE or FALSE         */
};


GladeSignal *glade_signal_new   (const gchar *name,
				 const gchar *handler,
				 const gchar *userdata,
				 gboolean     lookup,
				 gboolean     after);
GladeSignal *glade_signal_clone (const GladeSignal *signal);
void         glade_signal_free  (GladeSignal *signal);

gboolean     glade_signal_equal (GladeSignal *sig1, GladeSignal *sig2);

GladeSignal *glade_signal_read  (GladeXmlNode *node);


/* XXX gboolean     glade_signal_write (GladeSignalInfo *info, GladeSignal *signal, */
/* 				 GladeInterface *interface); */

/* GladeSignal *glade_signal_new_from_signal_info (GladeSignalInfo *info); */


G_END_DECLS

#endif /* __GLADE_SIGNAL_H__ */