@@ -3222,9 +3222,9 @@ extern "C" {
3222
3222
return OK;
3223
3223
}
3224
3224
3225
- static int fl_box_ (CSOUND *csound, FL_BOX *p)
3225
+ static int fl_box_ (CSOUND *csound, FL_BOX *p, char *text )
3226
3226
{
3227
- char *text = p->itext ->data ;
3227
+ // char *text = p->itext->data;
3228
3228
Fl_Box *o = new Fl_Box ((int )*p->ix , (int )*p->iy ,
3229
3229
(int )*p->iwidth , (int )*p->iheight , text);
3230
3230
widget_attributes (csound, o);
@@ -3290,6 +3290,19 @@ extern "C" {
3290
3290
return OK;
3291
3291
}
3292
3292
3293
+ static int fl_box_s (CSOUND *csound, FL_BOX *p)
3294
+ {
3295
+ return fl_box_ (csound, p, p->itext ->data );
3296
+ }
3297
+ static int fl_box_i (CSOUND *csound, FL_BOX *p)
3298
+ {
3299
+ int i = (int )*((MYFLT*)p->itext );
3300
+ char * text;
3301
+ if (i<0 || i>csound->GetStrsmax (csound)) text = " ???" ;
3302
+ else if ((text=csound->GetStrsets (csound,i))==NULL ) text = " ???" ;
3303
+ return fl_box_ (csound, p, text);
3304
+ }
3305
+
3293
3306
static int fl_setText (CSOUND *csound, FL_SET_TEXT *p)
3294
3307
{
3295
3308
WIDGET_GLOBALS *widgetGlobals =
@@ -3301,6 +3314,20 @@ extern "C" {
3301
3314
return OK;
3302
3315
}
3303
3316
3317
+ static int fl_setTexti (CSOUND *csound, FL_SET_TEXTi *p)
3318
+ {
3319
+ WIDGET_GLOBALS *widgetGlobals =
3320
+ (WIDGET_GLOBALS *)csound->QueryGlobalVariable (csound, " WIDGET_GLOBALS" );
3321
+ int i = (int )(*p->ndx );
3322
+ char *text ;
3323
+ ADDR_SET_VALUE v = widgetGlobals->AddrSetValue [(int ) *p->ihandle ];
3324
+ Fl_Widget *o = (Fl_Widget *) v.WidgAddress ;
3325
+ if (i<0 || i>csound->GetStrsmax (csound)) text = " ???" ;
3326
+ else if ((text=csound->GetStrsets (csound,i))==NULL ) text = " ???" ;
3327
+ o->label (text);
3328
+ return OK;
3329
+ }
3330
+
3304
3331
static int fl_setSize (CSOUND *csound, FL_SET_SIZE *p)
3305
3332
{
3306
3333
WIDGET_GLOBALS *widgetGlobals =
@@ -5956,8 +5983,10 @@ const OENTRY widgetOpcodes_[] = {
5956
5983
(SUBR) fl_setFont, (SUBR) NULL , (SUBR) NULL },
5957
5984
{ (char *)" FLsetTextType" , S (FL_SET_FONT), 0 , 1 , (char *)" " , (char *)" ii" ,
5958
5985
(SUBR) fl_setTextType, (SUBR) NULL , (SUBR) NULL },
5959
- { (char *)" FLsetText" , S (FL_SET_TEXT), 0 , 1 , (char *)" " , (char *)" Ti " ,
5986
+ { (char *)" FLsetText" , S (FL_SET_TEXT), 0 , 1 , (char *)" " , (char *)" Si " ,
5960
5987
(SUBR) fl_setText, (SUBR) NULL , (SUBR) NULL },
5988
+ { (char *)" FLsetText" , S (FL_SET_TEXTi), 0 , 1 , (char *)" " , (char *)" ii" ,
5989
+ (SUBR) fl_setTexti, (SUBR) NULL , (SUBR) NULL },
5961
5990
{ (char *)" FLsetSize" , S (FL_SET_SIZE), 0 , 1 , (char *)" " , (char *)" iii" ,
5962
5991
(SUBR) fl_setSize, (SUBR) NULL , (SUBR) NULL },
5963
5992
{ (char *)" FLsetPosition" , S (FL_SET_POSITION), 0 , 1 , (char *)" " , (char *)" iii" ,
@@ -5971,7 +6000,9 @@ const OENTRY widgetOpcodes_[] = {
5971
6000
{ (char *)" FLsetAlign" , S (FL_TALIGN), 0 , 1 , (char *)" " , (char *)" ii" ,
5972
6001
(SUBR) fl_align, (SUBR) NULL , (SUBR) NULL },
5973
6002
{ (char *)" FLbox" , S (FL_BOX), 0 , 1 , (char *)" i" , (char *)" Siiiiiii" ,
5974
- (SUBR) fl_box_, (SUBR) NULL , (SUBR) NULL },
6003
+ (SUBR) fl_box_s, (SUBR) NULL , (SUBR) NULL },
6004
+ { (char *)" FLbox" , S (FL_BOX), 0 , 1 , (char *)" i" , (char *)" iiiiiiii" ,
6005
+ (SUBR) fl_box_i, (SUBR) NULL , (SUBR) NULL },
5975
6006
{ (char *)" FLvalue" , S (FLVALUE), 0 , 1 , (char *)" i" , (char *)" Sjjjj" ,
5976
6007
(SUBR) fl_value, (SUBR) NULL , (SUBR) NULL },
5977
6008
{ (char *)" FLpanel" , S (FLPANEL), 0 , 1 , (char *)" " , (char *)" Sjjjoooo" ,
0 commit comments