
/* Paint the label */
panel_paint_label(item);
/* Paint the value.
* In this wizzy example, we paint something into dp->block.
*/
display = (Display *) XV_DISPLAY_FROM_WINDOW(dp->panel);
for (ppw = (Panel_paint_window *)
xv_get(dp->panel, PANEL_FIRST_PAINT_WINDOW);
ppw;
ppw = ppw->next) {
pw = ppw->pw; /* pw = the actual window to paint in */
xid = (XID) xv_get(pw, XV_XID);
XFillRectangle(display, xid, dp->gc, dp->block.r_left,
dp->block.r_top, dp->block.r_width, dp->block.r_height);
}
}
25.11.9.10 The resize function
The resize function is called when the panel has been resized. Recalculate any extend-to-
edge dimensions. The function has the form:
static void
wizzy_resize (item)
Panel_item item;
25.11.9.11 The remove function
The remove function is called when the item has been made hidden via xv_set(item,
XV_SHOW, FALSE). An example function might be:
static void
wizzy_remove(item)
Panel_item item;
{
#ifdef WIZZY_CAN_ACCEPT_KBD_FOCUS
Wizzy_info *dp = WIZZY_PRIVATE(item);
Panel_status *panel_status;
/*
* Only reassign the keyboard focus to another item
* if the panel isn’t being destroyed.
*/
panel_status = (Panel_status *) xv_get(dp->panel, PANEL_STATUS);
if (!panel_status->destroying &&
xv_get(dp->panel, PANEL_CARET_ITEM) == item)
(void) panel_advance_caret(dp->panel);
#endif WIZZY_CAN_ACCEPT_KBD_FOCUS
}
XView Internals
XView Internals 629