2020-01-30 13:55:01 +00:00
|
|
|
% notcurses_selector(3)
|
|
|
|
% nick black <nickblack@linux.com>
|
2020-06-08 10:05:17 +00:00
|
|
|
% v1.5.0
|
2020-01-30 13:55:01 +00:00
|
|
|
|
|
|
|
# NAME
|
|
|
|
|
|
|
|
notcurses_selector - high level widget for selecting from a set
|
|
|
|
|
|
|
|
# SYNOPSIS
|
|
|
|
|
2020-04-19 22:46:32 +00:00
|
|
|
**#include <notcurses/notcurses.h>**
|
2020-01-30 13:55:01 +00:00
|
|
|
|
|
|
|
```c
|
2020-04-27 23:11:00 +00:00
|
|
|
struct ncinput;
|
|
|
|
struct ncplane;
|
|
|
|
struct notcurses;
|
|
|
|
struct ncselector;
|
2020-02-11 01:22:23 +00:00
|
|
|
|
2020-05-09 00:56:39 +00:00
|
|
|
struct ncselector_item {
|
2020-01-31 22:44:30 +00:00
|
|
|
char* option;
|
|
|
|
char* desc;
|
|
|
|
};
|
|
|
|
|
2020-05-09 00:56:39 +00:00
|
|
|
typedef struct ncselector_options {
|
2020-01-31 22:44:30 +00:00
|
|
|
char* title; // title may be NULL, inhibiting riser
|
|
|
|
char* secondary; // secondary may be NULL
|
|
|
|
char* footer; // footer may be NULL
|
2020-05-09 00:56:39 +00:00
|
|
|
struct ncselector_item* items; // initial items and descriptions
|
2020-01-31 22:44:30 +00:00
|
|
|
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
|
2020-02-01 02:25:21 +00:00
|
|
|
uint64_t bgchannels; // background channels for body
|
2020-05-29 18:53:53 +00:00
|
|
|
unsigned flags; // bitfield over NCSELECTOR_OPTION_*
|
2020-05-09 00:56:39 +00:00
|
|
|
} ncselector_options;
|
2020-01-30 13:55:01 +00:00
|
|
|
```
|
|
|
|
|
2020-05-09 11:51:23 +00:00
|
|
|
**struct ncselector* ncselector_create(struct ncplane* n, int y, int x, const ncselector_options* opts);**
|
2020-01-31 22:44:30 +00:00
|
|
|
|
2020-05-09 00:56:39 +00:00
|
|
|
**int ncselector_additem(struct ncselector* n, const struct ncselector_item* item);**
|
2020-01-31 22:44:30 +00:00
|
|
|
|
|
|
|
**int ncselector_delitem(struct ncselector* n, const char* item);**
|
|
|
|
|
2020-02-12 14:11:28 +00:00
|
|
|
**const char* ncselector_selected(const struct ncselector* n);**
|
2020-01-31 22:44:30 +00:00
|
|
|
|
|
|
|
**struct ncplane* ncselector_plane(struct ncselector* n);**
|
|
|
|
|
2020-02-12 14:11:28 +00:00
|
|
|
**const char* ncselector_previtem(struct ncselector* n);**
|
2020-01-31 22:44:30 +00:00
|
|
|
|
2020-02-12 14:11:28 +00:00
|
|
|
**const char* ncselector_nextitem(struct ncselector* n);**
|
2020-01-31 22:44:30 +00:00
|
|
|
|
2020-02-11 01:22:23 +00:00
|
|
|
**bool ncselector_offer_input(struct ncselector* n, const struct ncinput* nc);**
|
|
|
|
|
2020-02-01 07:31:05 +00:00
|
|
|
**void ncselector_destroy(struct ncselector* n, char\*\* item);**
|
2020-01-31 22:44:30 +00:00
|
|
|
|
2020-01-30 13:55:01 +00:00
|
|
|
# DESCRIPTION
|
|
|
|
|
|
|
|
# NOTES
|
|
|
|
|
2020-05-09 11:51:23 +00:00
|
|
|
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**.
|
|
|
|
|
2020-01-30 13:55:01 +00:00
|
|
|
# RETURN VALUES
|
|
|
|
|
|
|
|
# SEE ALSO
|
|
|
|
|
2020-02-11 01:22:23 +00:00
|
|
|
**notcurses(3)**,
|
|
|
|
**notcurses_input(3)**,
|
2020-03-09 19:17:41 +00:00
|
|
|
**notcurses_multiselector(3)**
|
2020-05-09 00:56:39 +00:00
|
|
|
**notcurses_plane(3)**
|