ncurses 5.9 - patch 20110730
[ncurses.git] / c++ / cursslk.cc
index 82ff83e11954cdf96c181866b3dd2542db4320fe..cfbc9da42da7a1e9290e2eb00e76ec90b0a9bccd 100644 (file)
@@ -1,6 +1,6 @@
 // * this is for making emacs happy: -*-Mode: C++;-*-
 /****************************************************************************
 // * this is for making 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                                          *
  ****************************************************************************/
 
  ****************************************************************************/
 
+#include "internal.h"
 #include "cursslk.h"
 #include "cursesapp.h"
 #include "cursslk.h"
 #include "cursesapp.h"
-#include "internal.h"
 
 
-MODULE_ID("$Id: cursslk.cc,v 1.5 1999/05/16 17:31:01 juergen Exp $")
+MODULE_ID("$Id: cursslk.cc,v 1.15 2005/08/06 22:12:36 tom Exp $")
 
 
-void Soft_Label_Key_Set::Soft_Label_Key::operator=(char *text)  {
+Soft_Label_Key_Set::Soft_Label_Key&
+  Soft_Label_Key_Set::Soft_Label_Key::operator=(char *text)
+{
   delete[] label;
   label = new char[1 + ::strlen(text)];
   delete[] label;
   label = new char[1 + ::strlen(text)];
-  (strcpy)(label,text);
+  (::strcpy)(label,text);
+  return *this;
 }
 
 long Soft_Label_Key_Set::count      = 0L;
 }
 
 long Soft_Label_Key_Set::count      = 0L;
@@ -49,26 +52,33 @@ int  Soft_Label_Key_Set::num_labels = 0;
 Soft_Label_Key_Set::Label_Layout
   Soft_Label_Key_Set::format = None;
 
 Soft_Label_Key_Set::Label_Layout
   Soft_Label_Key_Set::format = None;
 
-void Soft_Label_Key_Set::init() {
+void Soft_Label_Key_Set::init()
+{
   slk_array = new Soft_Label_Key[num_labels];
   for(int i=0; i < num_labels; i++) {
     slk_array[i].num = i+1;
   }
   slk_array = new Soft_Label_Key[num_labels];
   for(int i=0; i < num_labels; i++) {
     slk_array[i].num = i+1;
   }
-  b_attrInit = FALSE;  
+  b_attrInit = FALSE;
 }
 
 }
 
-Soft_Label_Key_Set::Soft_Label_Key_Set() {
+Soft_Label_Key_Set::Soft_Label_Key_Set()
+  : b_attrInit(FALSE),
+    slk_array(NULL)
+{
   if (format==None)
     Error("No default SLK layout");
   init();
 }
 
   if (format==None)
     Error("No default SLK layout");
   init();
 }
 
-Soft_Label_Key_Set::Soft_Label_Key_Set(Soft_Label_Key_Set::Label_Layout fmt) {
+Soft_Label_Key_Set::Soft_Label_Key_Set(Soft_Label_Key_Set::Label_Layout fmt)
+  : b_attrInit(FALSE),
+    slk_array(NULL)
+{
   if (fmt==None)
     Error("Invalid SLK Layout");
   if (count++==0) {
     format = fmt;
   if (fmt==None)
     Error("Invalid SLK Layout");
   if (count++==0) {
     format = fmt;
-    if (ERR == ::slk_init((int)fmt))
+    if (ERR == ::slk_init(static_cast<int>(fmt)))
       Error("slk_init");
     num_labels = (fmt>=PC_Style?12:8);
   }
       Error("slk_init");
     num_labels = (fmt>=PC_Style?12:8);
   }
@@ -102,7 +112,8 @@ void Soft_Label_Key_Set::activate_label(int i, bool bf) {
   noutrefresh();
 }
 
   noutrefresh();
 }
 
-void Soft_Label_Key_Set::activate_labels(bool bf) {
+void Soft_Label_Key_Set::activate_labels(bool bf)
+{
   if (!b_attrInit) {
     NCursesApplication* A = NCursesApplication::getApplication();
     if (A) attrset(A->labels());
   if (!b_attrInit) {
     NCursesApplication* A = NCursesApplication::getApplication();
     if (A) attrset(A->labels());