No, sorry.
Each different callback listed in "iup_cbs.h" must be implemented in
Basic also. So how to associate that implementation with the IupSetCallback
in Basic, then you don't need a custom MainLoop. I think you already did
that using the if (strcmp).
That can be improved with other strategies, but that's another story.
Best,
Scuri
On Sun, Oct 23, 2016 at 5:15 PM, John Spikowski <supp...@scriptbasic.org>
wrote:
> Hi Antonio,
>
> It looks like the time has come and the old callback functions I was
> counting on have be deprecated. Is there a way I can still make this
> work?
>
> John
>
> << C interface >>
>
> besFUNCTION(PuiSetCallback)
> Ihandle *ih;
> const char *name;
> char *class_name;
>
> besARGUMENTS("pz")
> &ih, &name
> besARGEND
>
> class_name = IupGetClassName(ih);
>
> if (strcmp(class_name, "dialog") == 0) {
> /* IupSetCallback(ih, name, (Icallback)&WinEvent); */
> IupSetFunction(name, (Icallback)&WinEvent);
> IupSetAttribute(ih, name, name);
> }
> else if (strcmp(class_name, "button") == 0) {
> /* IupSetCallback(ih, name, (Icallback)&BtnEvent); */
> IupSetFunction(name, (Icallback)&BtnEvent);
> IupSetAttribute(ih, name, name);
> }
> else if (strcmp(class_name, "list") == 0) {
> /* IupSetCallback(ih, name, (Icallback)&ListEvent); */
> IupSetFunction(name, (Icallback)&ListEvent);
> IupSetAttribute(ih, name, name);
> }
> else {
> /* IupSetCallback(ih, name, (Icallback)&Event); */
> IupSetFunction(name, (Icallback)&Event);
> IupSetAttribute(ih, name, name);
> }
>
> besRETURN_STRING(class_name);
> besEND
>
> << Script BASIC >>
>
> SUB MainLoop
> LOCAL this_event, aname
> ExitLoop = 0
> REPEAT
> __LoopStepWait()
> this_event = __GetEvent()
> IF this_event <> undef THEN
> aname = ::GetActionName()
> IF this_event = event{this_event}{aname}[0] THEN
> ICALL(event{this_event}{aname}[1])
> END IF
> END IF
> UNTIL ExitLoop
> END SUB
>
> FUNCTION SetCallback(ih, aname, faddr)
> event{ih}{aname}[0] = ih
> event{ih}{aname}[1] = faddr
> SetCallback = __SetCallback(ih, aname)
> END FUNCTION
>
> ------------------------------------------------------------
> ------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, SlashDot.org! http://sdm.link/slashdot
> _______________________________________________
> Iup-users mailing list
> Iup-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/iup-users
>
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Iup-users mailing list
Iup-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/iup-users