]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - c++/cursesp.cc
ncurses 5.3
[ncurses.git] / c++ / cursesp.cc
index e0c17aea7eb406e1fad8e36188da0eb2cb15c6e3..2e6931b1bbc28be1114704d3aa960449fde262ae 100644 (file)
@@ -1,6 +1,6 @@
 // * this is for making emacs happy: -*-Mode: C++;-*-
 /****************************************************************************
- * Copyright (c) 1998 Free Software Foundation, Inc.                        *
+ * Copyright (c) 1998,1999,2000,2001 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                                    *
+ *   Contact: http://www.familiepfeifer.de/Contact.aspx?Lang=en             *
  ****************************************************************************/
 
-#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.20 2002/07/13 11:35:08 juergen Exp $")
 
 NCursesPanel* NCursesPanel::dummy = (NCursesPanel*)0;
 
@@ -42,17 +44,17 @@ void NCursesPanel::init() {
   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();
@@ -61,7 +63,7 @@ NCursesPanel::~NCursesPanel() {
 void
 NCursesPanel::redraw() {
   PANEL *pan;
-  
+
   pan = ::panel_above(NULL);
   while (pan) {
     ::touchwin(panel_window(pan));
@@ -74,7 +76,7 @@ NCursesPanel::redraw() {
 int
 NCursesPanel::refresh() {
   ::update_panels();
-  return doupdate();
+  return ::doupdate();
 }
 
 int
@@ -95,29 +97,34 @@ NCursesPanel::frame(const char *title,const char *btitle) {
   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();
+}