]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - c++/cursesp.h
ncurses 5.3
[ncurses.git] / c++ / cursesp.h
index 51cb4cdbf8471d8a5d47b6c19168e7378e4efc65..f5295e410c90832298a48f1a6fe74293625974f4 100644 (file)
@@ -1,8 +1,41 @@
 // * This makes emacs happy -*-Mode: C++;-*-
-#ifndef _CURSESP_H
-#define _CURSESP_H
-
-// $Id: cursesp.h,v 1.11 1999/07/31 09:46:05 juergen Exp $
+/****************************************************************************
+ * 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            *
+ * "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.                                                           *
+ ****************************************************************************/
+
+/****************************************************************************
+ *   Author: Juergen Pfeifer, 1997                                          *
+ *   Contact: http://www.familiepfeifer.de/Contact.aspx?Lang=en             *
+ ****************************************************************************/
+
+#ifndef NCURSES_CURSESP_H_incl
+#define NCURSES_CURSESP_H_incl 1
+
+// $Id: cursesp.h,v 1.17 2002/07/06 15:47:52 juergen Exp $
 
 #include <cursesw.h>
 
@@ -10,7 +43,7 @@ extern "C" {
 #  include <panel.h>
 }
 
-class NCursesPanel : public NCursesWindow {
+class NCURSES_IMPEXP NCursesPanel : public NCursesWindow {
 protected:
   PANEL *p;
   static NCursesPanel *dummy;
@@ -29,14 +62,14 @@ private:
 protected:
   void set_user(void *user) {
     UserHook* uptr = (UserHook*)::panel_userptr (p);
-    assert (uptr && uptr->m_back==this && uptr->m_owner==p);
+    assert (uptr != 0 && uptr->m_back==this && uptr->m_owner==p);
     uptr->m_user = user;
   }
   // Set the user pointer of the panel.
   
   void *get_user() {
     UserHook* uptr = (UserHook*)::panel_userptr (p);
-    assert (uptr && uptr->m_back==this && uptr->m_owner==p);
+    assert (uptr != 0 && uptr->m_back==this && uptr->m_owner==p);
     return uptr->m_user;
   }
   
@@ -47,6 +80,9 @@ protected:
   // If err is equal to the curses error indicator ERR, an error handler
   // is called.
 
+  // Get a keystroke. Default implementation calls getch()
+  virtual int getKey(void);
+
 public:
   NCursesPanel(int lines,
               int cols,
@@ -183,4 +219,4 @@ public:
   // Associate the user panel with the user data pointed to by p_UserData.
 };
 
-#endif // _CURSESP_H
+#endif // NCURSES_CURSESP_H_incl