MCPcopy Create free account
hub / github.com/NetHack/NetHack / ghack_init_text_window

Function ghack_init_text_window

outdated/win/gnome/gntext.c:77–141  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

75}
76
77GtkWidget *
78ghack_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

Callers 1

Calls 1

ghack_get_main_windowFunction · 0.85

Tested by

no test coverage detected