notcurses/doc/man/man3/notcurses_multiselector.3.md

73 lines
1.9 KiB
Markdown
Raw Normal View History

2020-03-09 19:17:41 +00:00
% notcurses_multiselector(3)
% nick black <nickblack@linux.com>
2020-07-20 01:55:10 +00:00
% v1.6.6
2020-03-09 19:17:41 +00:00
# NAME
notcurses_multiselector - high level widget for selecting from a set
# SYNOPSIS
**#include <notcurses/notcurses.h>**
2020-03-09 19:17:41 +00:00
```c
2020-04-27 23:11:00 +00:00
struct ncinput;
struct ncplane;
struct notcurses;
struct ncmultiselector;
2020-03-09 19:17:41 +00:00
struct ncmselector_item {
2020-03-09 19:17:41 +00:00
char* option;
char* desc;
bool selected;
};
typedef struct ncmultiselector_options {
2020-03-09 19:17:41 +00:00
char* title; // title may be NULL, inhibiting riser
char* secondary; // secondary may be NULL
char* footer; // footer may be NULL
struct ncmselector_item* items; // initial items, statuses
2020-03-09 19:17:41 +00:00
unsigned itemcount; // number of initial items
// 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
2020-05-29 18:53:53 +00:00
unsigned flags; // bitfield over NCMULTISELECTOR_OPTION_*
} ncmultiselector_options;
2020-03-09 19:17:41 +00:00
```
**struct ncmultiselector* ncmultiselector_create(struct ncplane* n, int y, int x, const ncmultiselector_options* opts);**
2020-03-09 19:17:41 +00:00
**int ncmultiselector_selected(bool* selected, unsigned n);**
2020-03-09 19:30:23 +00:00
2020-03-09 19:17:41 +00:00
**struct ncplane* ncmultiselector_plane(struct ncmultiselector* n);**
**bool ncmultiselector_offer_input(struct ncmultiselector* n, const struct ncinput* nc);**
**void ncmultiselector_destroy(struct ncmultiselector* n, char** item);**
# DESCRIPTION
# NOTES
Currently, the **ncplane** **n** provided to **ncmultiselector_create** must
not be **NULL**, though the **ncmultiselector** will always get its own plane,
and this plane will not (currently) be bound to **n**.
2020-03-09 19:17:41 +00:00
# RETURN VALUES
# SEE ALSO
**notcurses(3)**,
**notcurses_input(3)**,
**notcurses_plane(3)**
2020-03-09 19:17:41 +00:00
**notcurses_selector(3)**