Annotation of rpl/modules/motif/motif.rplc, revision 1.3

1.1       bertrand    1: #define __RPLC_MAIN
                      2: #include "src/rplexternals.h"
                      3: #include "motif.h"
                      4: 
                      5: libraryName(motif);
                      6: 
                      7: exportExternalFunctions(
1.3     ! bertrand    8:        XtAppExitMainLoop,
1.1       bertrand    9:        XtAppInitialize,
                     10:        XtAppMainLoop,
1.3     ! bertrand   11:        XtCreateWidget);
1.1       bertrand   12: 
                     13: declareSubroutine(onLoading)
1.2       bertrand   14:    notice(stdout, "\nMotif library V2R1 for RPL/2 (C) 2017 BERTRAND Joel\n");
1.1       bertrand   15:    notice(stdout, "Motif library loaded.\n\n");
                     16: 
                     17:    // Création des variables spécifiques
                     18: 
                     19:    declareObject(variable);
                     20:    declareObject(value);
                     21: 
                     22: #define createVariable(var) createVariable2(var, var)
                     23: #define createVariable2(var, val) \
                     24:        do { \
                     25:            createNameObject(variable); \
                     26:            setSymbolicName(variable, #var); \
                     27:            createIntegerObject(value); \
                     28:            setInteger(value, val); \
                     29:            pushOnStack(variable); \
                     30:            pushOnStack(value); \
                     31:            intrinsic(over); \
                     32:            intrinsic(save); \
                     33:            intrinsic(parameter); \
                     34:        } while(0)
                     35: 
                     36:    createVariable2(XmFalse, 0);
                     37:    createVariable2(XmTrue, 1);
                     38: 
                     39:    createVariable(XmATTACH_NONE);
                     40:    createVariable(XmATTACH_FORM);
                     41:    createVariable(XmATTACH_OPPOSITE_FORM);
                     42:    createVariable(XmATTACH_WIDGET);
                     43:    createVariable(XmATTACH_OPPOSITE_WIDGET);
                     44:    createVariable(XmATTACH_POSITION);
                     45:    createVariable(XmATTACH_SELF);
                     46: 
                     47:    createVariable(XmALIGNMENT_BEGINNING);
                     48:    createVariable(XmALIGNMENT_CENTER);
                     49:    createVariable(XmALIGNMENT_END);
                     50: 
                     51:    createVariable(XmHORIZONTAL);
                     52:    createVariable(XmVERTICAL);
                     53: 
                     54:    createVariable(XtGrabNone);
                     55:    createVariable(XtGrabNonexclusive);
                     56:    createVariable(XtGrabExclusive);
                     57: 
                     58:    createVariable(XmSTRING);
                     59: endSubroutine
                     60: 
                     61: declareSubroutine(onClosing)
                     62:    // Destruction des variables spécifiques
                     63:    declareObject(variable);
                     64: 
                     65: #define purgeVariable(var) \
                     66:        do { \
                     67:            createNameObject(variable); \
                     68:            setName(variable, #var); \
                     69:            pushOnStack(variable); \
                     70:            intrinsic(dup); \
                     71:            intrinsic(variable); \
                     72:            intrinsic(purge); \
                     73:        } while(0)
                     74: 
                     75:    purgeVariable(XmFalse);
                     76:    purgeVariable(XmTrue);
                     77: 
                     78:    purgeVariable(XmATTACH_NONE);
                     79:    purgeVariable(XmATTACH_FORM);
                     80:    purgeVariable(XmATTACH_OPPOSITE_FORM);
                     81:    purgeVariable(XmATTACH_WIDGET);
                     82:    purgeVariable(XmATTACH_OPPOSITE_WIDGET);
                     83:    purgeVariable(XmATTACH_POSITION);
                     84:    purgeVariable(XmATTACH_SELF);
                     85: 
                     86:    purgeVariable(XmALIGNMENT_BEGINNING);
                     87:    purgeVariable(XmALIGNMENT_CENTER);
                     88:    purgeVariable(XmALIGNMENT_END);
                     89: 
                     90:    purgeVariable(XmHORIZONTAL);
                     91:    purgeVariable(XmVERTICAL);
                     92: 
                     93:    purgeVariable(XtGrabNone);
                     94:    purgeVariable(XtGrabNonexclusive);
                     95:    purgeVariable(XtGrabExclusive);
                     96: 
                     97:    purgeVariable(XmSTRING);
                     98: 
                     99:    notice(stdout, "Motif library unloaded.\n\n");
                    100: endSubroutine
                    101: 
                    102: // vim: ts=4

CVSweb interface <joel.bertrand@systella.fr>