?? panel.3x
字號:
.\"***************************************************************************.\" Copyright (c) 1998-2000,2003 Free Software Foundation, Inc. *.\" *.\" Permission is hereby granted, free of charge, to any person obtaining a *.\" copy of this software and associated documentation files (the *.\" "Software"), to deal in the Software without restriction, including *.\" without limitation the rights to use, copy, modify, merge, publish, *.\" distribute, distribute with modifications, sublicense, and/or sell *.\" copies of the Software, and to permit persons to whom the Software is *.\" furnished to do so, subject to the following conditions: *.\" *.\" The above copyright notice and this permission notice shall be included *.\" in all copies or substantial portions of the Software. *.\" *.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. *.\" *.\" Except as contained in this notice, the name(s) of the above copyright *.\" holders shall not be used in advertising or otherwise to promote the *.\" sale, use or other dealings in this Software without prior written *.\" authorization. *.\"***************************************************************************.\".\" $Id: panel.3x,v 1.11 2003/05/17 22:44:09 jmc Exp $.TH panel 3X "".ds n 5.ds d @TERMINFO@.SH NAMEpanel - panel stack extension for curses.SH SYNOPSIS\fB#include <panel.h>\fR.P\fBcc [flags] sourcefiles -lpanel -lncurses\fR.P\fBPANEL *new_panel(WINDOW *win)\fR.br\fBint bottom_panel(PANEL *pan)\fR.br\fBint top_panel(PANEL *pan)\fR.br\fBint show_panel(PANEL *pan)\fR.br\fBvoid update_panels();\fR.br\fBint hide_panel(PANEL *pan)\fR.br\fBWINDOW *panel_window(const PANEL *pan)\fR.br\fBint replace_panel(PANEL *pan, WINDOW *window)\fR.br\fBint move_panel(PANEL *pan, int starty, int startx)\fR.br\fBint panel_hidden(const PANEL *pan)\fR.br\fBPANEL *panel_above(const PANEL *pan)\fR.br\fBPANEL *panel_below(const PANEL *pan)\fR.br\fBint set_panel_userptr(PANEL *pan, const void *ptr)\fR.br\fBconst void *panel_userptr(const PANEL *pan)\fR.br\fBint del_panel(PANEL *pan)\fR.br.SH DESCRIPTIONPanels are \fBcurses\fR(3X) windows with the added feature ofdepth. Panel functions allow the use of stacked windows and ensurethe proper portions of each window and the curses \fBstdscr\fR window arehidden or displayed when panels are added, moved, modified or removed.The set of currently visible panels is the stack of panels. The\fBstdscr\fR window is beneath all panels, and is not considered partof the stack..PA window is associated with every panel. The panel routines enableyou to create, move, hide, and show panels, as well as position apanel at any desired location in the stack..PPanel routines are a functional layer added to \fBcurses\fR(3X), make onlyhigh-level curses calls, and work anywhere terminfo curses does..SH FUNCTIONS.TP\fBnew_panel(win)\fRallocates a \fBPANEL\fR structure, associates it with\fBwin\fR, places the panel on the top of the stack (causes itto be displayed above any other panel) and returns apointer to the new panel..TP\fBvoid update_panels()\fRrefreshes the virtual screen to reflect the relations between thepanels in the stack, but does not call doupdate() to refresh thephysical screen. Use this function and not wrefresh or wnoutrefresh.update_panels() may be called more than once before a call todoupdate(), but doupdate() is the function responsible for updatingthe physical screen..TP\fBdel_panel(pan)\fRremoves the given panel from the stack and deallocates the\fBPANEL\fR structure (but not its associated window)..TP\fBhide_panel(pan)\fRremoves the given panel from the panel stack and thus hides it fromview. The \fBPANEL\fR structure is not lost, merely removed from the stack..TP\fBshow_panel(pan)\fRmakes a hidden panel visible by placing it on top of the panels in thepanel stack. See COMPATIBILITY below..TP\fBtop_panel(pan)\fRputs the given visible panel on top of all panels in the stack. SeeCOMPATIBILITY below..TP\fBbottom_panel(pan)\fRputs panel at the bottom of all panels..TP\fBmove_panel(pan,starty,startx)\fRmoves the given panel window so that its upper-left corner is at\fBstarty\fR, \fBstartx\fR. It does not change the position of thepanel in the stack. Be sure to use this function, not \fBmvwin()\fR,to move a panel window..TP\fBreplace_panel(pan,window)\fRreplaces the current window of panel with \fBwindow\fR (useful, forexample if you want to resize a panel; if you're using \fBncurses\fR,you can call \fBreplace_panel\fR on the output of \fBwresize\fR(3X)).It does not change the position of the panel in the stack..TP\fBpanel_above(pan)\fRreturns a pointer to the panel above pan. If the panel argument is\fB(PANEL *)0\fR, it returns a pointer to the bottom panel in the stack..TP\fBpanel_below(pan)\fRreturns a pointer to the panel just below pan. If the panel argumentis \fB(PANEL *)0\fR, it returns a pointer to the top panel in the stack..TP\fBset_panel_userptr(pan,ptr)\fRsets the panel's user pointer..TP\fBpanel_userptr(pan)\fRreturns the user pointer for a given panel..TP\fBpanel_window(pan)\fRreturns a pointer to the window of the given panel..SH DIAGNOSTICSEach routine that returns a pointer returns \fBNULL\fR if an erroroccurs. Each routine that returns an int value returns \fBOK\fR if itexecutes successfully and \fBERR\fR if not..SH COMPATIBILITYReasonable care has been taken to ensure compatibilitywith the native panel facility introduced in SVr3.2 (inspection ofthe SVr4 manual pages suggests the programming interface is unchanged).The \fBPANEL\fR data structures are merely similar. The programmeris cautioned not to directly use \fBPANEL\fR fields..PThe functions \fBshow_panel()\fR and \fBtop_panel()\fR are identicalin this implementation, and work equally well with displayed or hiddenpanels. In the native System V implementation, \fBshow_panel()\fR isintended for making a hidden panel visible (at the top of the stack)and \fBtop_panel()\fR is intended for making an already-visible panelmove to the top of the stack. You are cautioned to use the correctfunction to ensure compatibility with native panel libraries..SH NOTEIn your library list, libpanel.a should be before libncurses.a; that is,you want to say `-lpanel -lncurses', not the other way around (which wouldgive you a link error using GNU \fBld\fR(1) and some other linkers)..SH FILES.Ppanel.hinterface for the panels library.Plibpanel.athe panels library itself.SH SEE ALSO\fBcurses\fR(3X).SH AUTHOROriginally written by Warren Tucker <wht@n4hgf.mt-park.ga.us>,primarily to assist in porting u386mon to systems without a nativepanels library. Repackaged for ncurses by Zeyd ben-Halim.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -