Diff for /rpl/modules/motif/XtCreateWidget.rplc between versions 1.4 and 1.5

version 1.4, 2017/07/10 07:25:24 version 1.5, 2017/07/10 14:47:59
Line 18  declareExternalFunction(XtCreateWidget) Line 18  declareExternalFunction(XtCreateWidget)
     char            target(name);      char            target(name);
     char            target(class);      char            target(class);
     char            target(cvalue);      char            target(cvalue);
       char            target(command);
   
     ArgList         args;      ArgList         args;
     Cardinal        argNum;      Cardinal        argNum;
Line 42  declareExternalFunction(XtCreateWidget) Line 43  declareExternalFunction(XtCreateWidget)
             returnOnError(freeObject(parametersObject);              returnOnError(freeObject(parametersObject);
                     freeObject(parentObject));                      freeObject(parentObject));
   
             ifIsExternal(widget, WIDGET) then              ifIsExternal(parentObject, WIDGET) then
             orElse              orElse
                 executionError("Type mismatch error");                  executionError("Type mismatch error");
                 returnOnError(freeObject(parametersObject);                  returnOnError(freeObject(parametersObject);
Line 144  declareExternalFunction(XtCreateWidget) Line 145  declareExternalFunction(XtCreateWidget)
                 postIncr(argNum);                  postIncr(argNum);
             endWhile              endWhile
   
   uprintf("%d\n", argNum);
             args = allocate(size(Arg) * argNum);              args = allocate(size(Arg) * argNum);
             argNum = 0;              argNum = 0;
             getDaisyChainFromList(parametersObject, current);              getDaisyChainFromList(parametersObject, current);
Line 151  declareExternalFunction(XtCreateWidget) Line 153  declareExternalFunction(XtCreateWidget)
             repeatWhile(not nullified(current))              repeatWhile(not nullified(current))
                 list = fetchElementFromDaisyChain(current);                  list = fetchElementFromDaisyChain(current);
                 getDaisyChainFromList(list, current2);                  getDaisyChainFromList(list, current2);
                 getString(fetchElementFromDaisyChain(current2), name);                  getString(fetchElementFromDaisyChain(current2), command);
                 current2 = nextElementOfDaisyChain(current2);                  current2 = nextElementOfDaisyChain(current2);
   
                 XmN_constants(name, argument);                  XmN_constants(command, argument);
   
                 returnOnError(freeObject(parametersObject);                  returnOnError(freeObject(parametersObject);
                         freeObject(parentObject);                          freeObject(parentObject);
Line 162  declareExternalFunction(XtCreateWidget) Line 164  declareExternalFunction(XtCreateWidget)
                         freeObject(nameObject));                          freeObject(nameObject));
   
                 ifIsExternal(fetchElementFromDaisyChain(current2), WIDGET) then                  ifIsExternal(fetchElementFromDaisyChain(current2), WIDGET) then
                     if ((strcmp(name, "XmNtopWidget") eq 0) or                      if ((strcmp(command, "XmNtopWidget") eq 0) or
                             (strcmp(name, "XmNbottomWidget") eq 0) or                              (strcmp(command, "XmNbottomWidget") eq 0) or
                             (strcmp(name, "XmNleftWidget") eq 0) or                              (strcmp(command, "XmNleftWidget") eq 0) or
                             (strcmp(name, "XmNrightWidget") eq 0)) then                              (strcmp(command, "XmNrightWidget") eq 0)) then
   /*
                         XtSetArg(args[argNum], argument,                          XtSetArg(args[argNum], argument,
                                 (XtArgVal) (*((sXtAppContext *)                                  (XtArgVal) (*((sXtAppContext *)
                                 objectContainer(fetchElementFromDaisyChain(                                  objectContainer(fetchElementFromDaisyChain(
                                 current2)))).widget);                                  current2)))).widget);
   */
                           XtSetArg(args[argNum], argument,
                                   (XtArgVal) target((Widget *) objectContainer(
                                   fetchElementFromDaisyChain(current2))));
                     orElse                      orElse
                         executionError("Wait for XmN*Widget");                          executionError("Wait for XmN*Widget");
                         deallocate(args);                          deallocate(args);
Line 191  declareExternalFunction(XtCreateWidget) Line 198  declareExternalFunction(XtCreateWidget)
                         getInteger(directive, value);                          getInteger(directive, value);
                         XtSetArg(args[argNum], argument, (XtArgVal) value);                          XtSetArg(args[argNum], argument, (XtArgVal) value);
                     elseIfIsExternal(directive, WIDGET) then                      elseIfIsExternal(directive, WIDGET) then
                         if ((strcmp(name, "XmNtopWidget") eq 0) or                          if ((strcmp(command, "XmNtopWidget") eq 0) or
                                 (strcmp(name, "XmNbottomWidget") eq 0) or                                  (strcmp(command, "XmNbottomWidget") eq 0) or
                                 (strcmp(name, "XmNleftWidget") eq 0) or                                  (strcmp(command, "XmNleftWidget") eq 0) or
                                 (strcmp(name, "XmNrightWidget") eq 0)) then                                  (strcmp(command, "XmNrightWidget") eq 0)) then
                             XtSetArg(args[argNum], argument,                          XtSetArg(args[argNum], argument,
                                     (XtArgVal) (*((sXtAppContext *)                                  (XtArgVal) target((Widget *) objectContainer(
                                     objectContainer(directive))).widget);                                  directive)));
                         orElse                          orElse
                             executionError("Wait for XmN*Widget");                              executionError("Wait for XmN*Widget");
                             deallocate(args);                              deallocate(args);
Line 215  declareExternalFunction(XtCreateWidget) Line 222  declareExternalFunction(XtCreateWidget)
                     x_string = XmStringCreate(cvalue, XmFONTLIST_DEFAULT_TAG);                      x_string = XmStringCreate(cvalue, XmFONTLIST_DEFAULT_TAG);
                     XtSetArg(args[argNum], argument, (XtArgVal) x_string);                      XtSetArg(args[argNum], argument, (XtArgVal) x_string);
                 endIf                  endIf
   
                   current = nextElementOfDaisyChain(current);
                   postIncr(argNum);
             endWhile              endWhile
   
             createExternalObject(widget, WIDGET);              createExternalObject(widget, WIDGET);
               objectContainer(widget) = allocate(size(Widget));
   
             target((Widget *) objectContainer(widget)) =              target((Widget *) objectContainer(widget)) =
                     XtCreateWidget(name, wc, target((sXtAppContext *)                      XtCreateWidget(name, wc, target((Widget *)
                     objectContainer(parentObject)).widget, args, argNum);                      objectContainer(parentObject)), args, argNum);
             XtManageChild(target((Widget *) objectContainer(widget)));              XtManageChild(target((Widget *) objectContainer(widget)));
   
             pushOnStack(widget);              pushOnStack(widget);

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


CVSweb interface <joel.bertrand@systella.fr>