Diff for /rpl/modules/motif/XtAddCallback.rplc between versions 1.3 and 1.4

version 1.3, 2017/07/11 16:04:53 version 1.4, 2017/07/17 21:35:32
Line 4 Line 4
 declareExternalFunction(XtAddCallback)  declareExternalFunction(XtAddCallback)
     declareObject(widget);      declareObject(widget);
     declareObject(callbackName);      declareObject(callbackName);
       declareObject(callbackObject);
     declareObject(callbackProc);      declareObject(callbackProc);
       declareDaisyChain(tmp);
   
     sXtCallback             *sCallback;      sXtCallback             *sCallback;
   
Line 12  declareExternalFunction(XtAddCallback) Line 14  declareExternalFunction(XtAddCallback)
   
     String                  callback;      String                  callback;
   
     struct_liste_chainee    *tmp;  
   
     HEADER      HEADER
         declareHelpString("Add callback to a widget\n"          declareHelpString("Add callback to a widget\n"
                 "    3: widget\n"                  "    3: widget\n"
                 "    2: callback name (XmNactivateCallback)\n"                  "    2: callback name (XmNactivateCallback)\n"
                 "    1: expression\n");                  "    1: expression\n"
                   " -> 1: callback\n");
         numberOfArguments(3);          numberOfArguments(3);
     FUNCTION      FUNCTION
         if (initializationDone eq true) then          if (initializationDone eq true) then
Line 49  declareExternalFunction(XtAddCallback) Line 50  declareExternalFunction(XtAddCallback)
                         freeObject(callbackName); freeObject(widget));                          freeObject(callbackName); freeObject(widget));
             endIf              endIf
   
               createExternalObject(callbackObject, CALLBACK);
   
             sCallback = allocate(size(sXtCallback));              sCallback = allocate(size(sXtCallback));
             sCallback->status = procStatus(rpl_arguments);              sCallback->status = procStatus(rpl_arguments);
             sCallback->callback = callbackProc;              sCallback->callback = callbackProc;
             sCallback->widget = target((Widget *) objectContainer(widget));              sCallback->widget = target((Widget *) objectContainer(widget));
               objectContainer(callbackObject) = sCallback;
   
             XtAddCallback(target((Widget *) objectContainer(widget)),              XtAddCallback(target((Widget *) objectContainer(widget)),
                     callback, rplCallback, (XtPointer) sCallback);                      callback, rplCallback, (XtPointer) sCallback);
   
             tmp = allocate(size(struct_liste_chainee));              tmp = allocate(size(struct_liste_chainee));
             tmp->suivant = lCallbacks;              tmp->next = lCallbacks;
             tmp->donnee = (void *) sCallback;              tmp->data = callbackObject;
             lCallbacks = tmp;              lCallbacks = tmp;
   
               pushOnStack(callbackObject);
         orElse          orElse
             executionError("Application not initialized");              executionError("Application not initialized");
             returnOnError();              returnOnError();

Removed from v.1.3  
changed lines
  Added in v.1.4


CVSweb interface <joel.bertrand@systella.fr>