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

95 lines
3.0 KiB
Markdown
Raw Normal View History

% notcurses_reel(3)
% nick black <nickblack@linux.com>
2020-06-01 20:18:56 +00:00
% v1.4.4.1
# NAME
notcurses_reel - high-level widget for hierarchical data
# SYNOPSIS
**#include <notcurses/notcurses.h>**
```c
2020-05-29 18:53:53 +00:00
#define NCREEL_OPTION_INFINITESCROLL 0x0001
#define NCREEL_OPTION_CIRCULAR 0x0002
2020-05-09 13:19:34 +00:00
2020-02-05 22:29:42 +00:00
typedef struct ncreel_options {
// require this many rows and columns (including borders).
// otherwise, a message will be displayed stating that a
// larger terminal is necessary, and input will be queued.
// if 0, no minimum will be enforced. may not be negative.
2020-02-05 22:29:42 +00:00
// note that ncreel_create() does not return error if
// given a WINDOW smaller than these minima; it instead
// patiently waits for the screen to get bigger.
int min_supported_cols;
int min_supported_rows;
// use no more than this many rows and columns (including
// borders). may not be less than the corresponding minimum.
// 0 means no maximum.
int max_supported_cols;
int max_supported_rows;
// desired offsets within the surrounding WINDOW (top right
2020-02-18 12:12:25 +00:00
// bottom left) upon creation / resize. an ncreel_move()
// operation updates these.
int toff, roff, boff, loff;
2020-02-05 22:29:42 +00:00
// notcurses can draw a border around the ncreel, and also
// around the component tablets. inhibit borders by setting all
// valid bits in the masks. partially inhibit borders by setting
// individual bits in the masks. the appropriate attr and pair
// values will be used to style the borders. focused and
// non-focused tablets can have different styles. you can instead
// draw your own borders, or forgo borders entirely.
unsigned bordermask; // bitfield; 1s will not be drawn
2020-02-05 22:29:42 +00:00
uint64_t borderchan; // attributes used for ncreel border
unsigned tabletmask; // bitfield for tablet borders
uint64_t tabletchan; // tablet border styling channel
uint64_t focusedchan;// focused tablet border styling channel
uint64_t bgchannel; // background colors
2020-05-29 18:53:53 +00:00
unsigned flags; // bitfield over NCREEL_OPTION_*
2020-02-05 22:29:42 +00:00
} ncreel_options;
```
**struct ncreel* ncreel_create(struct ncplane* nc, const ncreel_options* popts, int efd);**
2020-02-05 22:29:42 +00:00
**struct ncplane* ncreel_plane(struct ncreel* nr);**
**typedef int (*tabletcb)(struct nctablet* t, int begx, int begy, int maxx, int maxy, bool cliptop);**
**struct nctablet* ncreel_add(struct ncreel* nr, struct nctablet* after, struct nctablet* before, tabletcb cb, void* opaque);**
2020-02-05 22:29:42 +00:00
**int ncreel_tabletcount(const struct ncreel* nr);**
**int ncreel_touch(struct ncreel* nr, struct nctablet* t);**
**int ncreel_del(struct ncreel* nr, struct nctablet* t);**
2020-02-05 22:29:42 +00:00
**int ncreel_del_focused(struct ncreel* nr);**
2020-06-03 12:58:48 +00:00
**int ncreel_move(struct ncreel* nr, int y, int x);**
2020-02-05 22:29:42 +00:00
**int ncreel_redraw(struct ncreel* nr);**
**struct nctablet* ncreel_focused(struct ncreel* nr);**
**struct nctablet* ncreel_next(struct ncreel* nr);**
**struct nctablet* ncreel_prev(struct ncreel* nr);**
2020-02-05 22:29:42 +00:00
**int ncreel_destroy(struct ncreel* nr);**
**void* nctablet_userptr(struct nctablet* t);**
**struct ncplane* nctablet_ncplane(struct nctablet* t);**
# DESCRIPTION
# RETURN VALUES
# SEE ALSO
**notcurses(3)**,
**notcurses_plane(3)**