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_mixvm.c | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) (limited to 'mixgtk/mixgtk_mixvm.c') diff --git a/mixgtk/mixgtk_mixvm.c b/mixgtk/mixgtk_mixvm.c index b3a52c1..bee588a 100644 --- a/mixgtk/mixgtk_mixvm.c +++ b/mixgtk/mixgtk_mixvm.c @@ -34,8 +34,8 @@ static GtkEntry *reg_entries_[REGISTER_NO_]; static GtkTooltips *tips_; static GtkEntry *loc_entry_; -static GtkWidget *goto_; -static GtkEntry *goto_entry_; +static GtkWidget *goto_ = NULL; +static GtkEntry *goto_entry_ = NULL; static GtkToggleButton *over_button_; static GtkToggleButton *cmp_buttons_[3]; static GtkCList *memory_; @@ -46,6 +46,16 @@ static mix_vm_t *vm_; #define GOTO_ENTRY_NAME_ "goto_entry" +static void +init_goto_ (void) +{ + goto_ = mixgtk_widget_factory_get_dialog (MIXGTK_GOTO_DIALOG); + g_assert (goto_ != NULL); + goto_entry_ = GTK_ENTRY (mixgtk_widget_factory_get_child_by_name ( + MIXGTK_GOTO_DIALOG, GOTO_ENTRY_NAME_)); + g_assert (goto_entry_ != NULL); +} + static void update_register_ (mixgtk_widget_id_t reg) { @@ -161,15 +171,6 @@ mixgtk_mixvm_init (mix_vm_t *vm) gtk_signal_connect (GTK_OBJECT (adj), "value_changed", GTK_SIGNAL_FUNC (on_mem_adj_change_), NULL); - goto_ = mixgtk_widget_factory_get (MIXGTK_WIDGET_GOTO_DIALOG); - g_return_val_if_fail (goto_ != NULL, FALSE); - - goto_entry_ = GTK_ENTRY (mixgtk_widget_factory_get_by_name - (GOTO_ENTRY_NAME_)); - g_return_val_if_fail (goto_entry_ != NULL, FALSE); - - mixgtk_mixvm_update_vm_widgets (); - return TRUE; } @@ -400,6 +401,7 @@ on_memory_cells_select_row (GtkCList *w, gint row, gint col, void on_memory_cells_click_column (GtkCList *w, gint row, gpointer data) { + if (!goto_) init_goto_ (); gtk_widget_show (goto_); } -- cgit v1.2.3