Class: Curses::Field
- Inherits:
-
Object
- Object
- Curses::Field
- Defined in:
- ext/curses/curses.c
Instance Method Summary collapse
-
#back ⇒ Object
call-seq: back.
-
#back=(attr) ⇒ Object
call-seq: set_back(attr).
-
#buffer(buf) ⇒ Object
call-seq: buffer(buf).
- #dynamic_height ⇒ Object
- #dynamic_width ⇒ Object
-
#fore ⇒ Object
call-seq: fore.
-
#fore=(attr) ⇒ Object
call-seq: set_fore(attr).
- #height ⇒ Object
-
#initialize(height, width, toprow, leftcol, offscreen, nbuffers) ⇒ Object
constructor
call-seq: new(height, width, toprow, leftcol, offscreen, nbuffers).
- #leftcol ⇒ Object
- #max ⇒ Object
- #max=(max) ⇒ Object
- #nbuffers ⇒ Object
- #offscreen ⇒ Object
-
#opts ⇒ Object
call-seq: opts.
-
#opts_off(opts) ⇒ Object
call-seq: opts_off(opts).
-
#opts_on(opts) ⇒ Object
call-seq: opts_on(opts).
-
#set_back(attr) ⇒ Object
call-seq: set_back(attr).
-
#set_buffer(buf, value) ⇒ Object
call-seq: set_buffer(buf, value).
-
#set_fore(attr) ⇒ Object
call-seq: set_fore(attr).
- #set_max(max) ⇒ Object
- #set_type(*args) ⇒ Object
- #toprow ⇒ Object
- #width ⇒ Object
Constructor Details
#initialize(height, width, toprow, leftcol, offscreen, nbuffers) ⇒ Object
call-seq:
new(height, width, toprow, leftcol, offscreen, nbuffers)
Construct a new Curses::Field.
3905 3906 3907 3908 3909 3910 3911 3912 3913 3914 3915 3916 3917 3918 3919 3920 3921 3922 3923 3924 |
# File 'ext/curses/curses.c', line 3905
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;
}
|
Instance Method Details
#back ⇒ Object
call-seq:
back
Get the background attribute of the field.
4028 4029 4030 4031 4032 4033 4034 4035 |
# File 'ext/curses/curses.c', line 4028
static VALUE
field_get_back(VALUE obj)
{
struct fielddata *fieldp;
GetFIELD(obj, fieldp);
return CHTYPE2NUM(field_back(fieldp->field));
}
|
#back=(attr) ⇒ Object
call-seq:
set_back(attr)
Set the background attribute of the field.
4009 4010 4011 4012 4013 4014 4015 4016 4017 4018 |
# File 'ext/curses/curses.c', line 4009
static VALUE
field_set_back(VALUE obj, VALUE attr)
{
struct fielddata *fieldp;
GetFIELD(obj, fieldp);
set_field_back(fieldp->field, NUM2CHTYPE(attr));
return attr;
}
|
#buffer(buf) ⇒ Object
call-seq:
buffer(buf)
Get the numbered buffer of the field.
3954 3955 3956 3957 3958 3959 3960 3961 3962 3963 |
# File 'ext/curses/curses.c', line 3954
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);
}
|
#dynamic_height ⇒ Object
4164 4165 4166 4167 4168 4169 4170 4171 4172 4173 4174 |
# File 'ext/curses/curses.c', line 4164
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);
}
|
#dynamic_width ⇒ Object
4176 4177 4178 4179 4180 4181 4182 4183 4184 4185 4186 |
# File 'ext/curses/curses.c', line 4176
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);
}
|
#fore ⇒ Object
call-seq:
fore
Get the foreground attribute of the field.
3992 3993 3994 3995 3996 3997 3998 3999 |
# File 'ext/curses/curses.c', line 3992
static VALUE
field_get_fore(VALUE obj)
{
struct fielddata *fieldp;
GetFIELD(obj, fieldp);
return CHTYPE2NUM(field_fore(fieldp->field));
}
|
#fore=(attr) ⇒ Object
call-seq:
set_fore(attr)
Set the foreground attribute of the field.
3973 3974 3975 3976 3977 3978 3979 3980 3981 3982 |
# File 'ext/curses/curses.c', line 3973
static VALUE
field_set_fore(VALUE obj, VALUE attr)
{
struct fielddata *fieldp;
GetFIELD(obj, fieldp);
set_field_fore(fieldp->field, NUM2CHTYPE(attr));
return attr;
}
|
#height ⇒ Object
4092 4093 4094 4095 4096 4097 4098 4099 4100 4101 4102 |
# File 'ext/curses/curses.c', line 4092
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);
}
|
#leftcol ⇒ Object
4128 4129 4130 4131 4132 4133 4134 4135 4136 4137 4138 |
# File 'ext/curses/curses.c', line 4128
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);
}
|
#max ⇒ Object
4188 4189 4190 4191 4192 4193 4194 4195 4196 4197 4198 |
# File 'ext/curses/curses.c', line 4188
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);
}
|
#max=(max) ⇒ Object
4200 4201 4202 4203 4204 4205 4206 4207 4208 4209 4210 |
# File 'ext/curses/curses.c', line 4200
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;
}
|
#nbuffers ⇒ Object
4152 4153 4154 4155 4156 4157 4158 4159 4160 4161 4162 |
# File 'ext/curses/curses.c', line 4152
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);
}
|
#offscreen ⇒ Object
4140 4141 4142 4143 4144 4145 4146 4147 4148 4149 4150 |
# File 'ext/curses/curses.c', line 4140
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);
}
|
#opts ⇒ Object
call-seq:
opts
Get the current option bits.
4083 4084 4085 4086 4087 4088 4089 4090 |
# File 'ext/curses/curses.c', line 4083
static VALUE
field_opts_m(VALUE obj)
{
struct fielddata *fieldp;
GetFIELD(obj, fieldp);
return INT2NUM(field_opts(fieldp->field));
}
|
#opts_off(opts) ⇒ Object
call-seq:
opts_off(opts)
Turn off the given option bits.
4064 4065 4066 4067 4068 4069 4070 4071 4072 4073 |
# File 'ext/curses/curses.c', line 4064
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;
}
|
#opts_on(opts) ⇒ Object
call-seq:
opts_on(opts)
Turn on the given option bits.
4045 4046 4047 4048 4049 4050 4051 4052 4053 4054 |
# File 'ext/curses/curses.c', line 4045
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;
}
|
#set_back(attr) ⇒ Object
call-seq:
set_back(attr)
Set the background attribute of the field.
4009 4010 4011 4012 4013 4014 4015 4016 4017 4018 |
# File 'ext/curses/curses.c', line 4009
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_buffer(buf, value) ⇒ Object
call-seq:
set_buffer(buf, value)
Set the numbered buffer of the field.
3934 3935 3936 3937 3938 3939 3940 3941 3942 3943 3944 |
# File 'ext/curses/curses.c', line 3934
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_fore(attr) ⇒ Object
call-seq:
set_fore(attr)
Set the foreground attribute of the field.
3973 3974 3975 3976 3977 3978 3979 3980 3981 3982 |
# File 'ext/curses/curses.c', line 3973
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_max(max) ⇒ Object
4200 4201 4202 4203 4204 4205 4206 4207 4208 4209 4210 |
# File 'ext/curses/curses.c', line 4200
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;
}
|
#set_type(*args) ⇒ Object
4219 4220 4221 4222 4223 4224 4225 4226 4227 4228 4229 4230 4231 4232 4233 4234 4235 4236 4237 4238 4239 4240 4241 4242 4243 4244 4245 4246 4247 4248 4249 4250 4251 4252 4253 4254 4255 4256 4257 4258 4259 4260 4261 4262 4263 4264 4265 4266 4267 4268 4269 4270 4271 4272 4273 4274 4275 4276 4277 4278 4279 4280 4281 4282 4283 4284 4285 4286 4287 4288 4289 4290 |
# File 'ext/curses/curses.c', line 4219
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;
}
|
#toprow ⇒ Object
4116 4117 4118 4119 4120 4121 4122 4123 4124 4125 4126 |
# File 'ext/curses/curses.c', line 4116
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);
}
|
#width ⇒ Object
4104 4105 4106 4107 4108 4109 4110 4111 4112 4113 4114 |
# File 'ext/curses/curses.c', line 4104
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);
}
|