00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef __MOTIFCB__
00024 #define __MOTIFCB__
00025
00026 #include "jed_defs.h"
00027
00028
00029 #ifdef MOTIF_ENABLED
00030
00031 #include "toolkits/entorno/jed_evnt.h"
00032 #include "lista.h"
00033
00034 #include <Xm/Xm.h>
00035
00036 extern void motif_draw_specific(Widget w, XtPointer ptr);
00037 extern void motif_resize(Widget w, XtPointer data, XtPointer callData);
00038 extern void
00039 motif_button(Widget w, XtPointer client_data, XEvent *e, Boolean *cont);
00040 extern void
00041 motif_ejecutor(Widget widget, XtPointer client_data, XtPointer call_data);
00042 extern void
00043 motif_keyboard(Widget w, XtPointer client_data, XEvent *e, Boolean *cont);
00044
00045 extern void motif_gl_input(Widget w,
00046 XEvent *event, String *args, unsigned int *num_args);
00047
00048 extern int QUIERO_pintarme_motif;
00049
00050 class CONTEXTO_GLX;
00051
00052 #define MAX_CONTEXTOS 100
00053
00054 class VENTANA_GUI_MOTIF {
00055 public:
00056 LISTA <CONTEXTO_GLX *> lista_contextos;
00057 public:
00058 VENTANA_GUI_MOTIF();
00059 ~VENTANA_GUI_MOTIF();
00060 void pintar(void);
00061 int busque_id(Widget w);
00062 void activacion(int id_contexto, int code);
00063 };
00064
00065 class CONTEXTO_GLX {
00066 private:
00067 int x_tam;
00068 int y_tam;
00069 BOOLEAN activo;
00070
00071 public:
00072 int id;
00073 Widget gl_draw;
00074
00075 CONTEXTO_GLX(int _id, Widget w);
00076 void pintar(void);
00077 void resize(int xtam, int ytam);
00078 void activar(void);
00079 void desactivar(void);
00080
00081 friend class VENTANA_GUI_MOTIF;
00082 };
00083
00084
00085
00086
00087
00088
00089
00090 extern void (*MOTIFGUI_draw_callback)(int);
00091 extern int (*MOTIFGUI_tick_callback)(int);
00092 extern void (*MOTIFGUI_resize_callback)(int x_tam, int y_tam, int context_id);
00093 extern int (*MOTIFGUI_mouse_callback)(EVENTO_GUI *e, int context_id);
00094 extern int (*MOTIFGUI_keyboard_callback)(EVENTO_GUI *e, int context_id);
00095 extern int (*MOTIFGUI_ejecutor)(int idc, int context_id);
00096 extern void (*MOTIFGUI_multiview_callback)
00097 (int operacion, int id_vista, char *detalles, char *menu, char *botonera);
00098 extern void
00099 motif_tick_callback(XtPointer client_data, XtIntervalId * );
00100 extern void motif_starttimer_callback(Widget);
00101
00102
00103 #endif // MOTIF_ENABLED
00104
00105 #endif // __MOTIFCB__
00106
00107
00108
00109
00110