34 |
/* --- variables --- */ |
/* --- variables --- */ |
35 |
static GObjectClass *parent_class = NULL; |
static GObjectClass *parent_class = NULL; |
36 |
|
|
37 |
|
enum {VARIABLE_CHANGED, VARIABLE_DELETED, n_SIGNALS}; |
38 |
|
static guint signal[n_SIGNALS]; |
39 |
|
|
40 |
|
/* |
41 |
|
static guint signal_variable_changed = 0 ; |
42 |
|
static guint signal_variable_deleted = 0 ; |
43 |
|
*/ |
44 |
|
|
45 |
|
|
46 |
|
|
47 |
/* --- functions --- */ |
/* --- functions --- */ |
48 |
/** |
/** |
75 |
return object_type; |
return object_type; |
76 |
} |
} |
77 |
|
|
|
#if 0 |
|
|
static guint signal_subject_changed = 0 ; |
|
|
#endif |
|
78 |
|
|
79 |
static void |
static void |
80 |
pspp_dict_class_init (PSPP_DictClass *class) |
pspp_dict_class_init (PSPP_DictClass *class) |
85 |
|
|
86 |
object_class->finalize = pspp_dict_finalize; |
object_class->finalize = pspp_dict_finalize; |
87 |
|
|
88 |
#if 0 |
signal[VARIABLE_CHANGED] = |
89 |
signal_subject_changed = |
g_signal_new ("variable_changed", |
90 |
g_signal_new ("subject_changed", |
G_TYPE_FROM_CLASS(class), |
91 |
G_OBJECT_CLASS_TYPE (class), |
G_SIGNAL_RUN_FIRST, |
92 |
G_SIGNAL_RUN_FIRST, |
0, |
93 |
0, |
NULL, NULL, |
94 |
NULL, NULL, |
g_cclosure_marshal_VOID__INT, |
95 |
g_cclosure_marshal_VOID__VOID, |
G_TYPE_NONE, |
96 |
G_TYPE_NONE, 0); |
1, |
97 |
#endif |
G_TYPE_INT); |
98 |
|
|
99 |
|
|
100 |
|
|
101 |
|
signal[VARIABLE_DELETED] = |
102 |
|
g_signal_new ("variable_deleted", |
103 |
|
G_TYPE_FROM_CLASS(class), |
104 |
|
G_SIGNAL_RUN_FIRST, |
105 |
|
0, |
106 |
|
NULL, NULL, |
107 |
|
g_cclosure_marshal_VOID__INT, |
108 |
|
G_TYPE_NONE, |
109 |
|
1, |
110 |
|
G_TYPE_INT); |
111 |
|
|
112 |
|
|
113 |
|
|
114 |
} |
} |
115 |
|
|
116 |
static void |
static void |
155 |
if ( idx >= d->array->len) |
if ( idx >= d->array->len) |
156 |
return; |
return; |
157 |
|
|
158 |
var = g_ptr_array_index(d->array,idx); |
var = g_ptr_array_index(d->array, idx); |
159 |
|
|
160 |
g_ptr_array_remove_index(d->array,idx); |
g_ptr_array_remove_index(d->array, idx); |
161 |
g_free(var); |
g_free(var); |
162 |
|
|
163 |
g_signal_emit_by_name(d, "changed"); |
g_signal_emit(d, signal[VARIABLE_DELETED], 0, idx); |
164 |
} |
} |
165 |
|
|
166 |
void |
void |
184 |
} |
} |
185 |
strncpy(var->name,name,9); |
strncpy(var->name,name,9); |
186 |
|
|
187 |
g_signal_emit_by_name(d, "changed"); |
g_signal_emit(d, signal[VARIABLE_CHANGED], 0, idx); |
188 |
|
|
189 |
} |
} |