notcurses/doc/man/man3/notcurses_selector.3.md
nick black f8c16ceb79
v1.6.8
2020-07-26 22:20:52 -04:00

2.1 KiB

% notcurses_selector(3) % nick black nickblack@linux.com % v1.6.8

NAME

notcurses_selector - high level widget for selecting from a set

SYNOPSIS

#include <notcurses/notcurses.h>

struct ncinput;
struct ncplane;
struct notcurses;
struct ncselector;

struct ncselector_item {
  char* option;
  char* desc;
};

typedef struct ncselector_options {
  char* title; // title may be NULL, inhibiting riser
  char* secondary; // secondary may be NULL
  char* footer; // footer may be NULL
  struct ncselector_item* items; // initial items and descriptions
  unsigned itemcount; // number of initial items and descriptions
  // default item (selected at start)
  unsigned defidx;
  // maximum number of options to display at once
  unsigned maxdisplay;
  // exhaustive styling options
  uint64_t opchannels;   // option channels
  uint64_t descchannels; // description channels
  uint64_t titlechannels;// title channels
  uint64_t footchannels; // secondary and footer channels
  uint64_t boxchannels;  // border channels
  uint64_t bgchannels;   // background channels for body
  unsigned flags;        // bitfield over NCSELECTOR_OPTION_*
} ncselector_options;

struct ncselector ncselector_create(struct ncplane n, int y, int x, const ncselector_options* opts);**

int ncselector_additem(struct ncselector n, const struct ncselector_item item);**

int ncselector_delitem(struct ncselector n, const char item);**

const char ncselector_selected(const struct ncselector n);**

struct ncplane ncselector_plane(struct ncselector n);**

const char ncselector_previtem(struct ncselector n);**

const char ncselector_nextitem(struct ncselector n);**

bool ncselector_offer_input(struct ncselector n, const struct ncinput nc);**

void ncselector_destroy(struct ncselector n, char** item);*

DESCRIPTION

NOTES

Currently, the ncplane n provided to ncselector_create must not be NULL, though the ncselector will always get its own plane, and this plane will not (currently) be bound to n.

RETURN VALUES

SEE ALSO

notcurses(3), notcurses_input(3), notcurses_multiselector(3) notcurses_plane(3)