Lines Matching defs:widget
2 * widget.c - handles widget objects and the widget stack
25 #include "widget.h"
34 const struct widget *active_widget;
44 void widget_init(struct widget *widget, int lines_, int cols, int y, int x,
54 old_window = widget->window;
55 widget->window = newwin(lines_, cols, y, x);
56 if (!widget->window)
58 keypad(widget->window, TRUE);
59 nodelay(widget->window, TRUE);
60 leaveok(widget->window, !(flags & WIDGET_CURSOR_VISIBLE));
61 wbkgdset(widget->window, bkgd);
62 werase(widget->window);
65 box(widget->window, 0, 0);
67 if (widget->subwindow)
68 delwin(widget->subwindow);
69 widget->subwindow = derwin(widget->window,
71 if (!widget->subwindow)
73 wbkgdset(widget->subwindow, bkgd);
75 widget->cursor_visibility = !!(flags & WIDGET_CURSOR_VISIBLE);
77 if (widget->panel) {
78 replace_panel(widget->panel, widget->window);
80 widget->panel = new_panel(widget->window);
81 if (!widget->panel)
83 set_panel_userptr(widget->panel, widget);
92 void widget_free(struct widget *widget)
94 if (widget->panel) {
95 del_panel(widget->panel);
96 widget->panel = NULL;
98 if (widget->subwindow) {
99 delwin(widget->subwindow);
100 widget->subwindow = NULL;
102 if (widget->window) {
103 delwin(widget->window);
104 widget->window = NULL;
110 const struct widget *get_active_widget(void)
124 const struct widget *widget;
136 widget = panel_userptr(panel);
137 widget->window_size_changed();