00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 
00022 
00023 
00024 
00025 
00026 
00027 
00028 
00029 #ifndef __WINDOM_GLOBAL__
00030 #define __WINDOM_GLOBAL__
00031 
00032 #include <stdarg.h>
00033 #include <stddef.h>
00034 #include <assert.h>
00035 
00036 #include "wportab.h"
00037 #include "options.h"
00038 
00039 
00040 
00041 
00042 #ifdef __PUREC__
00043 # include <tos.h>
00044 #else
00045 # ifdef __SOZOBONX__
00046 #  include <atari.h>  
00047 # endif
00048 # include <osbind.h>
00049 # include <mintbind.h>
00050 # include <fcntl.h>
00051 #endif
00052 
00053 
00054 #include "toserror.h"
00055 
00056 #define APPRSVD struct APPprivate_struct
00057 
00058 
00059 
00060 #ifndef __COMPILER_H__
00061 #include <compiler.h>
00062 #endif
00063 
00064 #ifdef __PUREC__
00065 # include "..\include\windom\list.h"
00066 # include "..\include\mt_wndm.h"
00067 # include "..\include\windom\udlib.h"
00068 #else
00069 # undef NIL
00070 # include "../include/windom/list.h"
00071 # include "../include/mt_wndm.h"
00072 # include "../include/windom/udlib.h"
00073 #endif
00074 
00075 
00076 
00077 
00078 
00079 #define SCREENMGR       1
00080 
00081 #define CONF(ap) (&ap->priv->config)
00082 #define HI16(a) ((INT16)((long)(a) >> 16) & 0xFFFFL )
00083 #define LO16(a) ((INT16)(long)(a) & 0xFFFFL )
00084 
00085 
00086 
00087 
00088 
00089 #define SYSMENU(app) (app->aes4 & AES4_MENUBAR) && (CONF(app)->flag & FLG_MNSYSTEM)
00090 
00091 
00092 #define ROOTS           0
00093 #define OUTLINED_WIDTH  3
00094 
00095 typedef struct ev_msg {
00096         LINKABLE lnk;
00097 
00098         short msg;
00099         func_evntdata proc;
00100         int flags;
00101         void *data;
00102     } EV_MSG;
00103 
00104 
00105 
00106 
00107 typedef struct {
00108         struct _window *list, *front,  *widget;
00109         int border;
00110         int color;
00111         int flags;
00112         int line, col;
00113     } FRAME;
00114 
00115 typedef struct {
00116         int line, col;
00117         int x,y,w,h;
00118         int flags;
00119         int vsldpos,vsldsize;
00120         int hsldpos,hsldsize;
00121     } FRAMEINFO;
00122 
00123 #define GETFINFO(app,win)   ((FRAMEINFO*)mt_DataSearch( app, win, WD_WFRI))
00124 
00125 
00126 #define EVM_DISABLE     0x2
00127 #define EVM_IN_USE      0x4
00128 #define EVM_DELETED     0x8
00129 
00130 
00131 
00132 #define FCENTER     6
00133 
00134 #define SYSFONT     0
00135 
00136 
00137 #define USERDRAW    0xFF    
00138 #define XCICON      0x0D    
00139 #define XSMENU      0x01    
00140 
00141 
00142 #define _FSM 0x5F46534DUL
00143 
00144 
00145 static inline void grect2msg( const GRECT *grect, short buff[8]) {
00146     *(GRECT*)&buff[4] = *grect;
00147 }
00148 
00149 static inline void msg2grect( const short buff[8], GRECT *grect) {
00150     *grect = *(const GRECT*)&buff[4];
00151 }
00152 
00160 typedef struct _config {
00207         unsigned short flag;
00216         short   wicon;
00225         short   hicon;
00236         short   bgcolor;
00248         short   bgpatt;
00260         short   bgstyle;
00276         short   key_color;
00292         ATTRIB  string;
00308         ATTRIB  button;
00323         ATTRIB  exit;
00339         ATTRIB  title;
00354         ATTRIB  xedit_text;
00369         ATTRIB  xedit_label;
00381         short   xedit_curs_color;
00396         ATTRIB  xlongedit;
00404         short   xlgedt_smlfnt;
00419         ATTRIB  xtedinfo;
00427         short   xtdinf_smlfnt;
00444         short   actmono;
00454         short   actcol;
00465         short   menu_effect;
00476         ATTRIB  bubble;
00497         short   popcolor;
00509         short   popborder;
00521         short   popfcolor;
00537         short   poppatt;
00550         short   popwind;        
00583         short   wcenter;        
00591         short   weffect;        
00599         short   mwidget;        
00607         short   fwidsize;       
00618         char    *udlib_filenames;
00619 } CONFIG;
00620 
00621 typedef struct _bind {
00622         short type;  
00624         union {
00626             struct {
00627                 int *var;  
00628                 int value; 
00629             } var;
00631             struct {
00632                 int *var;  
00633                 unsigned short bit; 
00634             } bit;
00636             struct {
00637                 union {
00638                     func_bind     form;  
00639                     func_bind     tb;    
00640                     func_bindmenu menu;  
00641                 } f; 
00642                 void *data;  
00643             } func;
00644         } desc;
00645     } BIND;
00646 
00647 
00648 
00649 
00650 
00651 
00652 typedef struct {
00653         long  wp_spec;
00654         int   wp_type;
00655         APPvar *wp_app;
00656     } W_PARM;
00657 
00658 
00659 
00660 
00661 
00662 typedef struct {
00663         char *string;
00664         OBJECT *mn_tree;
00665         int mn_menu, mn_item, mn_scroll;
00666         APPvar *app;
00667     } SMENU;
00668 
00669 
00670 
00671 
00672 
00673 
00674 #include "fsel.h" 
00675 
00676 struct ty_obspec_dup {
00677     OBJECT * p_ob;    
00678     void   * p_mem;   
00679     struct ty_obspec_dup * next;
00680 }; 
00681 
00682 
00683 typedef struct {
00684         WINDOW *win;
00685         func_userdraw draw;
00686         void *data;
00687         APPvar *app;
00688     } USER_DRAW;
00689 
00690 
00691 typedef struct __windowlist{
00692     WINDOW *win;
00693     struct __windowlist *next;
00694 } WINDOWLIST;
00695 
00696 
00697 typedef struct ulib_obj_struct {
00698     LINKABLE lnk;
00699     OBJECT *tree;
00700     short ob;
00701     short ob_type;
00702 } UDLIB_OBJ;
00703 
00704 typedef struct udef_lib_struct {
00705     LINKABLE lnk;
00706     APPENV *env;
00707     enum { udlib_internal, udlib_ldg } type;
00708     enum { udlib_simple, udlib_freedom} mode;
00709     char filename[256];
00710     void *udlib_descriptor;
00711     long   __CDECL (* libinit)      ( APPENV *);
00712     void   __CDECL (* udconfig)     ( UDLIB_CONFIG *, APPENV *);
00713     void   __CDECL (* libexit)      ( APPENV *);
00714     long   __CDECL (* objc_extended)( OBJECT *, long , long , APPENV *);
00715     void   __CDECL (* objc_extfree) ( OBJECT *, long , APPENV *);
00716     char * __CDECL (* objc_string)  ( OBJECT *, long , char *, APPENV *);
00717     long   __CDECL (* objc_char)    ( OBJECT *, long , long , APPENV *);
00718     long   __CDECL (* objc_edit)    ( OBJECT *, long , long , short* , long , long , GRECT *, APPENV *);
00719     long   __CDECL (* objc_edpos)   ( OBJECT *, long , long , long , APPENV *);
00720     long   __CDECL (* objc_unextnd) ( OBJECT *, long , APPENV *);
00721     LIST ob_list;
00722 } UDLIB_LIB;
00723 
00724 typedef struct APPprivate_struct {
00725     
00726     
00727  
00728     
00729     short    xpixelbytes;
00730     short    xscrn_planes;
00731     
00732     
00733     size_t pos ;
00734     
00735     
00736     char debug[255];
00737     int first;
00738 
00739     
00740     int init_fontsel;
00741     
00742     
00743     SLCT_STR *slct ;
00744     long     *fsel ;
00745 
00746     
00747     int type_mxalloc;
00748     
00749     
00750     CONFIG config;
00751     int    _res;      
00752     WINDOWLIST *__windowlist; 
00753 
00754     WINDOW  *desk;             
00755 
00756     WORD __iconlist[ MAX_ICON];
00757 
00758 
00759     int __bubble_quit;
00760     int _menu_disabled;   
00761     struct bubble *bubble_index;
00762     char __confpath [FILE_SIZE]; 
00763     struct fontid *listfontid; 
00764     int maxfontid;             
00765     char *__confapp_buffer;    
00766     int __confapp_line_top;    
00767     int __confapp_line_pos;    
00768     char *__confdef_buffer;    
00769     int __confdef_line_top;    
00770     int __confdef_line_pos;    
00771     size_t __confgetline_pos;  
00772     char *__av_name;           
00773     char __av_server[9];       
00774     INT16 __av_status[3];      
00775     
00776     
00777     int mouse;
00778 
00779     
00780     struct ty_obspec_dup * __list_obspec_dup;
00781 
00782     
00783     char file[FILE_SIZE];
00784 
00785     
00786     int xrsrc_init;
00787 
00788     
00789     
00790     OBJECT * frame_slider;
00791     
00792     OBJECT * mnscroll;
00793     
00794     
00795     
00796     LIST udef_lib;
00797     short udlib_vdih; 
00798     int udlib_garbage; 
00803     } APPprivate;
00804     
00805 
00806 
00807 
00808 
00809 typedef struct {        
00810   UWORD rsh_vrsn;           
00811   UWORD rsh_extvrsn;        
00812   ULONG rsh_object;
00813   ULONG rsh_tedinfo;
00814   ULONG rsh_iconblk;        
00815   ULONG rsh_bitblk;
00816   ULONG rsh_frstr;
00817   ULONG rsh_string;
00818   ULONG rsh_imdata;         
00819   ULONG rsh_frimg;
00820   ULONG rsh_trindex;
00821   ULONG rsh_nobs;           
00822   ULONG rsh_ntree;
00823   ULONG rsh_nted;
00824   ULONG rsh_nib;
00825   ULONG rsh_nbb;
00826   ULONG rsh_nstring;
00827   ULONG rsh_nimages;
00828   ULONG rsh_rssize;         
00829 } RSXHDR;
00830 
00831 typedef struct {
00832     unsigned long   rlen;
00833     unsigned long   cicon_offset;
00834 } NRSHDR;
00835 
00836 #define NRSC_CIBK           0x0004
00837 #define NRSC_LONG           0x0003
00838 
00839 typedef struct {
00840     int         type;
00841     USERBLK     blk;
00842     long        spec;
00843     unsigned    user1;
00844     unsigned    user2;
00845     unsigned    user3;
00846     unsigned    user4;
00847     long        userl;
00848 }   UBLK;
00849 
00850 #include "cicon.h" 
00851 
00852 typedef struct _rsc {
00853     rscHDR  head;           
00854     long    adr;            
00855     long    len;            
00856     UBLK    *ublk;          
00857     CICON   *cicon;         
00858     XRSRCFIX fix;           
00859 } RSC;
00860 
00861 typedef
00862 struct slider {
00863     short min, max;
00864     short sinc, linc;
00865     int ori;        
00866     int upd;        
00867     short value;    
00868     func_doslid doslid;
00869     void *data;     
00870     int mode;
00871     WINDOW *win;
00872     int up, dn, sld, bsld;
00873 } SLIDER;
00874 
00875 
00876 
00877 
00878 
00879 #define SLID_OFFSET 0
00880 
00881 int mt_slid_newpos( APPvar *app, void *_slid);
00882 
00883 typedef struct _thumb {
00884     
00885     int *idxthb;
00886     int *idxbut;
00887     
00888     int nbbut;
00889     
00890     int selbut;
00891 } THUMB;
00892 
00895 void __CDECL frm_drw  ( WINDOW *win, short buff[8], APPvar *app);
00896 void __CDECL frm_mvd  ( WINDOW *win, short buff[8], APPvar *app);
00897 void __CDECL frm_tpd  ( WINDOW *win, short buff[8], APPvar *app);
00898 void __CDECL frm_fld  ( WINDOW *win, short buff[8], APPvar *app);
00899 void __CDECL frm_click( WINDOW *win, short buff[8], APPvar *app);
00900 void __CDECL frm_keyhd( WINDOW *win, short buff[8], APPvar *app);
00901 void __CDECL frm_dstry( WINDOW *win, short buff[8], APPvar *app);
00904 void * __malloc_obspec(APPvar *app, OBJECT * p_ob, long size);
00905 void   __free_obspec( APPvar *app, OBJECT * p_ob);
00906 void   __freeall_obspec( APPvar *app);
00907 
00908 int   scrap_txt_write( APPvar *app, char *str);
00909 char *scrap_txt_read ( APPvar *app);
00910 
00911 
00912 int __CDECL wind_aes_get_root_handle( APPvar *app, WINDOW *win);
00913 int __CDECL wind_aes_get( APPvar *app, WINDOW *win, int mode, GRECT *clip, INT16 *x, INT16 *y, INT16 *w, INT16 *h );
00914 int __CDECL wind_aes_set( APPvar *app, WINDOW *win, int mode, int x, int y, int w, int h );
00915 int __CDECL wind_aes_calc( APPvar *app, WINDOW *wind, int type, int x, int y, int w, int h,
00916                     INT16 *xout, INT16 *yout, INT16 *wout, INT16 *hout);
00917 int __CDECL wind_aes_remove( APPvar *app, WINDOW *win);
00918 
00919 
00920 typedef struct {
00921     int __CDECL (*get_root_handle)(  APPvar *app, WINDOW *win);
00922 
00923     int __CDECL (*get)(  APPvar *app, WINDOW *win, int mode, GRECT *clip, INT16 *x, INT16 *y, INT16* w, INT16 *h );
00924     int __CDECL (*set)(  APPvar *app, WINDOW *win, int mode, int par1, int par2, int par3, int par4);
00925     int __CDECL (*calc)( APPvar *app, WINDOW *win, int type, int x, int y, int w, int h,
00926                 INT16 *xout, INT16 *yout, INT16 *wout, INT16 *hout);
00927     int __CDECL (*remove)( APPvar *app, WINDOW *win );
00928 } WIND_HANDLERS;
00929 
00930 
00931 extern OBJECT * get_frame_slider ( APPvar *app);
00932 extern void set_gadget_pos( APPvar *app, WINDOW *frame, GRECT *r1, int mode);
00933 extern void __frame_set_widget( APPvar *app, int parm1);
00934 extern int remove_frame_from_list( APPvar *app, WINDOW *win, WINDOW *child);
00935 #define PROPOR( mode, wmax, w)  ((mode)?((int)((long)wmax * (long)(w) / 100L)):(w))
00936 #define NO_BACKGROUND   0x0002  
00937 
00938 extern int  mt_ObjcAttach( APPvar *app, int mode, WINDOW *win, int __index, int type, ...);
00939 extern void mt_RsrcUserFree( APPvar*, OBJECT *);
00940 extern int  is_modal    ( APPvar *app);
00941 extern int  obj_fd_flag ( OBJECT *, int, int);
00942 extern int  obj_fd_xtype( OBJECT *dial, int racine, int flag);
00943 extern int  obj_nb      ( OBJECT *);
00944 extern int  obj_root    ( OBJECT *tree, int idx);
00945 extern void mt_DataClear    ( APPvar *app, WINDOW *win);
00946 extern void mt_DataTrace    ( APPvar *app, WINDOW *win);
00947 extern void mt_AddWindow    ( APPvar *app, WINDOW *win);
00948 extern void mt_RemoveWindow ( APPvar *app, WINDOW *win);
00949 extern void add_slash   ( char *path);
00950 extern void init_scroll_menu( APPvar *app);
00951 extern void exit_scroll_menu( APPvar *app);
00952 extern WORD __CDECL draw_submenu( PARMBLK *pblk);
00953 extern void GemCode2Ascii( int key, int kstate, char *txt);
00954 extern int mt_GetIndexMenu( APPvar *app, OBJECT *menu, int title);
00955 
00956 extern void mt_menu_bind    ( APPvar *app, WINDOW *win, int item, int title);
00957 
00958 int  get_next_obj       ( OBJECT *tree, int __index);
00959 void objc_extended      ( APPvar *app, int mode, OBJECT *tree);
00960 void objc_extfree       ( APPvar *app, OBJECT *tree);
00961 
00962 int objc_wform_edit( APPvar *app, WINDOW *win, W_FORM *wform, OBJECT *tree, int obj, int val, INT16 *idx, int kind);
00963 
00964 int mt_vFormAlert( APPvar *app, int but, char fmt[], va_list list);
00965 int mt_vConfInquire( APPvar *app, char *keyword, char *fmt, va_list args);
00966 int mt_vConfWrite( APPvar *app, char *name, char *fmt, va_list args);
00967 
00968 
00969 
00970 
00973 void __CDECL std_apterm ( WINDOW *, short buff[8], APPvar *app);
00974 void __CDECL std_cls    ( WINDOW *, short buff[8], APPvar *app);
00975 void __CDECL std_tpd    ( WINDOW *, short buff[8], APPvar *app);
00976 void __CDECL std_mvd    ( WINDOW *, short buff[8], APPvar *app);
00977 void __CDECL std_szd    ( WINDOW *, short buff[8], APPvar *app);
00978 void __CDECL std_fld    ( WINDOW *, short buff[8], APPvar *app);
00979 void __CDECL std_icn    ( WINDOW *, short buff[8], APPvar *app);
00980 void __CDECL std_unicn  ( WINDOW *, short buff[8], APPvar *app);
00981 void __CDECL std_allicn ( WINDOW *, short buff[8], APPvar *app);
00982 void __CDECL std_arw    ( WINDOW *, short buff[8], APPvar *app);
00983 void __CDECL std_sldxy  ( WINDOW *, short buff[8], APPvar *app);
00984 void __CDECL std_dnlnd  ( WINDOW *, short buff[8], APPvar *app);
00985 void __CDECL std_uplnd  ( WINDOW *, short buff[8], APPvar *app);
00986 void __CDECL std_lflnd  ( WINDOW *, short buff[8], APPvar *app);
00987 void __CDECL std_rtlnd  ( WINDOW *, short buff[8], APPvar *app);
00988 void __CDECL std_dnpgd  ( WINDOW *, short buff[8], APPvar *app);
00989 void __CDECL std_uppgd  ( WINDOW *, short buff[8], APPvar *app);
00990 void __CDECL std_rtpgd  ( WINDOW *, short buff[8], APPvar *app);
00991 void __CDECL std_lfpgd  ( WINDOW *, short buff[8], APPvar *app);
00992 void __CDECL std_vsld   ( WINDOW *, short buff[8], APPvar *app);
00993 void __CDECL std_hsld   ( WINDOW *, short buff[8], APPvar *app);
00994 void __CDECL std_dstry  ( WINDOW *, short buff[8], APPvar *app);
00995 void __CDECL std_btm    ( WINDOW *, short buff[8], APPvar *app);
00996 
00997 void __CDECL std_comp_reflow  ( COMPONENT *c, long buff[8], APPvar *app );
00999 void __CDECL std_fntchg ( WINDOW *win, short buff[8], APPvar *app);
01000 
01001 void move_screen   ( APPvar *app, int vhandle, GRECT *screen, int dx, int dy);
01002 void move_work_rect( APPvar *app, WINDOW *win, GRECT *rect, int dx, int dy);
01003 void move_work     ( APPvar *app, WINDOW *win, int dx, int dy);
01004 
01005 void __CDECL std_mwk    ( APPvar *app, WINDOW *win);
01006  
01007 
01008 
01009 int  menu_exec_cmd( APPvar *app, WINDOW *win);
01010 void menu_draw_grect( APPvar *app, WINDOW *win, OBJECT *menu, GRECT *work, GRECT *clip);
01011 void wind_menu_draw( APPvar *app, WINDOW *win, GRECT *clip);
01012 int  wind_menu_set( APPvar *app, WINDOW *win, int mode, void *v1, func_evnt handler);
01013 int  frm_menu     ( APPvar *app, WINDOW *win);
01014 int  frm_keybd_ev ( APPvar *app, OBJECT *tree);
01015 int  is_menu      ( APPvar *app, WINDOW *win);
01016 int ob_istype     ( APPvar *app, OBJECT *tree, int ob, int type);
01017 
01018 
01019 int  frm_buttn_ev ( APPvar *app, WINDOW *win, int mode);
01020 void _do_update   ( APPvar *app, WINDOW *win, short buff[8]);
01021 
01022 void list_ev_msg  ( APPvar * app, WINDOW *win, char *str);
01023 
01024 void get_appname  ( APPvar *app, char *name);
01025 
01026 int     vq_mint     ( void);
01027 int     vq_magx     ( void);
01028 int     vq_extfs    ( char *);
01029 
01030 
01031 extern WINDOW *wlst_get_bottom      ( APPvar *app);
01032 extern WINDOW *wlst_get_next        ( APPvar *app, WINDOW *win);
01033 extern WINDOW *wlst_get_top         ( APPvar *app);
01034 extern void    wlst_remove          ( APPvar *app, WINDOW *win);
01035 extern void    wlst_add_bottom      ( APPvar *app, WINDOW *win);
01036 extern void    wlst_add_top         ( APPvar *app, WINDOW *win);
01037 extern void    wlst_recompute_wglb  ( APPvar *app);
01038 
01039 
01040 
01041 struct fontid {
01042     char name[44];
01043     int  id;
01044     int flags;      
01045 };
01046 extern int load_fontid( APPvar *app);
01047 extern void close_fontid( APPvar *app);
01048 
01049 
01050 struct bubble {
01051     OBJECT *tree;
01052     int index;
01053     char *help;
01054     struct bubble *next;
01055 };
01056 extern void mt_snd_mu_button( APPvar *app, int mbut, int nbclick);
01057 
01058 extern long __cookieptr(void);
01059 
01060 #ifdef BETAMENU
01061 extern int frm_menu_beta( APPvar *app, WINDOW *win);
01062 #endif
01063 
01064 #ifdef WINDOMDEBUG
01065     #define LOGFILE "C:\\gemsys\\log\\windom.log"
01066 #endif
01067 
01068 
01069 int udlib_reinit ( APPvar *app);
01070 int udlib_exit ( APPvar *app);
01071 int udlib_garbage ( APPvar *app);
01072 int udlib_extended( APPvar *app, OBJECT *tree, int ob, int mode);
01073 int udlib_unextended( APPvar *app, OBJECT *tree, int ob, OBJECT *cpy);
01074 int udlib_extfree ( APPvar *app, OBJECT *tree, int ob);
01075 int udlib_add_obj( UDLIB_LIB *udlib, OBJECT *tree, int ob, int ob_type) ;
01076 int udlib_rm_obj ( UDLIB_LIB *udlib, OBJECT *tree, int ob) ;
01077 int udlib_string( APPvar *app, OBJECT *tree, int ob, char *put, char **retval);
01078 int udlib_char( APPvar *app, OBJECT *tree, int ob, int put, int *retval);
01079 int udlib_edit( APPvar *app, OBJECT *tree, int ob, int val, short *idx, int kind, int nclip, GRECT *gclip);
01080 int udlib_get_edpos( APPvar *app, OBJECT *tree, long object, long x, long y);
01081 int udlib_get_type( APPvar *app, OBJECT *tree, int object);
01082 UDLIB_OBJ * udlib_objfind( UDLIB_LIB *udlib, OBJECT *tree, int ob);
01083 
01084 int    udlib_ConfSetLib( APPvar *app, const char *libname);
01085 int    udlib_ConfAddLib( APPvar *app, const char *libname, short head);
01086 char * udlib_ConfGetFirstLib( APPvar *app);
01087 char * udlib_ConfGetNextLib( char *prev);
01088 
01089 
01090 short __CDECL cdecl_draw_cicon( long vdih, OBJECT *tree, long ob, long ob_state, long ob_x, long ob_y);
01091 
01092 
01093 
01094 
01095 #define CS_FIX_FLEX 0x8000
01096 
01097 
01098 #define CDT_VSLID       0x455e4dUL  
01099 #define CDT_HSLID       0x455e4eUL  
01100 
01101 
01102 COMPONENT *comp_reflow( COMPONENT *c, APPvar *app );
01103 
01104 
01105 void comp_dfs( COMPONENT *p, long *buff, APPvar *app );
01106 
01107 COMPONENT *win_comp_get( APPvar *app, WINDOW *win);
01108 void       win_comp_attach( APPvar *app, WINDOW *win, COMPONENT *c);
01109 COMPONENT *win_comp_getfocus( APPvar *app, WINDOW *win );
01110 void       win_comp_setfocus( APPvar *app, WINDOW *win, COMPONENT *f );
01111  
01112 
01113 #define CDT_OBJECT 0x004f424aUL  
01114 int comp_slider_set(  APPvar *app, WINDOW *win, COMPONENT *wgtc, int mode, int par1, int par2, int par3, int par4);
01115 COMPONENT *comp_objc_create( APPvar *app, OBJECT *o, short type, long size, short flex );
01116 
01117 
01118 COMPONENT *comp_wind_create( APPvar *app, WINDOW *w, short type, long size, short flex );
01119 
01120 
01121 int comp_widget_set(  APPvar *app, WINDOW *win, COMPONENT *wgtc, int mode, int par1, int par2, int par3, int par4);
01122 COMPONENT *comp_widget_create( APPvar *app, WINDOW *win, int size, int flex );
01123 
01124 
01125 COMPONENT *comp_slider_create( APPvar *app, int mode, int width, int sz, int flex );
01126 void comp_slider_link( APPvar *app, COMPONENT *c, COMPONENT *s, int mode );
01127 
01128 
01129 COMPONENT *comp_split_create( APPvar *app, int mode, int sz );
01130 
01131 
01132 extern void mt_CompDataClear( APPvar *app, COMPONENT *c);
01133 extern void mt_CompDataTrace( APPvar *app, COMPONENT *c);
01134 
01135 
01136 
01137 extern APPvar * __mt_ApplInit( short *global);
01138 extern int      __mt_ApplExit( APPvar *app);
01139 
01140 #endif