X-Git-Url: http://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=c%2B%2B%2Fcursesf.h;h=ea1aaf0d1536f0f8eba2bb855760e57a8f252d47;hp=17d4c70eddbbdbf26190110c7030c580044f7dea;hb=7f4b9f390624835ceb0849965a7f6ff2dcb39d00;hpb=47d2fb4537d9ad5bb14f4810561a327930ca4280 diff --git a/c++/cursesf.h b/c++/cursesf.h index 17d4c70e..ea1aaf0d 100644 --- a/c++/cursesf.h +++ b/c++/cursesf.h @@ -1,6 +1,7 @@ // * This makes emacs happy -*-Mode: C++;-*- +// vile:cppmode /**************************************************************************** - * Copyright 2019,2020 Thomas E. Dickey * + * Copyright 2019-2020,2021 Thomas E. Dickey * * Copyright 1998-2012,2014 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -32,7 +33,7 @@ * Author: Juergen Pfeifer, 1997 * ****************************************************************************/ -// $Id: cursesf.h,v 1.35 2020/02/02 23:34:34 tom Exp $ +// $Id: cursesf.h,v 1.38 2021/04/17 18:11:08 tom Exp $ #ifndef NCURSES_CURSESF_H_incl #define NCURSES_CURSESF_H_incl 1 @@ -51,11 +52,11 @@ extern "C" { // The abstract base class for builtin and user defined Fieldtypes. // ------------------------------------------------------------------------- // -class NCURSES_IMPEXP NCursesFormField; // forward declaration +class NCURSES_CXX_IMPEXP NCursesFormField; // forward declaration // Class to represent builtin field types as well as C++ written new // fieldtypes (see classes UserDefineFieldType... -class NCURSES_IMPEXP NCursesFieldType +class NCURSES_CXX_IMPEXP NCursesFieldType { friend class NCursesFormField; @@ -101,7 +102,7 @@ public: // The class representing a forms field, wrapping the lowlevel FIELD struct // ------------------------------------------------------------------------- // -class NCURSES_IMPEXP NCursesFormField +class NCURSES_CXX_IMPEXP NCursesFormField { friend class NCursesForm; @@ -338,7 +339,7 @@ extern "C" { // The class representing a form, wrapping the lowlevel FORM struct // ------------------------------------------------------------------------- // -class NCURSES_IMPEXP NCursesForm : public NCursesPanel +class NCURSES_CXX_IMPEXP NCursesForm : public NCursesPanel { protected: FORM* form; // the lowlevel structure @@ -629,7 +630,7 @@ public: // data belongs to some class T. Use T as template argument // to create a UserField. // ------------------------------------------------------------------------- -template class NCURSES_IMPEXP NCursesUserField : public NCursesFormField +template class NCURSES_CXX_IMPEXP NCursesUserField : public NCursesFormField { public: NCursesUserField (int rows, @@ -662,7 +663,7 @@ public: // The same mechanism is used to attach user data to a form // ------------------------------------------------------------------------- // -template class NCURSES_IMPEXP NCursesUserForm : public NCursesForm +template class NCURSES_CXX_IMPEXP NCursesUserForm : public NCursesForm { protected: // 'Internal' constructor, builds an object without association to a @@ -721,7 +722,7 @@ public: // Builtin Fieldtypes // ------------------------------------------------------------------------- // -class NCURSES_IMPEXP Alpha_Field : public NCursesFieldType +class NCURSES_CXX_IMPEXP Alpha_Field : public NCursesFieldType { private: int min_field_width; @@ -731,13 +732,13 @@ private: } public: - Alpha_Field(int width) + explicit Alpha_Field(int width) : NCursesFieldType(TYPE_ALPHA), min_field_width(width) { } }; -class NCURSES_IMPEXP Alphanumeric_Field : public NCursesFieldType +class NCURSES_CXX_IMPEXP Alphanumeric_Field : public NCursesFieldType { private: int min_field_width; @@ -747,13 +748,13 @@ private: } public: - Alphanumeric_Field(int width) + explicit Alphanumeric_Field(int width) : NCursesFieldType(TYPE_ALNUM), min_field_width(width) { } }; -class NCURSES_IMPEXP Integer_Field : public NCursesFieldType +class NCURSES_CXX_IMPEXP Integer_Field : public NCursesFieldType { private: int precision; @@ -771,7 +772,7 @@ public: } }; -class NCURSES_IMPEXP Numeric_Field : public NCursesFieldType +class NCURSES_CXX_IMPEXP Numeric_Field : public NCursesFieldType { private: int precision; @@ -789,7 +790,7 @@ public: } }; -class NCURSES_IMPEXP Regular_Expression_Field : public NCursesFieldType +class NCURSES_CXX_IMPEXP Regular_Expression_Field : public NCursesFieldType { private: char* regex; @@ -805,7 +806,7 @@ private: } public: - Regular_Expression_Field(const char *expr) + explicit Regular_Expression_Field(const char *expr) : NCursesFieldType(TYPE_REGEXP), regex(NULL) { @@ -834,7 +835,7 @@ public: } }; -class NCURSES_IMPEXP Enumeration_Field : public NCursesFieldType +class NCURSES_CXX_IMPEXP Enumeration_Field : public NCursesFieldType { private: const char** list; @@ -873,7 +874,7 @@ public: } }; -class NCURSES_IMPEXP IPV4_Address_Field : public NCursesFieldType +class NCURSES_CXX_IMPEXP IPV4_Address_Field : public NCursesFieldType { private: void set(NCursesFormField& f) { @@ -896,7 +897,7 @@ extern "C" { // Abstract base class for User-Defined Fieldtypes // ------------------------------------------------------------------------- // -class NCURSES_IMPEXP UserDefinedFieldType : public NCursesFieldType +class NCURSES_CXX_IMPEXP UserDefinedFieldType : public NCursesFieldType { friend class UDF_Init; // Internal helper to set up statics private: @@ -925,8 +926,7 @@ protected: virtual bool char_check (int c) = 0; public: - UserDefinedFieldType() : NCursesFieldType(generic_fieldtype) { - } + UserDefinedFieldType(); }; extern "C" { @@ -939,7 +939,7 @@ extern "C" { // Abstract base class for User-Defined Fieldtypes with Choice functions // ------------------------------------------------------------------------- // -class NCURSES_IMPEXP UserDefinedFieldType_With_Choice : public UserDefinedFieldType +class NCURSES_CXX_IMPEXP UserDefinedFieldType_With_Choice : public UserDefinedFieldType { friend class UDF_Init; // Internal helper to set up statics private: @@ -962,9 +962,7 @@ protected: virtual bool previous(NCursesFormField& f) = 0; public: - UserDefinedFieldType_With_Choice() { - fieldtype = generic_fieldtype_with_choice; - } + UserDefinedFieldType_With_Choice(); }; #endif /* NCURSES_CURSESF_H_incl */