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>
30 #include "nc-textscreen.h"
31 #include "nc-helpscreen.h"
34 struct text_screen text_scr;
35 struct nc_scr *return_scr;
38 struct nc_scr *help_screen_scr(struct help_screen *screen)
40 return text_screen_scr(&screen->text_scr);
43 struct nc_scr *help_screen_return_scr(struct help_screen *screen)
45 return screen->return_scr;
48 struct help_screen *help_screen_init(struct cui *cui,
49 struct nc_scr *current_scr,
50 const char *title_suffix, const char *text,
51 void (*on_exit)(struct cui *))
53 struct help_screen *screen;
56 screen = talloc_zero(cui, struct help_screen);
57 screen->return_scr = current_scr;
59 title = "Petitboot help";
61 title = talloc_asprintf(screen,
62 "Petitboot help: %s", title_suffix);
64 text_screen_init(&screen->text_scr, cui, title, on_exit);
65 text_screen_set_text(&screen->text_scr, text);
66 text_screen_draw(&screen->text_scr);