From b21ee3c2ea317e4ac503330ac195f0be1cbfad1a Mon Sep 17 00:00:00 2001 From: Jose Antonio Ortega Ruiz Date: Thu, 24 May 2001 00:38:38 +0000 Subject: deferred dialog creation --- mixgtk/mixgtk_input.c | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) (limited to 'mixgtk/mixgtk_input.c') diff --git a/mixgtk/mixgtk_input.c b/mixgtk/mixgtk_input.c index 8726bab..95c697a 100644 --- a/mixgtk/mixgtk_input.c +++ b/mixgtk/mixgtk_input.c @@ -37,26 +37,24 @@ static const gchar *WGT_NAMES_[SIZE_] = { "word_b4", "word_b5", "word_decimal", "word_reset", "word_ok" }; -static GtkDialog *dialog_; +static GtkDialog *dialog_ = NULL; static GtkWidget *childs_[SIZE_]; static input_callback_t callback_; static gpointer data_; -/* init */ -extern gboolean -mixgtk_input_init (void) +static void +init_dialog_ (void) { gint k; - dialog_ = GTK_DIALOG (mixgtk_widget_factory_get (MIXGTK_WIDGET_WORD_DIALOG)); - g_return_val_if_fail (dialog_ != NULL, FALSE); + dialog_ = GTK_DIALOG (mixgtk_widget_factory_get_dialog (MIXGTK_WORD_DIALOG)); + g_assert (dialog_ != NULL); for (k = 0; k < SIZE_; ++k) { - childs_[k] = mixgtk_widget_factory_get_by_name (WGT_NAMES_[k]); - g_return_val_if_fail (childs_[k] != NULL, FALSE); + childs_[k] = mixgtk_widget_factory_get_child_by_name + (MIXGTK_WORD_DIALOG, WGT_NAMES_[k]); + g_assert (childs_[k] != NULL); } - return TRUE; - } static void @@ -84,6 +82,7 @@ void mixgtk_input_word (const gchar *message, mix_word_t def, input_callback_t cb, gpointer data) { + if (!dialog_) init_dialog_ (); gtk_label_set_text (GTK_LABEL (childs_[MSG_]), message); set_word_ (def); callback_ = cb; -- cgit v1.2.3