panel(S) 6 January 1993 panel(S) Name panel - PANEL library routines Syntax cc . . . -lpanel -lcurses #include <curses.h> #include <panel.h> int bottom_panel(panel) PANEL *panel; int del_panel(panel) PANEL *panel; int hide_panel(panel) PANEL *panel; int move_panel(panel, starty, startx) PANEL *panel; int starty, startx; PANEL *new_panel(win) WINDOW *win; PANEL *panel_above(panel) PANEL *panel; PANEL *panel_below(panel) PANEL *panel; int panel_hidden(panel) PANEL *panel; WINDOW *panel_window(panel) PANEL *panel; char *panel_userptr(panel) PANEL *panel; int replace_panel(panel, window) PANEL *panel; WINDOW *window; int set_panel_userptr(panel, ptr) PANEL *panel; char *ptr; int show_panel(panel) PANEL *panel; int top_panel(panel) PANEL *panel; void update_panels() Description Panels are rectangles of text with depth. They enable your windows to overlap without having hidden portions of underlying windows be mistak- enly visible. stdscr lies beneath all panels. The set of currently visible panels is the deck of panels. A window is associated with every panel. The panel routines enable you to create panels, fetch their associated windows, shuffle panels in the deck, and manipulate panels in other ways. Panel routines run on any terminal supported by the curses(S), library. Once you compile your program including the PANEL header file panel.h, link your program with the panel and curses library routines. Functions bottompanel(panel) puts panel at the bottom of all panels. It leaves the size and contents of its associated window, and its relations to other panels, wholly intact. delpanel(panel) deletes the panel, but not its associated window. hidepanel(panel) removes the panel from the panel deck and thus hides it from view. The panel's internal data structure, however, is retained. movepanel(panel, starty, startx) moves the given panel window so that its upper-left corner is at starty, startx. Be sure to use this func- tion, not mvwin, to move a panel window. newpanel(win) returns a pointer to a new panel associated with win. The new panel is placed on top of the panel deck. panelabove(panel) returns a pointer to the panel just above panel. If the panel argument is null, that is, (panel *) 0, it returns a pointer to the bottom panel in the deck. panelbelow(panel) returns a pointer to the panel just below panel. If the panel argument is null, it returns a pointer to the top panel in the deck. panelhidden(panel) returns a boolean value indicating whether or not the given panel has been removed from the panel deck. paneluserptr(panel) returns the user pointer for a given panel. panelwindow(panel) returns a pointer to the window of panel. replacepanel(panel, window) replaces the current window of panel with window. setpaneluserptr(panel, ptr) sets the panel's user pointer. showpanel(panel) makes a hidden panel visible by placing it on top of the panels in the panel deck. toppanel(panel) puts the given visible panel on top of all panels in the deck. updatepanels() refreshes the virtual screen to reflect the relations between the panels in the deck, but does not call doupdate to refresh the physical screen. Diagnostics Each panel routine that returns a pointer to an object returns null if an error occurs. Each panel routine that returns an int value returns OK if it executes successfully and ERR if not. See also curses(S), field(S), fieldtype(S), form(S), item(S), menu(S), tam(S) Standards conformance panel is not part of any currently supported standard; it is an extension of AT&T System V provided by the Santa Cruz Operation.