// * this is for making emacs happy: -*-Mode: C++;-*-
/****************************************************************************
- * Copyright (c) 1998 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2002,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 *
****************************************************************************/
/****************************************************************************
- * Author: Juergen Pfeifer <juergen.pfeifer@gmx.net> 1993,1997 *
+ * Author: Juergen Pfeifer, 1993, 1997 *
****************************************************************************/
-#include "cursesp.h"
#include "internal.h"
+#include "cursesp.h"
+#include <string.h>
-MODULE_ID("$Id: cursesp.cc,v 1.14 1999/05/16 17:30:51 juergen Exp $")
+MODULE_ID("$Id: cursesp.cc,v 1.21 2003/10/25 15:04:46 tom Exp $")
NCursesPanel* NCursesPanel::dummy = (NCursesPanel*)0;
p = ::new_panel(w);
if (!p)
OnError(ERR);
-
+
UserHook* hook = new UserHook;
hook->m_user = NULL;
hook->m_back = this;
hook->m_owner = p;
::set_panel_userptr(p, (void *)hook);
-}
+}
NCursesPanel::~NCursesPanel() {
UserHook* hook = (UserHook*)::panel_userptr(p);
- assert(hook && hook->m_back==this && hook->m_owner==p);
+ assert(hook != 0 && hook->m_back==this && hook->m_owner==p);
delete hook;
::del_panel(p);
::update_panels();
void
NCursesPanel::redraw() {
PANEL *pan;
-
+
pan = ::panel_above(NULL);
while (pan) {
::touchwin(panel_window(pan));
int
NCursesPanel::refresh() {
::update_panels();
- return doupdate();
+ return ::doupdate();
}
int
int err = OK;
if (!title && !btitle) {
err = box();
- }
+ }
else {
err = box();
if (err==OK)
- label(title,btitle);
+ label(title,btitle);
}
OnError(err);
}
void
NCursesPanel::label(const char *tLabel, const char *bLabel) {
- if (tLabel)
+ if (tLabel)
centertext(0,tLabel);
- if (bLabel)
+ if (bLabel)
centertext(maxy(),bLabel);
}
void
NCursesPanel::centertext(int row,const char *label) {
if (label) {
- int x = (maxx() - strlen(label)) / 2;
+ int x = (maxx() - ::strlen(label)) / 2;
if (x<0)
x=0;
OnError(addstr(row, x, label, width()));
}
}
+
+int
+NCursesPanel::getKey(void) {
+ return getch();
+}