Current Dir: /usr/include/
[DIR] arpa [ delete | rename ]
[DIR] asm [ delete | rename ]
[DIR] asm-generic [ delete | rename ]
[DIR] bind9 [ delete | rename ]
[DIR] bits [ delete | rename ]
[DIR] blkid [ delete | rename ]
[DIR] brotli [ delete | rename ]
[DIR] bsock [ delete | rename ]
[DIR] c++ [ delete | rename ]
[DIR] criu-lve [ delete | rename ]
[DIR] drm [ delete | rename ]
[DIR] e2p [ delete | rename ]
[DIR] et [ delete | rename ]
[DIR] event2 [ delete | rename ]
[DIR] ext2fs [ delete | rename ]
[DIR] finclude [ delete | rename ]
[DIR] fontconfig [ delete | rename ]
[DIR] freetype2 [ delete | rename ]
[DIR] fstrm [ delete | rename ]
[DIR] fwctl [ delete | rename ]
[DIR] gdbm [ delete | rename ]
[DIR] gio-unix-2.0 [ delete | rename ]
[DIR] GL [ delete | rename ]
[DIR] glib-2.0 [ delete | rename ]
[DIR] gnu [ delete | rename ]
[DIR] google [ delete | rename ]
[DIR] graphite2 [ delete | rename ]
[DIR] gssapi [ delete | rename ]
[DIR] gssrpc [ delete | rename ]
[DIR] harfbuzz [ delete | rename ]
[DIR] json-c [ delete | rename ]
[DIR] kadm5 [ delete | rename ]
[DIR] krb5 [ delete | rename ]
[DIR] libexslt [ delete | rename ]
[DIR] libltdl [ delete | rename ]
[DIR] libmount [ delete | rename ]
[DIR] libpng16 [ delete | rename ]
[DIR] libxml2 [ delete | rename ]
[DIR] libxslt [ delete | rename ]
[DIR] linux [ delete | rename ]
[DIR] lve [ delete | rename ]
[DIR] lzma [ delete | rename ]
[DIR] misc [ delete | rename ]
[DIR] mtd [ delete | rename ]
[DIR] mysql [ delete | rename ]
[DIR] ncurses [ delete | rename ]
[DIR] ncursesw [ delete | rename ]
[DIR] net [ delete | rename ]
[DIR] netash [ delete | rename ]
[DIR] netatalk [ delete | rename ]
[DIR] netax25 [ delete | rename ]
[DIR] neteconet [ delete | rename ]
[DIR] netinet [ delete | rename ]
[DIR] netipx [ delete | rename ]
[DIR] netiucv [ delete | rename ]
[DIR] netpacket [ delete | rename ]
[DIR] netrom [ delete | rename ]
[DIR] netrose [ delete | rename ]
[DIR] nfs [ delete | rename ]
[DIR] openssl [ delete | rename ]
[DIR] pcp [ delete | rename ]
[DIR] protobuf-c [ delete | rename ]
[DIR] protocols [ delete | rename ]
[DIR] python3.9 [ delete | rename ]
[DIR] rdma [ delete | rename ]
[DIR] rpc [ delete | rename ]
[DIR] rpcsvc [ delete | rename ]
[DIR] scsi [ delete | rename ]
[DIR] security [ delete | rename ]
[DIR] selinux [ delete | rename ]
[DIR] sepol [ delete | rename ]
[DIR] sound [ delete | rename ]
[DIR] sys [ delete | rename ]
[DIR] sysprof-4 [ delete | rename ]
[DIR] tirpc [ delete | rename ]
[DIR] unicode [ delete | rename ]
[DIR] video [ delete | rename ]
[DIR] webp [ delete | rename ]
[DIR] X11 [ delete | rename ]
[DIR] xcb [ delete | rename ]
[DIR] xen [ delete | rename ]
[FILE] a.out.h [ edit | delete | rename ]
[FILE] aio.h [ edit | delete | rename ]
[FILE] aliases.h [ edit | delete | rename ]
[FILE] alloca.h [ edit | delete | rename ]
[FILE] ar.h [ edit | delete | rename ]
[FILE] argp.h [ edit | delete | rename ]
[FILE] argz.h [ edit | delete | rename ]
[FILE] assert.h [ edit | delete | rename ]
[FILE] autosprintf.h [ edit | delete | rename ]
[FILE] byteswap.h [ edit | delete | rename ]
[FILE] bzlib.h [ edit | delete | rename ]
[FILE] complex.h [ edit | delete | rename ]
[FILE] com_err.h [ edit | delete | rename ]
[FILE] cpio.h [ edit | delete | rename ]
[FILE] cpuidle.h [ edit | delete | rename ]
[FILE] crypt.h [ edit | delete | rename ]
[FILE] ctype.h [ edit | delete | rename ]
[FILE] curses.h [ edit | delete | rename ]
[FILE] cursesapp.h [ edit | delete | rename ]
[FILE] cursesf.h [ edit | delete | rename ]
[FILE] cursesm.h [ edit | delete | rename ]
[FILE] cursesp.h [ edit | delete | rename ]
[FILE] cursesw.h [ edit | delete | rename ]
[FILE] cursslk.h [ edit | delete | rename ]
[FILE] dbm.h [ edit | delete | rename ]
[FILE] dirent.h [ edit | delete | rename ]
[FILE] dlfcn.h [ edit | delete | rename ]
[FILE] elf.h [ edit | delete | rename ]
[FILE] endian.h [ edit | delete | rename ]
[FILE] entities.h [ edit | delete | rename ]
[FILE] envz.h [ edit | delete | rename ]
[FILE] err.h [ edit | delete | rename ]
[FILE] errno.h [ edit | delete | rename ]
[FILE] error.h [ edit | delete | rename ]
[FILE] eti.h [ edit | delete | rename ]
[FILE] etip.h [ edit | delete | rename ]
[FILE] evdns.h [ edit | delete | rename ]
[FILE] event.h [ edit | delete | rename ]
[FILE] evhttp.h [ edit | delete | rename ]
[FILE] evrpc.h [ edit | delete | rename ]
[FILE] evutil.h [ edit | delete | rename ]
[FILE] execinfo.h [ edit | delete | rename ]
[FILE] expat.h [ edit | delete | rename ]
[FILE] expat_config.h [ edit | delete | rename ]
[FILE] expat_external.h [ edit | delete | rename ]
[FILE] fcntl.h [ edit | delete | rename ]
[FILE] features-time64.h [ edit | delete | rename ]
[FILE] features.h [ edit | delete | rename ]
[FILE] fenv.h [ edit | delete | rename ]
[FILE] ffi-x86_64.h [ edit | delete | rename ]
[FILE] ffi.h [ edit | delete | rename ]
[FILE] ffitarget-x86_64.h [ edit | delete | rename ]
[FILE] ffitarget.h [ edit | delete | rename ]
[FILE] FlexLexer.h [ edit | delete | rename ]
[FILE] fmtmsg.h [ edit | delete | rename ]
[FILE] fnmatch.h [ edit | delete | rename ]
[FILE] form.h [ edit | delete | rename ]
[FILE] fpu_control.h [ edit | delete | rename ]
[FILE] fstab.h [ edit | delete | rename ]
[FILE] fstrm.h [ edit | delete | rename ]
[FILE] fts.h [ edit | delete | rename ]
[FILE] ftw.h [ edit | delete | rename ]
[FILE] gconv.h [ edit | delete | rename ]
[FILE] gd.h [ edit | delete | rename ]
[FILE] gdbm.h [ edit | delete | rename ]
[FILE] gdcache.h [ edit | delete | rename ]
[FILE] gdfontg.h [ edit | delete | rename ]
[FILE] gdfontl.h [ edit | delete | rename ]
[FILE] gdfontmb.h [ edit | delete | rename ]
[FILE] gdfonts.h [ edit | delete | rename ]
[FILE] gdfontt.h [ edit | delete | rename ]
[FILE] gdfx.h [ edit | delete | rename ]
[FILE] gdpp.h [ edit | delete | rename ]
[FILE] gd_color_map.h [ edit | delete | rename ]
[FILE] gd_errors.h [ edit | delete | rename ]
[FILE] gd_io.h [ edit | delete | rename ]
[FILE] gelf.h [ edit | delete | rename ]
[FILE] getopt.h [ edit | delete | rename ]
[FILE] gettext-po.h [ edit | delete | rename ]
[FILE] glob.h [ edit | delete | rename ]
[FILE] gnu-versions.h [ edit | delete | rename ]
[FILE] gnumake.h [ edit | delete | rename ]
[FILE] gpg-error.h [ edit | delete | rename ]
[FILE] gpgrt.h [ edit | delete | rename ]
[FILE] grp.h [ edit | delete | rename ]
[FILE] gshadow.h [ edit | delete | rename ]
[FILE] gssapi.h [ edit | delete | rename ]
[FILE] iconv.h [ edit | delete | rename ]
[FILE] idn-free.h [ edit | delete | rename ]
[FILE] idn-int.h [ edit | delete | rename ]
[FILE] idna.h [ edit | delete | rename ]
[FILE] ieee754.h [ edit | delete | rename ]
[FILE] ifaddrs.h [ edit | delete | rename ]
[FILE] inttypes.h [ edit | delete | rename ]
[FILE] jconfig-64.h [ edit | delete | rename ]
[FILE] jconfig.h [ edit | delete | rename ]
[FILE] jerror.h [ edit | delete | rename ]
[FILE] jmorecfg.h [ edit | delete | rename ]
[FILE] jpegint.h [ edit | delete | rename ]
[FILE] jpeglib.h [ edit | delete | rename ]
[FILE] kdb.h [ edit | delete | rename ]
[FILE] keyutils.h [ edit | delete | rename ]
[FILE] krad.h [ edit | delete | rename ]
[FILE] krb5.h [ edit | delete | rename ]
[FILE] langinfo.h [ edit | delete | rename ]
[FILE] lastlog.h [ edit | delete | rename ]
[FILE] libaio.h [ edit | delete | rename ]
[FILE] libelf.h [ edit | delete | rename ]
[FILE] libgen.h [ edit | delete | rename ]
[FILE] libintl.h [ edit | delete | rename ]
[FILE] libtasn1.h [ edit | delete | rename ]
[FILE] limits.h [ edit | delete | rename ]
[FILE] link.h [ edit | delete | rename ]
[FILE] lmdb.h [ edit | delete | rename ]
[FILE] locale.h [ edit | delete | rename ]
[FILE] ltdl.h [ edit | delete | rename ]
[FILE] lzma.h [ edit | delete | rename ]
[FILE] malloc.h [ edit | delete | rename ]
[FILE] math.h [ edit | delete | rename ]
[FILE] maxminddb.h [ edit | delete | rename ]
[FILE] maxminddb_config-64.h [ edit | delete | rename ]
[FILE] maxminddb_config.h [ edit | delete | rename ]
[FILE] mcheck.h [ edit | delete | rename ]
[FILE] memory.h [ edit | delete | rename ]
[FILE] menu.h [ edit | delete | rename ]
[FILE] mntent.h [ edit | delete | rename ]
[FILE] monetary.h [ edit | delete | rename ]
[FILE] mqueue.h [ edit | delete | rename ]
[FILE] ncurses.h [ edit | delete | rename ]
[FILE] ncurses_dll.h [ edit | delete | rename ]
[FILE] nc_tparm.h [ edit | delete | rename ]
[FILE] ndbm.h [ edit | delete | rename ]
[FILE] netdb.h [ edit | delete | rename ]
[FILE] nlist.h [ edit | delete | rename ]
[FILE] nl_types.h [ edit | delete | rename ]
[FILE] nss.h [ edit | delete | rename ]
[FILE] obstack.h [ edit | delete | rename ]
[FILE] panel.h [ edit | delete | rename ]
[FILE] paths.h [ edit | delete | rename ]
[FILE] pcre.h [ edit | delete | rename ]
[FILE] pcre2.h [ edit | delete | rename ]
[FILE] pcre2posix.h [ edit | delete | rename ]
[FILE] pcrecpp.h [ edit | delete | rename ]
[FILE] pcrecpparg.h [ edit | delete | rename ]
[FILE] pcreposix.h [ edit | delete | rename ]
[FILE] pcre_scanner.h [ edit | delete | rename ]
[FILE] pcre_stringpiece.h [ edit | delete | rename ]
[FILE] png.h [ edit | delete | rename ]
[FILE] pngconf.h [ edit | delete | rename ]
[FILE] pnglibconf.h [ edit | delete | rename ]
[FILE] poll.h [ edit | delete | rename ]
[FILE] powercap.h [ edit | delete | rename ]
[FILE] pr29.h [ edit | delete | rename ]
[FILE] printf.h [ edit | delete | rename ]
[FILE] proc_service.h [ edit | delete | rename ]
[FILE] profile.h [ edit | delete | rename ]
[FILE] pthread.h [ edit | delete | rename ]
[FILE] pty.h [ edit | delete | rename ]
[FILE] punycode.h [ edit | delete | rename ]
[FILE] pwd.h [ edit | delete | rename ]
[FILE] regex.h [ edit | delete | rename ]
[FILE] regexp.h [ edit | delete | rename ]
[FILE] resolv.h [ edit | delete | rename ]
[FILE] re_comp.h [ edit | delete | rename ]
[FILE] sched.h [ edit | delete | rename ]
[FILE] search.h [ edit | delete | rename ]
[FILE] semaphore.h [ edit | delete | rename ]
[FILE] setjmp.h [ edit | delete | rename ]
[FILE] sgtty.h [ edit | delete | rename ]
[FILE] shadow.h [ edit | delete | rename ]
[FILE] signal.h [ edit | delete | rename ]
[FILE] spawn.h [ edit | delete | rename ]
[FILE] stab.h [ edit | delete | rename ]
[FILE] stdc-predef.h [ edit | delete | rename ]
[FILE] stdint.h [ edit | delete | rename ]
[FILE] stdio.h [ edit | delete | rename ]
[FILE] stdio_ext.h [ edit | delete | rename ]
[FILE] stdlib.h [ edit | delete | rename ]
[FILE] string.h [ edit | delete | rename ]
[FILE] stringprep.h [ edit | delete | rename ]
[FILE] strings.h [ edit | delete | rename ]
[FILE] syscall.h [ edit | delete | rename ]
[FILE] sysexits.h [ edit | delete | rename ]
[FILE] syslog.h [ edit | delete | rename ]
[FILE] tar.h [ edit | delete | rename ]
[FILE] term.h [ edit | delete | rename ]
[FILE] termcap.h [ edit | delete | rename ]
[FILE] termio.h [ edit | delete | rename ]
[FILE] termios.h [ edit | delete | rename ]
[FILE] term_entry.h [ edit | delete | rename ]
[FILE] tgmath.h [ edit | delete | rename ]
[FILE] threads.h [ edit | delete | rename ]
[FILE] thread_db.h [ edit | delete | rename ]
[FILE] tic.h [ edit | delete | rename ]
[FILE] tiff.h [ edit | delete | rename ]
[FILE] tiffconf-64.h [ edit | delete | rename ]
[FILE] tiffconf.h [ edit | delete | rename ]
[FILE] tiffio.h [ edit | delete | rename ]
[FILE] tiffio.hxx [ edit | delete | rename ]
[FILE] tiffvers.h [ edit | delete | rename ]
[FILE] time.h [ edit | delete | rename ]
[FILE] tld.h [ edit | delete | rename ]
[FILE] ttyent.h [ edit | delete | rename ]
[FILE] uchar.h [ edit | delete | rename ]
[FILE] ucontext.h [ edit | delete | rename ]
[FILE] ulimit.h [ edit | delete | rename ]
[FILE] unctrl.h [ edit | delete | rename ]
[FILE] unistd.h [ edit | delete | rename ]
[FILE] utime.h [ edit | delete | rename ]
[FILE] utmp.h [ edit | delete | rename ]
[FILE] utmpx.h [ edit | delete | rename ]
[FILE] values.h [ edit | delete | rename ]
[FILE] verto-module.h [ edit | delete | rename ]
[FILE] verto.h [ edit | delete | rename ]
[FILE] wait.h [ edit | delete | rename ]
[FILE] wchar.h [ edit | delete | rename ]
[FILE] wctype.h [ edit | delete | rename ]
[FILE] wordexp.h [ edit | delete | rename ]
[FILE] zconf.h [ edit | delete | rename ]
[FILE] zdict.h [ edit | delete | rename ]
[FILE] zlib.h [ edit | delete | rename ]
[FILE] zstd.h [ edit | delete | rename ]
[FILE] zstd_errors.h [ edit | delete | rename ]
Viewing: /usr/include/cursslk.h
// * this is for making emacs happy: -*-Mode: C++;-*-
// vile:cppmode
/****************************************************************************
* Copyright 2019-2020,2021 Thomas E. Dickey *
* Copyright 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 *
* "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 *
****************************************************************************/
// $Id: cursslk.h,v 1.19 2021/04/17 18:11:08 tom Exp $
#ifndef NCURSES_CURSSLK_H_incl
#define NCURSES_CURSSLK_H_incl
#include <cursesw.h>
class NCURSES_CXX_IMPEXP Soft_Label_Key_Set {
public:
// This inner class represents the attributes of a Soft Label Key (SLK)
class NCURSES_CXX_IMPEXP Soft_Label_Key {
friend class Soft_Label_Key_Set;
public:
typedef enum { Left=0, Center=1, Right=2 } Justification;
private:
char *label; // The Text of the Label
Justification format; // The Justification
int num; // The number of the Label
Soft_Label_Key() : label(NULL), format(Left), num(-1) {
}
virtual ~Soft_Label_Key() {
delete[] label;
};
public:
// Set the text of the Label
Soft_Label_Key& operator=(char *text);
// Set the Justification of the Label
Soft_Label_Key& operator=(Justification just) {
format = just;
return *this;
}
// Retrieve the text of the label
inline char* operator()(void) const {
return label;
}
Soft_Label_Key& operator=(const Soft_Label_Key& rhs)
{
if (this != &rhs) {
*this = rhs;
}
return *this;
}
Soft_Label_Key(const Soft_Label_Key& rhs)
: label(NULL),
format(rhs.format),
num(rhs.num)
{
*this = rhs.label;
}
};
public:
typedef enum {
None = -1,
Three_Two_Three = 0,
Four_Four = 1,
PC_Style = 2,
PC_Style_With_Index = 3
} Label_Layout;
private:
static long count; // Number of Key Sets
static Label_Layout format; // Layout of the Key Sets
static int num_labels; // Number Of Labels in Key Sets
bool b_attrInit; // Are attributes initialized
Soft_Label_Key *slk_array; // The array of SLK's
// Init the Key Set
void init();
// Activate or Deactivate Label# i, Label counting starts with 1!
void activate_label(int i, bool bf=TRUE);
// Activate of Deactivate all Labels
void activate_labels(bool bf);
protected:
inline void Error (const char* msg) const THROWS(NCursesException) {
THROW(new NCursesException (msg));
}
// Remove SLK's from screen
void clear() {
if (ERR==::slk_clear())
Error("slk_clear");
}
// Restore them
void restore() {
if (ERR==::slk_restore())
Error("slk_restore");
}
public:
// Construct a Key Set, use the most comfortable layout as default.
// You must create a Soft_Label_Key_Set before you create any object of
// the NCursesWindow, NCursesPanel or derived classes. (Actually before
// ::initscr() is called).
explicit Soft_Label_Key_Set(Label_Layout fmt);
// This constructor assumes, that you already constructed a Key Set
// with a layout by the constructor above. This layout will be reused.
Soft_Label_Key_Set();
Soft_Label_Key_Set& operator=(const Soft_Label_Key_Set& rhs)
{
if (this != &rhs) {
*this = rhs;
init(); // allocate a new slk_array[]
}
return *this;
}
Soft_Label_Key_Set(const Soft_Label_Key_Set& rhs)
: b_attrInit(rhs.b_attrInit),
slk_array(NULL)
{
init(); // allocate a new slk_array[]
}
virtual ~Soft_Label_Key_Set() THROWS(NCursesException);
// Get Label# i. Label counting starts with 1!
Soft_Label_Key& operator[](int i);
// Retrieve number of Labels
int labels() const;
// Refresh the SLK portion of the screen
inline void refresh() {
if (ERR==::slk_refresh())
Error("slk_refresh");
}
// Mark the SLK portion of the screen for refresh, defer actual refresh
// until next update call.
inline void noutrefresh() {
if (ERR==::slk_noutrefresh())
Error("slk_noutrefresh");
}
// Mark the whole SLK portion of the screen as modified
inline void touch() {
if (ERR==::slk_touch())
Error("slk_touch");
}
// Activate Label# i
inline void show(int i) {
activate_label(i,FALSE);
activate_label(i,TRUE);
}
// Hide Label# i
inline void hide(int i) {
activate_label(i,FALSE);
}
// Show all Labels
inline void show() {
activate_labels(FALSE);
activate_labels(TRUE);
}
// Hide all Labels
inline void hide() {
activate_labels(FALSE);
}
inline void attron(attr_t attrs) {
if (ERR==::slk_attron(attrs))
Error("slk_attron");
}
inline void attroff(attr_t attrs) {
if (ERR==::slk_attroff(attrs))
Error("slk_attroff");
}
inline void attrset(attr_t attrs) {
if (ERR==::slk_attrset(attrs))
Error("slk_attrset");
}
inline void color(short color_pair_number) {
if (ERR==::slk_color(color_pair_number))
Error("slk_color");
}
inline attr_t attr() const {
return ::slk_attr();
}
};
#endif /* NCURSES_CURSSLK_H_incl */