Diff for /rpl/modules/motif/XtCreateWidget.rplc between versions 1.3 and 1.7

version 1.3, 2017/07/06 10:18:04 version 1.7, 2017/07/30 21:59:40
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(parentObject, WIDGET) then
               orElse
                   executionError("Type mismatch error");
                   returnOnError(freeObject(parametersObject);
                           freeObject(parentObject));
               endIf
   
             pullFromStack(classObject, string);              pullFromStack(classObject, string);
             returnOnError(freeObject(parametersObject);              returnOnError(freeObject(parametersObject);
                     freeObject(parentObject);                      freeObject(parentObject);
Line 144  declareExternalFunction(XtCreateWidget) Line 152  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 155  declareExternalFunction(XtCreateWidget) Line 163  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) target(objectContainer(Widget,
                                 objectContainer(fetchElementFromDaisyChain(                                  fetchElementFromDaisyChain(current2))));
                                 current2)))).widget);  
                     orElse                      orElse
                         executionError("Wait for XmN*Widget");                          executionError("Wait for XmN*Widget");
                         deallocate(args);                          deallocate(args);
Line 184  declareExternalFunction(XtCreateWidget) Line 191  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(objectContainer(Widget,
                                     objectContainer(directive))).widget);                                  directive)));
                         orElse                          orElse
                             executionError("Wait for XmN*Widget");                              executionError("Wait for XmN*Widget");
                             deallocate(args);                              deallocate(args);
Line 208  declareExternalFunction(XtCreateWidget) Line 215  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);
               objectOf(widget) = allocate(size(Widget));
   
             target((Widget *) objectContainer(widget)) =              target(objectContainer(Widget, widget)) =
                     XtCreateWidget(name, wc, (*((sXtAppContext *)                      XtCreateWidget(name, wc, target(
                     objectContainer(parentObject))).widget, args, argNum);                      objectContainer(Widget, parentObject)), args, argNum);
             XtManageChild(target((Widget *) objectContainer(widget)));              XtManageChild(target(objectContainer(Widget, widget)));
   
             pushOnStack(widget);              pushOnStack(widget);
             deallocate(args);              deallocate(args);

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


CVSweb interface <joel.bertrand@systella.fr>