31#include <ncursesw/panel.h>
35 friend std::ostream & operator<<( std::ostream & Stream,
const NCursesPanel & Obj_Cv );
36 friend std::ostream & operator<<( std::ostream & Stream,
const NCursesPanel * Obj_Cv );
38 friend class NCDialog;
78 UserHook* uptr = ( UserHook* )::panel_userptr( p );
79 assert( uptr && uptr->m_back ==
this && uptr->m_owner == p );
83 void *get_user()
const
85 UserHook* uptr = ( UserHook* )::panel_userptr( p );
86 assert( uptr && uptr->m_back ==
this && uptr->m_owner == p );
90 static const NCursesPanel * get_Panel_of(
const PANEL & pan )
92 UserHook* uptr = ( UserHook* )::panel_userptr( &pan );
94 if ( uptr && uptr->m_owner == &pan
95 && uptr->m_back && uptr->m_back->p == &pan )
107 void OnError(
int err )
const THROWS( NCursesPanelException )
110 THROW(
new NCursesPanelException(
this, err ) );
121 : NCursesWindow(
lines,
cols, begin_y, begin_x ), p(0)
141 ::wresize(
w,
lines, columns );
142 return ::replace_panel( p,
w );
183 if ( ::panel_above( 0 ) != p )
185 OnError( ::bottom_panel( p ) );
191 OnError( ::move_panel( p, y, x ) );
200 return ( ::panel_hidden( p ) );
224 inline PANEL * PANEL_above()
const
226 return( p ? ::panel_above( p ) : 0 );
229 inline PANEL * PANEL_below()
const
231 return( p ? ::panel_below( p ) : 0 );
234 int transparent(
int y,
int x );
259 virtual void frame(
const char* title = NULL,
260 const char* btitle = NULL );
265 virtual void boldframe(
const char* title = NULL,
266 const char* btitle = NULL );
271 virtual void label(
const char* topLabel,
272 const char* bottomLabel );
299 const T* p_UserData = ( T* )0 )
323 return ( T* )get_user();
344 return p->UserData();
void OnError(int err) const THROWS(NCursesPanelException)
Definition ncursesp.h:107
void bottom()
Definition ncursesp.h:178
int mvwin(int y, int x)
Definition ncursesp.h:189
static void redraw()
Definition ncursesp.cc:94
bool hidden() const
Definition ncursesp.h:198
NCursesPanel & above() const
Definition ncursesp.h:212
virtual void frame(const char *title=NULL, const char *btitle=NULL)
Definition ncursesp.cc:134
virtual int refresh()
Definition ncursesp.cc:112
NCursesPanel(int lines, int cols, int begin_y=0, int begin_x=0)
Definition ncursesp.h:117
virtual void centertext(int row, const char *label)
Definition ncursesp.cc:164
virtual int resize(int lines, int columns)
Definition ncursesp.h:139
void top()
Definition ncursesp.h:168
void set_user(void *user)
Definition ncursesp.h:76
void show()
Definition ncursesp.h:160
virtual int noutrefresh()
Definition ncursesp.cc:119
virtual void boldframe(const char *title=NULL, const char *btitle=NULL)
Definition ncursesp.cc:126
virtual void label(const char *topLabel, const char *bottomLabel)
Definition ncursesp.cc:154
NCursesPanel()
Definition ncursesp.h:130
void hide()
Definition ncursesp.h:148
Associate user data with a panel. We use templates to provide a typesafe mechanism to associate user ...
Definition ncursesp.h:288
static T * UserDataOf(const PANEL &pan)
Definition ncursesp.h:338
NCursesUserPanel(const T *p_UserData=(T *) 0)
Definition ncursesp.h:310
T * UserData(void) const
Definition ncursesp.h:321
NCursesUserPanel(int lines, int cols, int begin_y=0, int begin_x=0, const T *p_UserData=(T *) 0)
Definition ncursesp.h:295
virtual void setUserData(const T *p_UserData)
Definition ncursesp.h:329
WINDOW * w
Definition ncursesw.h:949
static int lines()
Definition ncursesw.h:1044
static int cols()
Definition ncursesw.h:1049