| 75 | } |
| 76 | |
| 77 | GtkWidget * |
| 78 | ghack_init_text_window() |
| 79 | { |
| 80 | GtkWidget *pixmap; |
| 81 | if (TW_window) |
| 82 | return (GTK_WIDGET(TW_window)); |
| 83 | |
| 84 | TW_window = gnome_dialog_new("Text Window", GNOME_STOCK_BUTTON_OK, NULL); |
| 85 | gtk_window_set_default_size(GTK_WINDOW(TW_window), 500, 400); |
| 86 | gtk_window_set_policy(GTK_WINDOW(TW_window), TRUE, TRUE, FALSE); |
| 87 | gtk_window_set_title(GTK_WINDOW(TW_window), "Text Window"); |
| 88 | |
| 89 | /* create GNOME pixmap object */ |
| 90 | pixmap = gnome_pixmap_new_from_xpm_d(rip_xpm); |
| 91 | g_assert(pixmap != NULL); |
| 92 | gtk_widget_show(GTK_WIDGET(pixmap)); |
| 93 | |
| 94 | /* create label with our "death message", sized to fit into the |
| 95 | * tombstone */ |
| 96 | RIPlabel = gtk_label_new("RIP"); |
| 97 | g_assert(RIPlabel != NULL); |
| 98 | /* gtk_label_set_justify is broken? */ |
| 99 | gtk_label_set_justify(GTK_LABEL(RIPlabel), GTK_JUSTIFY_CENTER); |
| 100 | gtk_label_set_line_wrap(GTK_LABEL(RIPlabel), TRUE); |
| 101 | gtk_widget_set_usize(RIPlabel, RIP_DRAW_WIDTH, RIP_DRAW_HEIGHT); |
| 102 | gtk_widget_show(RIPlabel); |
| 103 | |
| 104 | /* create a fixed sized widget for the RIP pixmap */ |
| 105 | RIP = gtk_fixed_new(); |
| 106 | g_assert(RIP != NULL); |
| 107 | gtk_widget_set_usize(RIP, RIP_IMAGE_WIDTH, RIP_IMAGE_HEIGHT); |
| 108 | gtk_fixed_put(GTK_FIXED(RIP), pixmap, 0, 0); |
| 109 | gtk_fixed_put(GTK_FIXED(RIP), RIPlabel, RIP_DRAW_X, RIP_DRAW_Y); |
| 110 | gtk_widget_show(RIP); |
| 111 | gtk_box_pack_start(GTK_BOX(GNOME_DIALOG(TW_window)->vbox), RIP, TRUE, |
| 112 | TRUE, 0); |
| 113 | |
| 114 | /* create a gnome Less widget for the text stuff */ |
| 115 | gless = GNOME_LESS(gnome_less_new()); |
| 116 | g_assert(gless != NULL); |
| 117 | gtk_widget_show(GTK_WIDGET(gless)); |
| 118 | gtk_box_pack_start(GTK_BOX(GNOME_DIALOG(TW_window)->vbox), |
| 119 | GTK_WIDGET(gless), TRUE, TRUE, 0); |
| 120 | |
| 121 | /* Hook up some signals */ |
| 122 | gtk_signal_connect(GTK_OBJECT(TW_window), "ghack_putstr", |
| 123 | GTK_SIGNAL_FUNC(ghack_text_window_put_string), NULL); |
| 124 | |
| 125 | gtk_signal_connect(GTK_OBJECT(TW_window), "ghack_clear", |
| 126 | GTK_SIGNAL_FUNC(ghack_text_window_clear), NULL); |
| 127 | |
| 128 | gtk_signal_connect(GTK_OBJECT(TW_window), "ghack_display", |
| 129 | GTK_SIGNAL_FUNC(ghack_text_window_display), NULL); |
| 130 | |
| 131 | /* Center the dialog over over parent */ |
| 132 | gnome_dialog_set_parent(GNOME_DIALOG(TW_window), |
| 133 | GTK_WINDOW(ghack_get_main_window())); |
| 134 |
no test coverage detected