File:  [local] / rpl / modules / motif / XtPopup.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(XtPopup)
    5:     declareObject(grab);
    6:     declareObject(widget);
    7: 
    8:     integer8            gv;
    9: 
   10:     XtGrabKind          xt_gv;
   11: 
   12:     HEADER
   13:         declareHelpString("Popup a widget\n"
   14:                 "    2: widget\n"
   15:                 "    1: flag (XtGrabNonexclusive/XtGrabExclusive)\n");
   16:         numberOfArguments(2);
   17:     FUNCTION
   18:         if (initializationDone eq true) then
   19:             pullFromStack(grab, integer);
   20:             returnOnError(freeObject(grab));
   21: 
   22:             pullFromStack(widget, external);
   23:             returnOnError(freeObject(grab); freeObject(widget));
   24: 
   25:             getInteger(grab, gv);
   26: 
   27:             if (gv eq XtGrabNonexclusive) then
   28:                 xt_gv = XtGrabNonexclusive;
   29:             elseIf (gv eq XtGrabExclusive) then
   30:                 xt_gv = XtGrabExclusive;
   31:             orElse
   32:                 executionError("Unknown grab value");
   33:                 returnOnError(freeObject(grab); freeObject(widget));
   34:             endIf
   35: 
   36:             ifIsExternal(widget, WIDGET) then
   37:             orElse
   38:                 executionError("Type mismath error");
   39:                 returnOnError(freeObject(grab); freeObject(widget));
   40:             endIf
   41: 
   42:             XtPopup(target(objectContainer(Widget, widget)), xt_gv);
   43: 
   44:             freeObject(widget);
   45:             freeObject(grab);
   46:         orElse
   47:             executionError("Application not initialized");
   48:             returnOnError();
   49:         endIf
   50:     END
   51: endExternalFunction
   52: 
   53: // vim: ts=4

CVSweb interface <joel.bertrand@systella.fr>