File:  [local] / rpl / modules / motif / XSynchronize.rplc
Revision 1.3: download - view: text, annotated - select for diffs - revision graph
Sun Jul 30 21:59:40 2017 UTC (6 years, 9 months ago) by bertrand
Branches: MAIN
CVS tags: rpl-4_1_35, rpl-4_1_34, rpl-4_1_33, rpl-4_1_32, rpl-4_1_31, rpl-4_1_30, rpl-4_1_29, rpl-4_1_28, rpl-4_1_27, HEAD
Ajout d'une série de patches pour gérer les instructions de type A->B
dans les bibliothèques externes.

    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(
   28:                             objectContainer(Widget, 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>