X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=c%2B%2B%2Fcursesapp.h;h=a3d0aaf3c3604b9167db5799478ab9d84b9dc816;hp=998f14f1ce37a49eac1bfd8800c99d028fc6aac2;hb=896224bea6196d73d03e39b1a266887d6f2cb6ff;hpb=661078ddbde3ce0f3b06e95642fbb9b5fef7dca1 diff --git a/c++/cursesapp.h b/c++/cursesapp.h index 998f14f1..a3d0aaf3 100644 --- a/c++/cursesapp.h +++ b/c++/cursesapp.h @@ -1,6 +1,6 @@ // * This makes emacs happy -*-Mode: C++;-*- /**************************************************************************** - * Copyright (c) 1998 Free Software Foundation, Inc. * + * Copyright (c) 1998-2011,2019 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 * @@ -28,17 +28,17 @@ ****************************************************************************/ /**************************************************************************** - * Author: Juergen Pfeifer 1997 * + * Author: Juergen Pfeifer, 1997 * ****************************************************************************/ -// $Id: cursesapp.h,v 1.3 1998/02/11 12:13:41 tom Exp $ +// $Id: cursesapp.h,v 1.13 2019/07/28 19:55:27 tom Exp $ -#ifndef _CURSESAPP_H -#define _CURSESAPP_H +#ifndef NCURSES_CURSESAPP_H_incl +#define NCURSES_CURSESAPP_H_incl #include -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 @@ -80,19 +80,33 @@ protected: // This method is called to initialize the SLKs. Default is nothing. // You may rewrite this in your derived class virtual void init_labels(Soft_Label_Key_Set& S) const { + (void) S; } // Your derived class must implement this method. The return value must // 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); + 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(); + virtual ~NCursesApplication() THROWS(NCursesException); // Get a pointer to the current application object static NCursesApplication* getApplication() { @@ -105,6 +119,8 @@ public: // Process the commandline arguments. The default implementation simply // ignores them. Your derived class may rewrite this. virtual void handleArgs(int argc, char* argv[]) { + (void) argc; + (void) argv; } // Does this application use colors? @@ -125,39 +141,39 @@ public: // Attributes to use for menu and forms foregrounds virtual chtype foregrounds() const { - return b_Colors ? COLOR_PAIR(1) : A_BOLD; + return b_Colors ? static_cast(COLOR_PAIR(1)) : A_BOLD; } // Attributes to use for menu and forms backgrounds virtual chtype backgrounds() const { - return b_Colors ? COLOR_PAIR(2) : A_NORMAL; + return b_Colors ? static_cast(COLOR_PAIR(2)) : A_NORMAL; } // Attributes to use for inactive (menu) elements virtual chtype inactives() const { - return b_Colors ? (COLOR_PAIR(3)|A_DIM) : A_DIM; + return b_Colors ? static_cast(COLOR_PAIR(3)|A_DIM) : A_DIM; } // Attributes to use for (form) labels and SLKs virtual chtype labels() const { - return b_Colors ? COLOR_PAIR(4) : A_NORMAL; + return b_Colors ? static_cast(COLOR_PAIR(4)) : A_NORMAL; } // Attributes to use for form backgrounds virtual chtype dialog_backgrounds() const { - return b_Colors ? COLOR_PAIR(4) : A_NORMAL; + return b_Colors ? static_cast(COLOR_PAIR(4)) : A_NORMAL; } // Attributes to use as default for (form) window backgrounds virtual chtype window_backgrounds() const { - return b_Colors ? COLOR_PAIR(5) : A_NORMAL; + return b_Colors ? static_cast(COLOR_PAIR(5)) : A_NORMAL; } // Attributes to use for the title window virtual chtype screen_titles() const { - return b_Colors ? COLOR_PAIR(6) : A_BOLD; + return b_Colors ? static_cast(COLOR_PAIR(6)) : A_BOLD; } }; -#endif // _CURSESAPP_H +#endif /* NCURSES_CURSESAPP_H_incl */