--- rpl/modules/motif/motif.rplc 2017/07/04 21:13:37 1.2 +++ rpl/modules/motif/motif.rplc 2017/07/11 16:04:53 1.5 @@ -7,40 +7,20 @@ libraryName(motif); exportExternalFunctions( XSynchronize, XtAddCallback, + XtAppExitMainLoop, XtAppInitialize, XtAppMainLoop, - XtAppExitMainLoop, XtCreatePopupShell, XtCreateWidget, XtDestroyWidget, XtPopdown, XtPopup, - XtRealizeWidget, - XtRemoveAllCallbacks, - XtRemoveCallback); + XtRealizeWidget); declareSubroutine(onLoading) - declareInteger(i); - notice(stdout, "\nMotif library V2R1 for RPL/2 (C) 2017 BERTRAND Joel\n"); notice(stdout, "Motif library loaded.\n\n"); - nombre_widgets = 256; - widgets = sys_malloc(nombre_widgets * size(Widget)); - presence_widget = sys_malloc(nombre_widgets * size(char)); - - loop(i = 0, i < nombre_widgets, i++) - presence_widget[i] = 0; - endLoop - - nombre_callbacks = 256; - callbacks = sys_malloc(nombre_callbacks * size(callbackArg)); - presence_callback = sys_malloc(nombre_callbacks * size(char)); - - loop(i = 0, i < nombre_callbacks, i++) - presence_callback[i] = 0; - endLoop - // Création des variables spécifiques declareObject(variable); @@ -83,12 +63,13 @@ declareSubroutine(onLoading) createVariable(XtGrabExclusive); createVariable(XmSTRING); + + setFalse(initializationDone); + lCallbacks = NULL; endSubroutine declareSubroutine(onClosing) // Destruction des variables spécifiques - declareInteger(i); - declareObject(variable); #define purgeVariable(var) \ @@ -125,49 +106,7 @@ declareSubroutine(onClosing) purgeVariable(XmSTRING); - sys_free(widgets); - sys_free(presence_widget); - - loop(i = 0, i < nombre_callbacks, i++) - if (presence_callback[i] ne 0) then - freeObject(callbacks[i].s_objet); - endIf - endLoop - - sys_free(callbacks); - sys_free(presence_callback); - notice(stdout, "Motif library unloaded.\n\n"); endSubroutine -declareExternalFunction(XtDestroyWidget) - HEADER - FUNCTION - END -endExternalFunction - -declareExternalFunction(XtRemoveCallback) - HEADER - FUNCTION - END -endExternalFunction - -declareExternalFunction(XtRemoveAllCallbacks) - HEADER - FUNCTION - END -endExternalFunction - -/* -XmStringCreateLtoR -XmCreateRadioBox -XtVaSetValues -XmStringFree -XmTextFieldSetString -XtManageChild -XtSetSensitive -XtVaGetValues -XtAncetre -*/ - // vim: ts=4