File:  [local] / rpl / modules / motif / XSynchronize.rplc
Revision 1.1: download - view: text, annotated - select for diffs - revision graph
Mon Jul 10 07:25:24 2017 UTC (6 years, 10 months ago) by bertrand
Branches: MAIN
CVS tags: HEAD
Patches pour motif.

    1: #include "src/rplexternals.h"
    2: #include "motif.h"
    3: 
    4: declareExternalFunction(XSynchronize)
    5:     declareObject(widget);
    6:     declareObject(value);
    7: 
    8:     declareInteger(flag);
    9: 
   10:     HEADER
   11:         declareHelpString("XSynchronize XtDisplay of widget\n"
   12:                 "    2: widget\n"
   13:                 "    1: flag (true or false)\n");
   14:         numberOfArguments(2);
   15:     FUNCTION
   16:         if (initializationDone eq true) then
   17: 
   18:             pullFromStack(value, integer);
   19:             returnOnError(freeObject(value));
   20:             pullFromStack(widget, external);
   21:             returnOnError(freeObject(widget); freeObject(value));
   22: 
   23:             ifIsExternal(widget, WIDGET) then
   24:                 getInteger(value, flag);
   25: 
   26:                 if ((flag eq true) or (flag eq false)) then
   27:                     XSynchronize(XtDisplay(target((Widget *)
   28:                             objectContainer(widget))), flag);
   29:                 orElse
   30:                     executionError("Flag error");
   31:                     returnOnError(freeObject(widget); freeObject(value));
   32:                 endIf
   33:             orElse
   34:                 executionError("Type mismatch error");
   35:                 returnOnError(freeObject(widget); freeObject(value));
   36:             endIf
   37: 
   38:             freeObject(value);
   39:             freeObject(widget);
   40:         orElse
   41:             executionError("Application not initialized");
   42:             returnOnError();
   43:         endIf
   44:     END
   45: endExternalFunction
   46: 
   47: // vim: ts=4

CVSweb interface <joel.bertrand@systella.fr>