ncurses 5.9 - patch 20110430
[ncurses.git] / c++ / cursesapp.h
index f13fd1bdb45795d816a059fcfd71d5b58d86cdde..7e995d2e39c63abdcf045c1216fbdf540719806d 100644 (file)
@@ -1,6 +1,6 @@
 // * This makes emacs happy -*-Mode: C++;-*-
 /****************************************************************************
 // * This makes emacs happy -*-Mode: C++;-*-
 /****************************************************************************
- * Copyright (c) 1998 Free Software Foundation, Inc.                        *
+ * Copyright (c) 1998-2003,2005 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            *
  *                                                                          *
  * 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> 1997                 *
+ *   Author: Juergen Pfeifer, 1997                                          *
  ****************************************************************************/
 
  ****************************************************************************/
 
-// $Id: cursesapp.h,v 1.5 1999/05/16 17:29:59 juergen Exp $
+// $Id: cursesapp.h,v 1.11 2005/05/28 21:57:44 tom Exp $
 
 
-#ifndef _CURSESAPP_H
-#define _CURSESAPP_H
+#ifndef NCURSES_CURSESAPP_H_incl
+#define NCURSES_CURSESAPP_H_incl
 
 #include <cursslk.h>
 
 
 #include <cursslk.h>
 
-class NCursesApplication {
+class NCURSES_IMPEXP NCursesApplication {
 public:
   typedef struct _slk_link {          // This structure is used to maintain
     struct _slk_link* prev;           // a stack of SLKs
 public:
   typedef struct _slk_link {          // This structure is used to maintain
     struct _slk_link* prev;           // a stack of SLKs
@@ -86,11 +86,24 @@ protected:
   // be the exit value of your application.
   virtual int run() = 0;
 
   // be the exit value of your application.
   virtual int run() = 0;
 
-
   // The constructor is protected, so you may use it in your derived
   // class constructor. The argument tells whether or not you want colors.
   NCursesApplication(bool wantColors = FALSE);
 
   // The constructor is protected, so you may use it in your derived
   // class constructor. The argument tells whether or not you want colors.
   NCursesApplication(bool wantColors = FALSE);
 
+  NCursesApplication& operator=(const NCursesApplication& rhs)
+  {
+    if (this != &rhs) {
+      *this = rhs;
+    }
+    return *this;
+  }
+
+  NCursesApplication(const NCursesApplication& rhs)
+    : b_Colors(rhs.b_Colors),
+      Root_Window(rhs.Root_Window)
+  {
+  }
+
 public:
   virtual ~NCursesApplication();
 
 public:
   virtual ~NCursesApplication();
 
@@ -160,4 +173,4 @@ public:
 
 };
  
 
 };
  
-#endif // _CURSESAPP_H
+#endif /* NCURSES_CURSESAPP_H_incl */