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.
3776 3777 3778 3779 3780 3781 3782 3783 3784 3785 3786 3787 3788 3789 3790 3791 3792 3793 3794 3795 |
# File 'ext/curses/curses.c', line 3776 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.
3899 3900 3901 3902 3903 3904 3905 3906 |
# File 'ext/curses/curses.c', line 3899 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.
3880 3881 3882 3883 3884 3885 3886 3887 3888 3889 |
# File 'ext/curses/curses.c', line 3880 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.
3825 3826 3827 3828 3829 3830 3831 3832 3833 3834 |
# File 'ext/curses/curses.c', line 3825 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
4035 4036 4037 4038 4039 4040 4041 4042 4043 4044 4045 |
# File 'ext/curses/curses.c', line 4035 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
4047 4048 4049 4050 4051 4052 4053 4054 4055 4056 4057 |
# File 'ext/curses/curses.c', line 4047 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.
3863 3864 3865 3866 3867 3868 3869 3870 |
# File 'ext/curses/curses.c', line 3863 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.
3844 3845 3846 3847 3848 3849 3850 3851 3852 3853 |
# File 'ext/curses/curses.c', line 3844 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
3963 3964 3965 3966 3967 3968 3969 3970 3971 3972 3973 |
# File 'ext/curses/curses.c', line 3963 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
3999 4000 4001 4002 4003 4004 4005 4006 4007 4008 4009 |
# File 'ext/curses/curses.c', line 3999 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
4059 4060 4061 4062 4063 4064 4065 4066 4067 4068 4069 |
# File 'ext/curses/curses.c', line 4059 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
4071 4072 4073 4074 4075 4076 4077 4078 4079 4080 4081 |
# File 'ext/curses/curses.c', line 4071 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
4023 4024 4025 4026 4027 4028 4029 4030 4031 4032 4033 |
# File 'ext/curses/curses.c', line 4023 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
4011 4012 4013 4014 4015 4016 4017 4018 4019 4020 4021 |
# File 'ext/curses/curses.c', line 4011 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.
3954 3955 3956 3957 3958 3959 3960 3961 |
# File 'ext/curses/curses.c', line 3954 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.
3935 3936 3937 3938 3939 3940 3941 3942 3943 3944 |
# File 'ext/curses/curses.c', line 3935 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.
3916 3917 3918 3919 3920 3921 3922 3923 3924 3925 |
# File 'ext/curses/curses.c', line 3916 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.
3880 3881 3882 3883 3884 3885 3886 3887 3888 3889 |
# File 'ext/curses/curses.c', line 3880 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.
3805 3806 3807 3808 3809 3810 3811 3812 3813 3814 3815 |
# File 'ext/curses/curses.c', line 3805 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.
3844 3845 3846 3847 3848 3849 3850 3851 3852 3853 |
# File 'ext/curses/curses.c', line 3844 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
4071 4072 4073 4074 4075 4076 4077 4078 4079 4080 4081 |
# File 'ext/curses/curses.c', line 4071 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
4090 4091 4092 4093 4094 4095 4096 4097 4098 4099 4100 4101 4102 4103 4104 4105 4106 4107 4108 4109 4110 4111 4112 4113 4114 4115 4116 4117 4118 4119 4120 4121 4122 4123 4124 4125 4126 4127 4128 4129 4130 4131 4132 4133 4134 4135 4136 4137 4138 4139 4140 4141 4142 4143 4144 4145 4146 4147 4148 4149 4150 4151 4152 4153 4154 4155 4156 4157 4158 4159 4160 4161 |
# File 'ext/curses/curses.c', line 4090 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
3987 3988 3989 3990 3991 3992 3993 3994 3995 3996 3997 |
# File 'ext/curses/curses.c', line 3987 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
3975 3976 3977 3978 3979 3980 3981 3982 3983 3984 3985 |
# File 'ext/curses/curses.c', line 3975 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); } |