version 1.2, 2017/07/10 14:48:43
|
version 1.3, 2017/07/11 16:04:53
|
Line 5 declareExternalFunction(XtAddCallback)
|
Line 5 declareExternalFunction(XtAddCallback)
|
declareObject(widget); |
declareObject(widget); |
declareObject(callbackName); |
declareObject(callbackName); |
declareObject(callbackProc); |
declareObject(callbackProc); |
declareObject(subList); |
|
declareObject(procStatus); |
|
|
|
string type; |
sXtCallback *sCallback; |
|
|
String callback; |
string type; |
|
|
|
String callback; |
|
|
|
struct_liste_chainee *tmp; |
|
|
HEADER |
HEADER |
declareHelpString("Add callback to a widget\n" |
declareHelpString("Add callback to a widget\n" |
Line 47 declareExternalFunction(XtAddCallback)
|
Line 49 declareExternalFunction(XtAddCallback)
|
freeObject(callbackName); freeObject(widget)); |
freeObject(callbackName); freeObject(widget)); |
endIf |
endIf |
|
|
// Adding a copy of expression in a list. |
sCallback = allocate(size(sXtCallback)); |
|
sCallback->status = procStatus(rpl_arguments); |
dupObject(callbackProc); |
sCallback->callback = callbackProc; |
|
sCallback->widget = target((Widget *) objectContainer(widget)); |
createListObject(subList); |
|
createObject(procStatus); |
|
|
|
objectContainer(procStatus) = address(procStatus(rpl_arguments)); |
|
|
|
insertObjectIntoList(subList, callbackProc); |
|
insertObjectIntoList(subList, procStatus); |
|
insertObjectIntoList(callbacksList, subList); |
|
|
|
XtAddCallback(target((Widget *) objectContainer(widget)), |
XtAddCallback(target((Widget *) objectContainer(widget)), |
callback, rplCallback, (XtPointer) subList); |
callback, rplCallback, (XtPointer) sCallback); |
|
|
|
tmp = allocate(size(struct_liste_chainee)); |
|
tmp->suivant = lCallbacks; |
|
tmp->donnee = (void *) sCallback; |
|
lCallbacks = tmp; |
orElse |
orElse |
executionError("Application not initialized"); |
executionError("Application not initialized"); |
returnOnError(); |
returnOnError(); |