/****************************************************************************************/
/*                                                                                      */
/*              load_listtab.h                                                          */
/*                                                                                      */
/****************************************************************************************/

#ifndef _LOAD_LISTTAB_H_
#define _LOAD_LISTTAB_H_




#include "objects/listtab.h"




/********************************************************************************************/
/*                                                                                          */
/*      Fonctions pour le packages listtab                                                  */
/*                                                                                          */
/********************************************************************************************/

#define LISTTABPKGSIZE  22

char  * ListTabPkgName [ LISTTABPKGSIZE ] = {
    "_CRlistTab" , "_ADDlistTabColumn" , "_DELlistTabColumn" , "_ADDlistTabItem" ,
    "_SETlistTabItem" , "_GETlistTabSizePosition" , "_SIZElistTab" , "_GETlistTabPositionSize",
    "_POSITIONlistTab" , "_DSlistTab" , "_DELlistTabItem" , "_SETlistTabBitmaps" ,
    "_SETlistTabBitmap", "_CBlistTabSort", "_SORTlistTab" , "_SETlistTabParam" , 
    "_CBlistTabColumn", "_CBlistTabDClick", "_CBlistTabSelect", "_RSTlistTab",
    "_GETlistTabCount", "_ENlistTab",
}; 

char * ListTabPkgType [ LISTTABPKGSIZE ] = {
    "fun [Chn ObjWin I I I I I] ObjListTab" ,   /* _create_list_tab                         */ 
    "fun [ObjListTab I I I S] ObjListTab",      /* _add_list_tab_column                     */ 
    "fun [ObjListTab I] ObjListTab" ,           /* _remove_list_tab_column                  */ 
    "fun [ObjListTab I I S] ObjListTab" ,       /* _add_list_tab_item                       */ 
    "fun [ObjListTab I I S] ObjListTab",        /* _set_list_tab_item                       */ 
    "fun [ObjListTab] [I I I I]",               /* _get_list_tab_size_position              */ 
    "fun [ObjListTab I I I I] ObjListTab",      /* _set_list_tab_size_position              */ 
    "fun [ObjListTab] [I I I I]",               /* _get_list_tab_position_size              */ 
    "fun [ObjListTab I I I I] ObjListTab",      /* _set_list_tab_position_size              */ 
    "fun [ObjListTab] I",                       /* _destroy_list_tab                        */ 
    "fun [ObjListTab I] ObjListTab",            /* _del_list_tab_item                       */ 
    "fun [ObjListTab ObjBitmapList] ObjListTab",/* _set_list_tab_bitmaps                    */ 
    "fun [ObjListTab I BitmapIndex]ObjListTab", /* _set_list_tab_bitmap                     */ 
    "fun [ObjListTab fun[ObjListTab u0 I I] I u0] ObjListTab" ,
                                                /* _reflex_listtab_sort                     */ 
    "fun [ObjListTab] ObjListTab",              /* _sort_list_tab                           */ 
    "fun [ObjListTab I I] ObjListTab",          /* _set_list_tab_sort_param                 */ 
    "fun [ObjListTab fun[ObjListTab u0 I]u1 u0]ObjListTab",
                                                /* _reflex_list_tab_select_column           */ 
    "fun [ObjListTab fun[ObjListTab u0 I I] u1 u0] ObjListTab",
                                                /* reflex_list_tab_double_click             */ 
    "fun [ObjListTab fun[ObjListTab u0 I] u1 u0] ObjListTab",
                                                /* reflex_list_tab_select                   */ 

    "fun [ObjListTab] ObjListTab",              /* _reset_list_tab                          */ 
    "fun [ObjListTab] I",                       /* _get_list_tab_count                      */ 
    "fun [ObjListTab I] ObjListTab",            /* _enable_list_tab                         */ 

};

#define NARG_CREATE_LISTTAB             7
#define NARG_ADD_LISTTAB_COLUMN         5
#define NARG_REM_LISTTAB_COLUMN         2
#define NARG_ADD_LISTTAB_ITEM           4
#define NARG_SET_LISTTAB_ITEM           4
#define NARG_GET_LISTTAB_SPOS           1
#define NARG_SET_LISTTAB_SPOS           5
#define NARG_GET_LISTTAB_PSIZE          1
#define NARG_SET_LISTTAB_PSIZE          5
#define NARG_DESTROY_LISTTAB            1
#define NARG_DEL_LISTTAB_ITEM           2
#define NARG_SET_LISTTAB_BITMAPS        2
#define NARG_SET_LISTTAB_BITMAP         3
#define NARG_REFLEX_LISTTAB             3
#define NARG_SORT_LISTTAB               1
#define NARG_SET_LISTTAB_SORT_PARAM     3
#define NARG_RESET_LISTTAB              1
#define NARG_GETCOUNT_LISTTAB           1


int ListTabPkgArg [ LISTTABPKGSIZE ] = {
    NARG_CREATE_LISTTAB , NARG_ADD_LISTTAB_COLUMN , NARG_REM_LISTTAB_COLUMN ,NARG_ADD_LISTTAB_ITEM ,
    NARG_SET_LISTTAB_ITEM ,NARG_GET_LISTTAB_SPOS , NARG_SET_LISTTAB_SPOS , NARG_GET_LISTTAB_PSIZE ,
    NARG_SET_LISTTAB_PSIZE , NARG_DESTROY_LISTTAB , NARG_DEL_LISTTAB_ITEM , NARG_SET_LISTTAB_BITMAPS ,
    NARG_SET_LISTTAB_BITMAP , NARG_REFLEX_LISTTAB , NARG_SORT_LISTTAB , NARG_SET_LISTTAB_SORT_PARAM ,
    NARG_REFLEX_LISTTAB , NARG_REFLEX_LISTTAB , NARG_REFLEX_LISTTAB , NARG_RESET_LISTTAB ,
    NARG_GETCOUNT_LISTTAB,NARG_ENABLE_WINDOW,
} ;

int (* ListTabPkgFun [ LISTTABPKGSIZE ]) ( mmachine m ) = {
    GRCreateListTab , GRAddListTabColumn , GRRemoveListTabColumn ,GRAddListTabItem ,
    GRSetListTabItem , GRGetSizePositionWindow, GRResizeWindow, GRGetPositionSizeWindow,
    GRReposWindow, GRDestroyListTab ,GRDeleteListTabItem , GRSetListTabBitmaps ,
    GRSetListTabBitmap , GRReflexListTabSort , GRSortListTab , GRSetListTabSortParam ,
    GRReflexListTabColumn, GRReflexListTabDClick , GRReflexListTabSelect , GRResetListTab ,
    GRGetCountListTab ,GREnableWindow,
} ;

#endif
