File:  [local] / rpl / modules / motif / motif.h
Revision 1.1: download - view: text, annotated - select for diffs - revision graph
Tue Jul 4 12:32:03 2017 UTC (6 years, 11 months ago) by bertrand
Branches: MAIN
CVS tags: HEAD
Ajout des premiers bouts d'un module motif.

    1: #include <pthread.h>
    2: 
    3: #ifdef string
    4: #   undef string
    5: #endif
    6: 
    7: enum types { WIDGET, APPCONTEXT };
    8: 
    9: #include <Xm/XmAll.h>
   10: 
   11: declareStructure
   12:     void                    target(s_etat_processus);
   13:     struct_objet            target(s_objet);
   14:     Widget                  widget;
   15: as(callbackArg);
   16: 
   17: #ifdef __RPLC_MAIN
   18:     integer8            nombre_callbacks;
   19:     integer8            nombre_widgets;
   20:     logical             setFalse(initialisation);
   21:     Widget              target(widgets);
   22:     unsigned char       target(presence_widget);
   23:     callbackArg         target(callbacks);
   24:     unsigned char       target(presence_callback);
   25: 
   26:     XtAppContext        app;
   27:     Window              mainWindow;
   28:     integer8            mainWidget = -1;
   29: 
   30:     pthread_mutex_t     callback_mutex = PTHREAD_MUTEX_INITIALIZER;
   31: #else
   32:     extern integer8             nombre_callbacks;
   33:     extern integer8             nombre_widgets;
   34:     extern logical              initialisation;
   35:     extern Widget               target(widgets);
   36:     extern unsigned char        target(presence_widget);
   37:     extern callbackArg          target(callbacks);
   38:     extern unsigned char        target(presence_callback);
   39: 
   40:     extern XtAppContext         app;
   41:     extern Window               mainWindow;
   42:     extern integer8             mainWidget;
   43: 
   44:     extern pthread_mutex_t      callback_mutex;
   45: #endif
   46: 
   47: #include "variables.h"
   48: 
   49: integer8 ajout_widget(Widget w);
   50: integer8 ajout_callback(Widget widget, struct_objet *s_objet,
   51:         struct_rpl_arguments *rpl_arguments);
   52: 
   53: logical1 evaluation(struct_processus *s_etat_processus, struct_objet *s_objet,
   54:                 unsigned char type_evaluation);
   55: 
   56: void destroyChildrenAndCallbacks(Widget w);
   57: void rplCallback(Widget x_objet, XtPointer argument, XtPointer call);
   58: 
   59: // vim: ts=4

CVSweb interface <joel.bertrand@systella.fr>