00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef __MOTIF__
00023 #define __MOTIF__
00024
00025 #include "jed_defs.h"
00026
00027
00028 #include <stdio.h>
00029 #include <stdlib.h>
00030
00031 #ifdef MOTIF_ENABLED
00032
00033 #include <X11/X.h>
00034 #include <X11/Intrinsic.h>
00035 #include <X11/StringDefs.h>
00036 #include <X11/Shell.h>
00037
00038 #include <X11/Xmu/StdCmap.h>
00039 #include <Xm/CascadeB.h>
00040 #include <Xm/DrawingA.h>
00041 #include <Xm/Form.h>
00042 #include <Xm/FormP.h>
00043 #include <Xm/MainW.h>
00044 #include <Xm/MenuShell.h>
00045 #include <Xm/PushB.h>
00046
00047 #endif // MOTIF_ENABLED
00048
00049 #include "jed_gl.h"
00050 #include "framework/gui/jed_gui.h"
00051 #include "framework/gui/_motifglx.h"
00052 #include "framework/gui/_motifcb.h"
00053
00054 class JED_MOTIF_INTERFACE : public JED_INTERFACE {
00055 private:
00056 int _x_tam;
00057 int _y_tam;
00058 public:
00059 #ifdef MOTIF_ENABLED
00060 Widget crear_area_gl(Widget padre);
00061 Widget crear_area_de_ayuda(Widget padre);
00062 Widget crear_paneH(Widget padre);
00063 Widget crear_paneV(Widget padre);
00064
00065 void init_extra(void);
00066 void desktop_size(int *x_tam, int *y_tam);
00067 #endif
00068
00069 public:
00070 JED_MOTIF_INTERFACE();
00071 virtual ~JED_MOTIF_INTERFACE();
00072
00073 BOOLEAN crear(int *Argc, char *argv[],
00074 int x_tam = 320, int y_tam = 200, char *nombre = "AQUYNZA");
00075 void finalizar(void);
00076 void ejecutar(void);
00077 void solicitar_repintado(void);
00078 void set_draw_callback( void (*p)(int context_id) );
00079 void set_tick_callback( int (*p)(int context_id) );
00080 void set_ejecutor( int (*p)(int idc, int context_id) );
00081 void set_mouse_callback( int (*p)(EVENTO_GUI *e, int context_id) );
00082 void set_keyboard_callback( int (*p)(EVENTO_GUI *e, int context_id) );
00083 void set_resize_callback(void (*p)(int x_tam, int y_tam, int context_id));
00084 void set_multiview_callback
00085 ( void (*p)(int operacion, int id_vista, char *detalles,
00086 char *menu, char *botonera) );
00087 BOOLEAN
00088 anexar_controles(LISTA <CONTROL_GUI *> *Controles,
00089 REPOSITORIO_DE_ENTIDADES *Repositorio);
00090
00091 #ifdef MOTIF_ENABLED
00092 void iniciar_contexto(CONTEXTO_GLX *Contexto_glx);
00093 #endif
00094 };
00095
00096 #endif // __MOTIF__
00097
00098
00099
00100
00101