From 0e432d00a2ef323edf48960fbce2c087ee2023c6 Mon Sep 17 00:00:00 2001 From: Jose Antonio Ortega Ruiz Date: Wed, 30 Jun 2004 14:07:51 +0000 Subject: detachable windows in gtk+2 --- mixgtk/mixgtk_mixvm.c | 69 +++++++++++++++++++++++++++++---------------------- 1 file changed, 39 insertions(+), 30 deletions(-) (limited to 'mixgtk/mixgtk_mixvm.c') diff --git a/mixgtk/mixgtk_mixvm.c b/mixgtk/mixgtk_mixvm.c index ca4b482..2a34367 100644 --- a/mixgtk/mixgtk_mixvm.c +++ b/mixgtk/mixgtk_mixvm.c @@ -1,7 +1,7 @@ /* -*-c-*- -------------- mixgtk_mixvm.c : * Implementation of the functions declared in mixgtk_mixvm.h * ------------------------------------------------------------------ - * $Id: mixgtk_mixvm.c,v 1.12 2004/06/24 01:40:47 jao Exp $ + * $Id: mixgtk_mixvm.c,v 1.13 2004/06/30 14:07:53 jao Exp $ * ------------------------------------------------------------------ * Copyright (C) 2001, 2002, 2004 Free Software Foundation, Inc. * @@ -48,13 +48,11 @@ static GtkLabel *progtime_; static GtkLabel *uptime_; static mix_vm_t *vm_; -#define GOTO_ENTRY_NAME_ "goto_entry" - /* Static function prototypes */ static void init_goto_ (void); static void update_register_ (mixgtk_widget_id_t reg); -static gboolean init_mem_ (mixgtk_dialog_id_t top); +static gboolean init_mem_ (void); enum { @@ -66,11 +64,12 @@ enum { /* initialise the mixvm widgets */ gboolean -mixgtk_mixvm_init (mix_vm_t *vm, mixgtk_dialog_id_t top) +mixgtk_mixvm_init (mix_vm_t *vm) { int k; - g_return_val_if_fail (vm != NULL, FALSE); + g_assert (vm != NULL); + vm_ = vm; if (!tips_) tips_ = gtk_tooltips_new (); @@ -78,39 +77,49 @@ mixgtk_mixvm_init (mix_vm_t *vm, mixgtk_dialog_id_t top) for (k = 0; k < REGISTER_NO_; ++k) { reg_entries_[k] = - GTK_ENTRY (mixgtk_widget_factory_get (top, MIXGTK_WIDGET_rA + k)); - g_return_val_if_fail (reg_entries_[k] != NULL, FALSE); - mixgtk_fontsel_set_font (MIX_FONT_MIXVM, GTK_WIDGET (reg_entries_[k])); + GTK_ENTRY (mixgtk_widget_factory_get(MIXGTK_MIXVM_DIALOG, + MIXGTK_WIDGET_rA + k)); + g_assert (reg_entries_[k] != NULL); + mixgtk_fontsel_set_font (MIX_FONT_MIXVM, + GTK_WIDGET (reg_entries_[k])); } - loc_entry_ = GTK_ENTRY (mixgtk_widget_factory_get (top, MIXGTK_WIDGET_LOC)); - g_return_val_if_fail (loc_entry_ != NULL, FALSE); + loc_entry_ = + GTK_ENTRY (mixgtk_widget_factory_get (MIXGTK_MIXVM_DIALOG, + MIXGTK_WIDGET_LOC)); + g_assert (loc_entry_ != NULL); mixgtk_fontsel_set_font (MIX_FONT_MIXVM, GTK_WIDGET (loc_entry_)); - uptime_ = GTK_LABEL (mixgtk_widget_factory_get (top, MIXGTK_WIDGET_UPTIME)); - g_return_val_if_fail (uptime_ != NULL, FALSE); + uptime_ = + GTK_LABEL (mixgtk_widget_factory_get (MIXGTK_MIXVM_DIALOG, + MIXGTK_WIDGET_UPTIME)); + g_assert (uptime_ != NULL); progtime_ = - GTK_LABEL (mixgtk_widget_factory_get (top, MIXGTK_WIDGET_PROGTIME)); - g_return_val_if_fail (progtime_ != NULL, FALSE); + GTK_LABEL (mixgtk_widget_factory_get (MIXGTK_MIXVM_DIALOG, + MIXGTK_WIDGET_PROGTIME)); + g_assert (progtime_ != NULL); - laptime_ = GTK_LABEL (mixgtk_widget_factory_get (top, MIXGTK_WIDGET_LAPTIME)); - g_return_val_if_fail (laptime_ != NULL, FALSE); + laptime_ = + GTK_LABEL (mixgtk_widget_factory_get (MIXGTK_MIXVM_DIALOG, + MIXGTK_WIDGET_LAPTIME)); + g_assert (laptime_ != NULL); over_button_ = - GTK_TOGGLE_BUTTON (mixgtk_widget_factory_get (top, MIXGTK_WIDGET_OVER)); - g_return_val_if_fail (over_button_ != NULL, FALSE); + GTK_TOGGLE_BUTTON + (mixgtk_widget_factory_get (MIXGTK_MIXVM_DIALOG, MIXGTK_WIDGET_OVER)); + g_assert (over_button_ != NULL); for (k = 0; k < 3; ++k) { cmp_buttons_[k] = GTK_TOGGLE_BUTTON - (mixgtk_widget_factory_get (top, MIXGTK_WIDGET_CMP_L +k)); - g_return_val_if_fail (cmp_buttons_[k] != NULL, FALSE); + (mixgtk_widget_factory_get (MIXGTK_MIXVM_DIALOG, + MIXGTK_WIDGET_CMP_L +k)); + g_assert (cmp_buttons_[k] != NULL); } + init_mem_ (); - goto_ = NULL; - - return init_mem_ (top); + return TRUE; } /* update register widgets */ @@ -359,8 +368,8 @@ 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_)); + GTK_ENTRY (mixgtk_widget_factory_get (MIXGTK_GOTO_DIALOG, + MIXGTK_WIDGET_GOTO_ENTRY)); g_assert (goto_entry_ != NULL); } @@ -447,7 +456,7 @@ cont_clicked_ (GtkWidget *w, GdkEvent *event, gpointer data) static gboolean -init_mem_ (mixgtk_dialog_id_t top) +init_mem_ (void) { gint k; GtkTreeIter iter; @@ -469,12 +478,12 @@ init_mem_ (mixgtk_dialog_id_t top) -1); } - /* view */ renderer = gtk_cell_renderer_text_new (); - memory_ = GTK_TREE_VIEW (mixgtk_widget_factory_get (top, - MIXGTK_WIDGET_CELLS)); + memory_ = + GTK_TREE_VIEW (mixgtk_widget_factory_get (MIXGTK_MIXVM_DIALOG, + MIXGTK_WIDGET_CELLS)); g_assert (memory_); g_assert (renderer); -- cgit v1.2.3