class Curses::Field
Public Class Methods
Source
static VALUE field_initialize(VALUE obj, VALUE height, VALUE width, VALUE toprow, VALUE leftcol, VALUE offscreen, VALUE nbuffers) { struct fielddata *fieldp; curses_init_screen(Qnil); TypedData_Get_Struct(obj, struct fielddata, &fielddata_type, fieldp); if (fieldp->field) { rb_raise(rb_eRuntimeError, "already initialized field"); } fieldp->field = new_field(NUM2INT(height), NUM2INT(width), NUM2INT(toprow), NUM2INT(leftcol), NUM2INT(offscreen), NUM2INT(nbuffers)); if (fieldp->field == NULL) { check_curses_error(errno); } return obj; }
Construct a new Curses::Field
.
Public Instance Methods
Source
static VALUE field_get_back(VALUE obj) { struct fielddata *fieldp; GetFIELD(obj, fieldp); return CHTYPE2NUM(field_back(fieldp->field)); }
Get the background attribute of the field.
Source
static VALUE field_buffer_m(VALUE obj, VALUE buf) { struct fielddata *fieldp; char *s; GetFIELD(obj, fieldp); s = field_buffer(fieldp->field, NUM2INT(buf)); return rb_external_str_new_with_enc(s, strlen(s), terminal_encoding); }
Get the numbered buffer of the field.
Source
static VALUE field_dynamic_height(VALUE obj) { struct fielddata *fieldp; int error, val; GetFIELD(obj, fieldp); error = dynamic_field_info(fieldp->field, &val, NULL, NULL); check_curses_error(error); return INT2NUM(val); }
Source
static VALUE field_dynamic_width(VALUE obj) { struct fielddata *fieldp; int error, val; GetFIELD(obj, fieldp); error = dynamic_field_info(fieldp->field, NULL, &val, NULL); check_curses_error(error); return INT2NUM(val); }
Source
static VALUE field_get_fore(VALUE obj) { struct fielddata *fieldp; GetFIELD(obj, fieldp); return CHTYPE2NUM(field_fore(fieldp->field)); }
Get the foreground attribute of the field.
Source
static VALUE field_height(VALUE obj) { struct fielddata *fieldp; int error, val; GetFIELD(obj, fieldp); error = field_info(fieldp->field, &val, NULL, NULL, NULL, NULL, NULL); check_curses_error(error); return INT2NUM(val); }
Source
static VALUE field_leftcol(VALUE obj) { struct fielddata *fieldp; int error, val; GetFIELD(obj, fieldp); error = field_info(fieldp->field, NULL, NULL, NULL, &val, NULL, NULL); check_curses_error(error); return INT2NUM(val); }
Source
static VALUE field_max(VALUE obj) { struct fielddata *fieldp; int error, val; GetFIELD(obj, fieldp); error = dynamic_field_info(fieldp->field, NULL, NULL, &val); check_curses_error(error); return INT2NUM(val); }
Source
static VALUE field_nbuffers(VALUE obj) { struct fielddata *fieldp; int error, val; GetFIELD(obj, fieldp); error = field_info(fieldp->field, NULL, NULL, NULL, NULL, NULL, &val); check_curses_error(error); return INT2NUM(val); }
Source
static VALUE field_offscreen(VALUE obj) { struct fielddata *fieldp; int error, val; GetFIELD(obj, fieldp); error = field_info(fieldp->field, NULL, NULL, NULL, NULL, &val, NULL); check_curses_error(error); return INT2NUM(val); }
Source
static VALUE field_opts_m(VALUE obj) { struct fielddata *fieldp; GetFIELD(obj, fieldp); return INT2NUM(field_opts(fieldp->field)); }
Get the current option bits.
Source
static VALUE field_opts_off_m(VALUE obj, VALUE opts) { struct fielddata *fieldp; GetFIELD(obj, fieldp); field_opts_off(fieldp->field, NUM2INT(opts)); return opts; }
Turn off the given option bits.
Source
static VALUE field_opts_on_m(VALUE obj, VALUE opts) { struct fielddata *fieldp; GetFIELD(obj, fieldp); field_opts_on(fieldp->field, NUM2INT(opts)); return opts; }
Turn on the given option bits.
Source
static VALUE field_set_back(VALUE obj, VALUE attr) { struct fielddata *fieldp; GetFIELD(obj, fieldp); set_field_back(fieldp->field, NUM2CHTYPE(attr)); return attr; }
Set the background attribute of the field.
Also aliased as: back=
Source
static VALUE field_set_buffer(VALUE obj, VALUE buf, VALUE value) { struct fielddata *fieldp; GetFIELD(obj, fieldp); value = rb_str_export_to_enc(value, terminal_encoding); set_field_buffer(fieldp->field, NUM2INT(buf), StringValueCStr(value)); return obj; }
Set the numbered buffer of the field.
Source
static VALUE field_set_fore(VALUE obj, VALUE attr) { struct fielddata *fieldp; GetFIELD(obj, fieldp); set_field_fore(fieldp->field, NUM2CHTYPE(attr)); return attr; }
Set the foreground attribute of the field.
Also aliased as: fore=
Source
static VALUE field_set_max(VALUE obj, VALUE max) { struct fielddata *fieldp; int error; GetFIELD(obj, fieldp); error = set_max_field(fieldp->field, NUM2INT(max)); check_curses_error(error); return max; }
Also aliased as: max=
Source
static VALUE field_set_type(int argc, VALUE *argv, VALUE obj) { struct fielddata *fieldp; VALUE type; int type_code; int error; if (argc < 1) { rb_raise(rb_eArgError, "wrong number of arguments (given %d, expected 1)", argc); } type_code = NUM2INT(argv[0]); GetFIELD(obj, fieldp); switch (type_code) { case TYPE_CODE_ALPHA: { VALUE width; rb_scan_args(argc, argv, "11", &type, &width); error = set_field_type(fieldp->field, TYPE_ALPHA, NIL_P(width) ? 0 : NUM2INT(width)); } break; case TYPE_CODE_ALNUM: { VALUE width; rb_scan_args(argc, argv, "11", &type, &width); error = set_field_type(fieldp->field, TYPE_ALNUM, NIL_P(width) ? 0 : NUM2INT(width)); } break; #if 0 case TYPE_CODE_ENUM: { /* TODO: consider how valuelist should be allocated? */ } break; #endif case TYPE_CODE_INTEGER: { VALUE padding, vmin, vmax; rb_scan_args(argc, argv, "13", &type, &padding, &vmin, &vmax); error = set_field_type(fieldp->field, TYPE_INTEGER, NIL_P(padding) ? 0 : NUM2INT(padding), NIL_P(vmin) ? INT_MIN : NUM2INT(vmin), NIL_P(vmax) ? INT_MAX : NUM2INT(vmax)); } break; case TYPE_CODE_NUMERIC: { VALUE padding, vmin, vmax; rb_scan_args(argc, argv, "13", &type, &padding, &vmin, &vmax); error = set_field_type(fieldp->field, TYPE_INTEGER, NIL_P(padding) ? 0 : NUM2INT(padding), NIL_P(vmin) ? INT_MIN : NUM2INT(vmin), NIL_P(vmax) ? INT_MAX : NUM2INT(vmax)); } break; #if 0 case TYPE_CODE_REGEXP: { /* TODO: consider how regexp should be allocated? */ } break; #endif default: rb_raise(rb_eArgError, "unknwon type: %d", type_code); break; } check_curses_error(error); return obj; }
Source
static VALUE field_toprow(VALUE obj) { struct fielddata *fieldp; int error, val; GetFIELD(obj, fieldp); error = field_info(fieldp->field, NULL, NULL, &val, NULL, NULL, NULL); check_curses_error(error); return INT2NUM(val); }
Source
static VALUE field_width(VALUE obj) { struct fielddata *fieldp; int error, val; GetFIELD(obj, fieldp); error = field_info(fieldp->field, NULL, &val, NULL, NULL, NULL, NULL); check_curses_error(error); return INT2NUM(val); }