case KEY_UP:
text_screen_scroll(screen, key);
break;
+ case 'h':
+ if (screen->help_text)
+ cui_show_help(screen->cui, screen->help_title,
+ screen->help_text);
+ break;
default:
break;
}
return &screen->scr;
}
+void text_screen_set_help(struct text_screen *screen, const char *title,
+ const char *text)
+{
+ screen->help_title = title;
+ screen->help_text = text;
+ screen->scr.frame.help = "x=exit h=help";
+}
+
static int text_screen_post(struct nc_scr *scr)
{
nc_scr_frame_draw(scr);
int n_lines;
int n_alloc_lines;
int scroll_y;
+ const char *help_title;
+ const char *help_text;
void (*on_exit)(struct cui *);
};
void text_screen_append_line(struct text_screen *screen,
const char *fmt, ...) __attribute__((format(printf, 2, 3)));
void text_screen_set_text(struct text_screen *screen, const char *text);
+void text_screen_set_help(struct text_screen *screen, const char *title,
+ const char *text);
/* interaction */
void text_screen_process_key(struct nc_scr *scr, int key);