80
80
destroy (GtkObject *object)
82
GnomeCmdStringDialog *dialog = GNOME_CMD_STRING_DIALOG (object);
84
if (GTK_OBJECT_CLASS (parent_class)->destroy)
85
(*GTK_OBJECT_CLASS (parent_class)->destroy) (object);
87
g_free (dialog->priv->error_desc);
88
g_free (dialog->priv);
82
GnomeCmdStringDialog *dialog = GNOME_CMD_STRING_DIALOG (object);
84
if (GTK_OBJECT_CLASS (parent_class)->destroy)
85
(*GTK_OBJECT_CLASS (parent_class)->destroy) (object);
87
g_free (dialog->priv->error_desc);
88
g_free (dialog->priv);
93
93
map (GtkWidget *widget)
95
if (GTK_WIDGET_CLASS (parent_class)->map != NULL)
96
GTK_WIDGET_CLASS (parent_class)->map (widget);
95
if (GTK_WIDGET_CLASS (parent_class)->map != NULL)
96
GTK_WIDGET_CLASS (parent_class)->map (widget);
101
101
class_init (GnomeCmdStringDialogClass *class)
103
GtkObjectClass *object_class;
104
GtkWidgetClass *widget_class;
106
object_class = GTK_OBJECT_CLASS (class);
107
widget_class = GTK_WIDGET_CLASS (class);
109
parent_class = gtk_type_class (gnome_cmd_dialog_get_type ());
110
object_class->destroy = destroy;
111
widget_class->map = map;
103
GtkObjectClass *object_class;
104
GtkWidgetClass *widget_class;
106
object_class = GTK_OBJECT_CLASS (class);
107
widget_class = GTK_WIDGET_CLASS (class);
109
parent_class = gtk_type_class (gnome_cmd_dialog_get_type ());
110
object_class->destroy = destroy;
111
widget_class->map = map;
115
115
init (GnomeCmdStringDialog *string_dialog)
117
string_dialog->priv = g_new0 (GnomeCmdStringDialogPrivate, 1);
118
string_dialog->rows = -1;
117
string_dialog->priv = g_new0 (GnomeCmdStringDialogPrivate, 1);
118
string_dialog->rows = -1;
123
123
setup_widget (GnomeCmdStringDialog *string_dialog, gint rows)
126
GtkWidget *dialog = GTK_WIDGET (string_dialog);
130
string_dialog->rows = rows;
131
string_dialog->labels = (GtkWidget**)g_new (gpointer, rows);
132
string_dialog->entries = (GtkWidget**)g_new (gpointer, rows);
133
string_dialog->priv->error_desc = g_strdup (_("No error description available"));
135
table = create_table (dialog, rows, 2);
136
gnome_cmd_dialog_add_category (GNOME_CMD_DIALOG (dialog), table);
138
for ( i=0 ; i<rows ; i++ ) {
139
string_dialog->labels[i] = create_label (dialog, "");
140
table_add (table, string_dialog->labels[i], 0, i, GTK_FILL);
142
string_dialog->entries[i] = create_entry (dialog, "entry", "");
143
gtk_entry_set_activates_default (GTK_ENTRY (string_dialog->entries[i]), TRUE);
144
table_add (table, string_dialog->entries[i], 1, i, GTK_FILL|GTK_EXPAND);
147
gnome_cmd_dialog_add_button (
148
GNOME_CMD_DIALOG (dialog),
149
GNOME_STOCK_BUTTON_CANCEL, GTK_SIGNAL_FUNC (on_cancel), string_dialog);
150
btn = gnome_cmd_dialog_add_button (
151
GNOME_CMD_DIALOG (dialog),
152
GNOME_STOCK_BUTTON_OK, GTK_SIGNAL_FUNC (on_ok), string_dialog);
154
gtk_widget_grab_focus (string_dialog->entries[0]);
126
GtkWidget *dialog = GTK_WIDGET (string_dialog);
130
string_dialog->rows = rows;
131
string_dialog->labels = (GtkWidget**)g_new (gpointer, rows);
132
string_dialog->entries = (GtkWidget**)g_new (gpointer, rows);
133
string_dialog->priv->error_desc = g_strdup (_("No error description available"));
135
table = create_table (dialog, rows, 2);
136
gnome_cmd_dialog_add_category (GNOME_CMD_DIALOG (dialog), table);
138
for ( i=0 ; i<rows ; i++ ) {
139
string_dialog->labels[i] = create_label (dialog, "");
140
table_add (table, string_dialog->labels[i], 0, i, GTK_FILL);
142
string_dialog->entries[i] = create_entry (dialog, "entry", "");
143
gtk_entry_set_activates_default (GTK_ENTRY (string_dialog->entries[i]), TRUE);
144
table_add (table, string_dialog->entries[i], 1, i, GTK_FILL|GTK_EXPAND);
147
gnome_cmd_dialog_add_button (
148
GNOME_CMD_DIALOG (dialog),
149
GNOME_STOCK_BUTTON_CANCEL, GTK_SIGNAL_FUNC (on_cancel), string_dialog);
150
btn = gnome_cmd_dialog_add_button (
151
GNOME_CMD_DIALOG (dialog),
152
GNOME_STOCK_BUTTON_OK, GTK_SIGNAL_FUNC (on_ok), string_dialog);
154
gtk_widget_grab_focus (string_dialog->entries[0]);
155
155
gtk_widget_grab_default (btn);
166
166
gnome_cmd_string_dialog_get_type (void)
168
static GtkType dlg_type = 0;
172
GtkTypeInfo dlg_info =
174
"GnomeCmdStringDialog",
175
sizeof (GnomeCmdStringDialog),
176
sizeof (GnomeCmdStringDialogClass),
177
(GtkClassInitFunc) class_init,
178
(GtkObjectInitFunc) init,
179
/* reserved_1 */ NULL,
180
/* reserved_2 */ NULL,
181
(GtkClassInitFunc) NULL
184
dlg_type = gtk_type_unique (gnome_cmd_dialog_get_type (), &dlg_info);
168
static GtkType dlg_type = 0;
172
GtkTypeInfo dlg_info =
174
"GnomeCmdStringDialog",
175
sizeof (GnomeCmdStringDialog),
176
sizeof (GnomeCmdStringDialogClass),
177
(GtkClassInitFunc) class_init,
178
(GtkObjectInitFunc) init,
179
/* reserved_1 */ NULL,
180
/* reserved_2 */ NULL,
181
(GtkClassInitFunc) NULL
184
dlg_type = gtk_type_unique (gnome_cmd_dialog_get_type (), &dlg_info);
194
194
gnome_cmd_string_dialog_new_with_cancel (const gchar *title,
195
const gchar **labels,
197
GnomeCmdStringDialogCallback ok_cb,
198
GtkSignalFunc cancel_cb,
195
const gchar **labels,
197
GnomeCmdStringDialogCallback ok_cb,
198
GtkSignalFunc cancel_cb,
201
GnomeCmdStringDialog *dialog = gtk_type_new (gnome_cmd_string_dialog_get_type ());
203
gnome_cmd_string_dialog_setup_with_cancel (
204
dialog, title, labels, rows,
205
ok_cb, cancel_cb, user_data);
207
return GTK_WIDGET (dialog);
201
GnomeCmdStringDialog *dialog = gtk_type_new (gnome_cmd_string_dialog_get_type ());
203
gnome_cmd_string_dialog_setup_with_cancel (
204
dialog, title, labels, rows,
205
ok_cb, cancel_cb, user_data);
207
return GTK_WIDGET (dialog);
212
212
gnome_cmd_string_dialog_new (const gchar *title,
213
const gchar **labels,
215
GnomeCmdStringDialogCallback ok_cb,
213
const gchar **labels,
215
GnomeCmdStringDialogCallback ok_cb,
218
return gnome_cmd_string_dialog_new_with_cancel (title, labels, rows,
219
ok_cb, NULL, user_data);
218
return gnome_cmd_string_dialog_new_with_cancel (title, labels, rows,
219
ok_cb, NULL, user_data);
224
224
gnome_cmd_string_dialog_setup_with_cancel (GnomeCmdStringDialog *dialog,
226
const gchar **labels,
228
GnomeCmdStringDialogCallback ok_cb,
229
GtkSignalFunc cancel_cb,
226
const gchar **labels,
228
GnomeCmdStringDialogCallback ok_cb,
229
GtkSignalFunc cancel_cb,
234
g_return_if_fail (GNOME_CMD_IS_STRING_DIALOG (dialog));
235
g_return_if_fail (title != NULL);
236
g_return_if_fail (labels != NULL);
237
g_return_if_fail (rows > 0);
238
g_return_if_fail (ok_cb != NULL);
240
setup_widget (dialog, rows);
241
gnome_cmd_string_dialog_set_title (dialog, title);
242
gnome_cmd_string_dialog_set_userdata (dialog, user_data);
243
gnome_cmd_string_dialog_set_ok_cb (dialog, ok_cb);
244
gnome_cmd_string_dialog_set_cancel_cb (dialog, cancel_cb);
247
for ( i=0 ; i<rows ; i++ )
248
gnome_cmd_string_dialog_set_label (dialog, i, labels[i]);
234
g_return_if_fail (GNOME_CMD_IS_STRING_DIALOG (dialog));
235
g_return_if_fail (title != NULL);
236
g_return_if_fail (labels != NULL);
237
g_return_if_fail (rows > 0);
238
g_return_if_fail (ok_cb != NULL);
240
setup_widget (dialog, rows);
241
gnome_cmd_string_dialog_set_title (dialog, title);
242
gnome_cmd_string_dialog_set_userdata (dialog, user_data);
243
gnome_cmd_string_dialog_set_ok_cb (dialog, ok_cb);
244
gnome_cmd_string_dialog_set_cancel_cb (dialog, cancel_cb);
247
for ( i=0 ; i<rows ; i++ )
248
gnome_cmd_string_dialog_set_label (dialog, i, labels[i]);
253
253
gnome_cmd_string_dialog_setup (GnomeCmdStringDialog *dialog,
255
const gchar **labels,
257
GnomeCmdStringDialogCallback ok_cb,
255
const gchar **labels,
257
GnomeCmdStringDialogCallback ok_cb,
260
gnome_cmd_string_dialog_setup_with_cancel (
261
dialog, title, labels, rows, ok_cb, NULL, user_data);
260
gnome_cmd_string_dialog_setup_with_cancel (
261
dialog, title, labels, rows, ok_cb, NULL, user_data);
266
266
gnome_cmd_string_dialog_set_hidden (GnomeCmdStringDialog *dialog, gint row, gboolean hidden)
268
g_return_if_fail (GNOME_CMD_IS_STRING_DIALOG (dialog));
269
g_return_if_fail (row >= 0 && row < dialog->rows);
268
g_return_if_fail (GNOME_CMD_IS_STRING_DIALOG (dialog));
269
g_return_if_fail (row >= 0 && row < dialog->rows);
271
gtk_entry_set_visibility (GTK_ENTRY (dialog->entries[row]), !hidden);
271
gtk_entry_set_visibility (GTK_ENTRY (dialog->entries[row]), !hidden);
276
276
gnome_cmd_string_dialog_set_title (GnomeCmdStringDialog *dialog, const gchar *title)
278
g_return_if_fail (GNOME_CMD_IS_STRING_DIALOG (dialog));
280
gtk_window_set_title (GTK_WINDOW (dialog), title);
278
g_return_if_fail (GNOME_CMD_IS_STRING_DIALOG (dialog));
280
gtk_window_set_title (GTK_WINDOW (dialog), title);
285
285
gnome_cmd_string_dialog_set_label (GnomeCmdStringDialog *dialog, gint row, const gchar *label)
287
g_return_if_fail (GNOME_CMD_IS_STRING_DIALOG (dialog));
288
g_return_if_fail (row >= 0 && row < dialog->rows);
289
g_return_if_fail (label != NULL);
291
gtk_label_set_text (GTK_LABEL (dialog->labels[row]), label);
287
g_return_if_fail (GNOME_CMD_IS_STRING_DIALOG (dialog));
288
g_return_if_fail (row >= 0 && row < dialog->rows);
289
g_return_if_fail (label != NULL);
291
gtk_label_set_text (GTK_LABEL (dialog->labels[row]), label);
296
296
gnome_cmd_string_dialog_set_userdata (GnomeCmdStringDialog *dialog, gpointer user_data)
298
g_return_if_fail (GNOME_CMD_IS_STRING_DIALOG (dialog));
300
dialog->priv->data = user_data;
298
g_return_if_fail (GNOME_CMD_IS_STRING_DIALOG (dialog));
300
dialog->priv->data = user_data;
305
305
gnome_cmd_string_dialog_set_ok_cb (GnomeCmdStringDialog *dialog, GnomeCmdStringDialogCallback ok_cb)
307
g_return_if_fail (GNOME_CMD_IS_STRING_DIALOG (dialog));
308
g_return_if_fail (ok_cb != NULL);
310
dialog->priv->ok_cb = ok_cb;
307
g_return_if_fail (GNOME_CMD_IS_STRING_DIALOG (dialog));
308
g_return_if_fail (ok_cb != NULL);
310
dialog->priv->ok_cb = ok_cb;
315
315
gnome_cmd_string_dialog_set_cancel_cb (GnomeCmdStringDialog *dialog, GtkSignalFunc cancel_cb)
317
g_return_if_fail (GNOME_CMD_IS_STRING_DIALOG (dialog));
319
dialog->priv->cancel_cb = (GFunc)cancel_cb;
317
g_return_if_fail (GNOME_CMD_IS_STRING_DIALOG (dialog));
319
dialog->priv->cancel_cb = (GFunc)cancel_cb;
324
324
gnome_cmd_string_dialog_set_value (GnomeCmdStringDialog *dialog, gint row, const gchar *value)
326
g_return_if_fail (GNOME_CMD_IS_STRING_DIALOG (dialog));
327
g_return_if_fail (row >= 0 && row < dialog->rows);
329
gtk_entry_set_text (GTK_ENTRY (dialog->entries[row]), value?value:"");
326
g_return_if_fail (GNOME_CMD_IS_STRING_DIALOG (dialog));
327
g_return_if_fail (row >= 0 && row < dialog->rows);
329
gtk_entry_set_text (GTK_ENTRY (dialog->entries[row]), value?value:"");
334
334
gnome_cmd_string_dialog_set_error_desc (GnomeCmdStringDialog *dialog, gchar *msg)
336
g_return_if_fail (GNOME_CMD_IS_STRING_DIALOG (dialog));
337
g_return_if_fail (msg != NULL);
339
if (dialog->priv->error_desc)
340
g_free (dialog->priv->error_desc);
342
dialog->priv->error_desc = g_strdup (msg);
336
g_return_if_fail (GNOME_CMD_IS_STRING_DIALOG (dialog));
337
g_return_if_fail (msg != NULL);
339
if (dialog->priv->error_desc)
340
g_free (dialog->priv->error_desc);
342
dialog->priv->error_desc = g_strdup (msg);