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
[email protected]
https://lists.sourceforge.net/lists/listinfo/iup-users