X-Git-Url: https://ncurses.scripts.mit.edu/?a=blobdiff_plain;f=doc%2Fhtml%2Fman%2Fpanel.3x.html;h=5a8b012951dbc989972a6b74d32eed44261f22bd;hb=4c9f63c460cb7134f142aa65f6866c175ed77605;hp=3396ecb7394f10a88c409157ff3dda7aa66dbddf;hpb=b025434573f466efe27862656a6a9d41dd2bd609;p=ncurses.git diff --git a/doc/html/man/panel.3x.html b/doc/html/man/panel.3x.html index 3396ecb7..5a8b0129 100644 --- a/doc/html/man/panel.3x.html +++ b/doc/html/man/panel.3x.html @@ -1,6 +1,7 @@ - @@ -35,7 +53,7 @@
Panels are curses(3x) windows with the added feature of depth. Panel - functions allow the use of stacked windows and ensure the proper por- - tions of each window and the curses stdscr window are hidden or dis- - played when panels are added, moved, modified or removed. The set of - currently visible panels is the stack of panels. The stdscr window is - beneath all panels, and is not considered part of the stack. + functions allow the use of stacked windows and ensure the proper + portions of each window and the curses stdscr window are hidden or + displayed when panels are added, moved, modified or removed. The set + of currently visible panels is the stack of panels. The stdscr window + is beneath all panels, and is not considered part of the stack. A window is associated with every panel. The panel routines enable you to create, move, hide, and show panels, as well as position a panel at @@ -88,95 +115,128 @@
- new_panel(win) - allocates a PANEL structure, associates it with win, places - the panel on the top of the stack (causes it to be displayed - above any other panel) and returns a pointer to the new panel. - - update_panels - refreshes the virtual screen to reflect the relations between - the panels in the stack, but does not call doupdate to refresh - the physical screen. Use this function and not wrefresh or - wnoutrefresh. update_panels may be called more than once before - a call to doupdate, but doupdate is the function responsible for - updating the physical screen. - - del_panel(pan) - removes the given panel from the stack and deallocates the - PANEL structure (but not its associated window). - - hide_panel(pan) - removes the given panel from the panel stack and thus hides it - from view. The PANEL structure is not lost, merely removed from - the stack. - - panel_hidden(pan) - returns TRUE if the panel is in the panel stack, FALSE if it is - not. If the panel is a null pointer, return ERR. - - show_panel(pan) - makes a hidden panel visible by placing it on top of the panels - in the panel stack. See COMPATIBILITY below. - - top_panel(pan) - puts the given visible panel on top of all panels in the stack. - See COMPATIBILITY below. - - bottom_panel(pan) - puts panel at the bottom of all panels. - - move_panel(pan,starty,startx) - moves the given panel window so that its upper-left corner is at - starty, startx. It does not change the position of the panel in - the stack. Be sure to use this function, not mvwin, to move a - panel window. - - replace_panel(pan,window) - replaces the current window of panel with window (useful, for - example if you want to resize a panel; if you're using ncurses, - you can call replace_panel on the output of wresize(3x)). It - does not change the position of the panel in the stack. - - panel_above(pan) - returns a pointer to the panel above pan. If the panel argument - is (PANEL *)0, it returns a pointer to the bottom panel in the - stack. - - panel_below(pan) - returns a pointer to the panel just below pan. If the panel - argument is (PANEL *)0, it returns a pointer to the top panel in - the stack. - - set_panel_userptr(pan,ptr) - sets the panel's user pointer. - - panel_userptr(pan) - returns the user pointer for a given panel. - - panel_window(pan) - returns a pointer to the window of the given panel. + +
+ bottom_panel(pan) puts panel pan at the bottom of all panels. + + +
+ ceiling_panel(sp) acts like panel_below(NULL), for the given SCREEN sp. + + +
+ del_panel(pan) removes the given panel pan from the stack and + deallocates the PANEL structure (but not its associated window). + + +
+ ground_panel(sp) acts like panel_above(NULL), for the given SCREEN sp. + + +
+ hide_panel(pan) removes the given panel pan from the panel stack and + thus hides it from view. The PANEL structure is not lost, merely + removed from the stack. + + +
+ move_panel(pan,starty,startx) moves the given panel pan's window so + that its upper-left corner is at starty, startx. It does not change + the position of the panel in the stack. Be sure to use this function, + not mvwin(3x), to move a panel window. + + +
+ new_panel(win) allocates a PANEL structure, associates it with win, + places the panel on the top of the stack (causes it to be displayed + above any other panel) and returns a pointer to the new panel. + + +
+ panel_above(pan) returns a pointer to the panel above pan. If the + panel argument is (PANEL *)0, it returns a pointer to the bottom panel + in the stack. + + +
+ panel_below(pan) returns a pointer to the panel just below pan. If the + panel argument is (PANEL *)0, it returns a pointer to the top panel in + the stack. + + +
+ panel_hidden(pan) returns TRUE if the panel pan is in the panel stack, + FALSE if it is not. If the panel is a null pointer, return ERR. + + +
+ panel_userptr(pan) returns the user pointer for a given panel pan. + + +
+ panel_window(pan) returns a pointer to the window of the given panel + pan. + + +
+ replace_panel(pan,window) replaces the current window of panel pan with + window This is useful, for example if you want to resize a panel. In + ncurses, you can call replace_panel to resize a panel using a window + resized with wresize(3x). It does not change the position of the panel + in the stack. + + +
+ set_panel_userptr(pan,ptr) sets the panel's user pointer. + + +
+ show_panel(pan) makes a hidden panel visible by placing it on top of + the panels in the panel stack. See COMPATIBILITY below. + + +
+ top_panel(pan) puts the given visible panel pan on top of all panels in + the stack. See COMPATIBILITY below. + + +
+ update_panels() refreshes the virtual screen to reflect the relations + between the panels in the stack, but does not call doupdate(3x) to + refresh the physical screen. Use this function and not wrefresh(3x) or + wnoutrefresh(3x). + + update_panels may be called more than once before a call to doupdate, + but doupdate is the function responsible for updating the physical + screen.
Each routine that returns a pointer returns NULL if an error occurs. - Each routine that returns an int value returns OK if it executes suc- - cessfully and ERR if not. + Each routine that returns an int value returns OK if it executes + successfully and ERR if not. + + Except as noted, the pan and window parameters must be non-null. If + those are null, an error is returned. + + The move_panel function uses mvwin(3x), and will return an error if + mvwin returns an error.
Reasonable care has been taken to ensure compatibility with the native panel facility introduced in System V (inspection of the SVr4 manual pages suggests the programming interface is unchanged). The - PANEL data structures are merely similar. The programmer is cau- - tioned not to directly use PANEL fields. + PANEL data structures are merely similar. The programmer is + cautioned not to directly use PANEL fields. - The functions show_panel and top_panel are identical in this implemen- - tation, and work equally well with displayed or hidden panels. In the - native System V implementation, show_panel is intended for making a - hidden panel visible (at the top of the stack) and top_panel is - intended for making an already-visible panel move to the top of the - stack. You are cautioned to use the correct function to ensure compat- - ibility with native panel libraries. + The functions show_panel and top_panel are identical in this + implementation, and work equally well with displayed or hidden panels. + In the native System V implementation, show_panel is intended for + making a hidden panel visible (at the top of the stack) and top_panel + is intended for making an already-visible panel move to the top of the + stack. You are cautioned to use the correct function to ensure + compatibility with native panel libraries.
@@ -191,8 +251,25 @@ It is not part of X/Open Curses. - Aside from ncurses, only systems based on SVr4 source code, e.g., - Solaris provide this library. + A few implementations exist: + + o Systems based on SVr4 source code, e.g., Solaris, provide this + library. + + o ncurses (since version 0.6 in 1993) and PDCurses (since version 2.2 + in 1995) provide a panel library whose common ancestor was a public + domain implementation by Warren Tucker published in u386mon 2.20 + (1990). + + According to Tucker, the SystemV panel library was first released + in SVr3.2 (1988), and his implementation helped with a port to + SVr3.1 (1987). + + Several developers have improved each of these; they are no longer + the same as Tucker's implementation. + + o NetBSD 8 (2018) has a panel library begun by Valery Ushakov in + 2015. This is based on the AT&T documentation.
@@ -204,13 +281,17 @@
curses(3x), curs_variables(3x), - This describes ncurses version 6.1 (patch 20191012). + This describes ncurses version 6.3 (patch 20220416).
- Originally written by Warren Tucker <wht@n4hgf.mt-park.ga.us>, primar- - ily to assist in porting u386mon to systems without a native panels - library. Repackaged for ncurses by Zeyd ben-Halim. + Originally written by Warren Tucker <wht@n4hgf.mt-park.ga.us>, + primarily to assist in porting u386mon to systems without a native + panels library. + + Repackaged for ncurses by Zeyd ben-Halim. + + Juergen Pfeifer and Thomas E. Dickey revised/improved the library. @@ -221,7 +302,27 @@