2 * Copyright (C) 2013 IBM Corporation
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; version 2 of the License.
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
13 * You should have received a copy of the GNU General Public License
14 * along with this program; if not, write to the Free Software
15 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 #if defined(HAVE_CONFIG_H)
24 #include <talloc/talloc.h>
25 #include <types/types.h>
27 #include <util/util.h>
28 #include <i18n/i18n.h>
31 #include "nc-textscreen.h"
32 #include "nc-helpscreen.h"
35 struct text_screen text_scr;
36 struct nc_scr *return_scr;
39 struct nc_scr *help_screen_scr(struct help_screen *screen)
41 return text_screen_scr(&screen->text_scr);
44 struct nc_scr *help_screen_return_scr(struct help_screen *screen)
46 return screen->return_scr;
49 struct help_screen *help_screen_init(struct cui *cui,
50 struct nc_scr *current_scr,
51 const char *title_suffix,
52 const struct help_text *text,
53 void (*on_exit)(struct cui *))
55 struct help_screen *screen;
58 screen = talloc_zero(cui, struct help_screen);
59 screen->return_scr = current_scr;
61 title = _("Petitboot help");
63 title = talloc_asprintf(screen,
64 _("Petitboot help: %s"), title_suffix);
66 text_screen_init(&screen->text_scr, cui, title, on_exit);
67 text_screen_set_text(&screen->text_scr, gettext(text->text));
68 text_screen_draw(&screen->text_scr);