120 lines
2.7 KiB
ReStructuredText
120 lines
2.7 KiB
ReStructuredText
|
|
||
|
:mod:`curses.panel` --- A panel stack extension for curses.
|
||
|
===========================================================
|
||
|
|
||
|
.. module:: curses.panel
|
||
|
:synopsis: A panel stack extension that adds depth to curses windows.
|
||
|
.. sectionauthor:: A.M. Kuchling <amk@amk.ca>
|
||
|
|
||
|
|
||
|
Panels are windows with the added feature of depth, so they can be stacked on
|
||
|
top of each other, and only the visible portions of each window will be
|
||
|
displayed. Panels can be added, moved up or down in the stack, and removed.
|
||
|
|
||
|
|
||
|
.. _cursespanel-functions:
|
||
|
|
||
|
Functions
|
||
|
---------
|
||
|
|
||
|
The module :mod:`curses.panel` defines the following functions:
|
||
|
|
||
|
|
||
|
.. function:: bottom_panel()
|
||
|
|
||
|
Returns the bottom panel in the panel stack.
|
||
|
|
||
|
|
||
|
.. function:: new_panel(win)
|
||
|
|
||
|
Returns a panel object, associating it with the given window *win*. Be aware
|
||
|
that you need to keep the returned panel object referenced explicitly. If you
|
||
|
don't, the panel object is garbage collected and removed from the panel stack.
|
||
|
|
||
|
|
||
|
.. function:: top_panel()
|
||
|
|
||
|
Returns the top panel in the panel stack.
|
||
|
|
||
|
|
||
|
.. function:: update_panels()
|
||
|
|
||
|
Updates the virtual screen after changes in the panel stack. This does not call
|
||
|
:func:`curses.doupdate`, so you'll have to do this yourself.
|
||
|
|
||
|
|
||
|
.. _curses-panel-objects:
|
||
|
|
||
|
Panel Objects
|
||
|
-------------
|
||
|
|
||
|
Panel objects, as returned by :func:`new_panel` above, are windows with a
|
||
|
stacking order. There's always a window associated with a panel which determines
|
||
|
the content, while the panel methods are responsible for the window's depth in
|
||
|
the panel stack.
|
||
|
|
||
|
Panel objects have the following methods:
|
||
|
|
||
|
|
||
|
.. method:: Panel.above()
|
||
|
|
||
|
Returns the panel above the current panel.
|
||
|
|
||
|
|
||
|
.. method:: Panel.below()
|
||
|
|
||
|
Returns the panel below the current panel.
|
||
|
|
||
|
|
||
|
.. method:: Panel.bottom()
|
||
|
|
||
|
Push the panel to the bottom of the stack.
|
||
|
|
||
|
|
||
|
.. method:: Panel.hidden()
|
||
|
|
||
|
Returns true if the panel is hidden (not visible), false otherwise.
|
||
|
|
||
|
|
||
|
.. method:: Panel.hide()
|
||
|
|
||
|
Hide the panel. This does not delete the object, it just makes the window on
|
||
|
screen invisible.
|
||
|
|
||
|
|
||
|
.. method:: Panel.move(y, x)
|
||
|
|
||
|
Move the panel to the screen coordinates ``(y, x)``.
|
||
|
|
||
|
|
||
|
.. method:: Panel.replace(win)
|
||
|
|
||
|
Change the window associated with the panel to the window *win*.
|
||
|
|
||
|
|
||
|
.. method:: Panel.set_userptr(obj)
|
||
|
|
||
|
Set the panel's user pointer to *obj*. This is used to associate an arbitrary
|
||
|
piece of data with the panel, and can be any Python object.
|
||
|
|
||
|
|
||
|
.. method:: Panel.show()
|
||
|
|
||
|
Display the panel (which might have been hidden).
|
||
|
|
||
|
|
||
|
.. method:: Panel.top()
|
||
|
|
||
|
Push panel to the top of the stack.
|
||
|
|
||
|
|
||
|
.. method:: Panel.userptr()
|
||
|
|
||
|
Returns the user pointer for the panel. This might be any Python object.
|
||
|
|
||
|
|
||
|
.. method:: Panel.window()
|
||
|
|
||
|
Returns the window object associated with the panel.
|
||
|
|