/****************************************************************************************/
/*                                                                                      */
/*              load_listbox.h                                                          */
/*                                                                                      */
/****************************************************************************************/

#ifndef _LOAD_LISTBOX_H_
#define _LOAD_LISTBOX_H_


#include "objects/listbox.h"



/***********************************************************************************************/
/*                                                                                             */
/*      Declaration des fonctions du package list box                                          */
/*                                                                                             */
/***********************************************************************************************/

#define LISTBOXPKGSIZE 23

char * listboxpkgname [ LISTBOXPKGSIZE ] = {

    "_CRlist" , "_ADDlist" , "_DELlist" , "_SDELlist" ,
    "_SELlist" , "_SSELlist" , "_POSlist" , "_CBlistClick" ,
    "_CBlistDclick" , "_DSlist" , "_GETlistSizePosition" , "_SIZElist" ,
    "_GETlistCount" , "_PAINTlist" , "_SETlistColumn" , "_GETlist",
    "_RSTlist", "_GETlistPositionSize" , "_POSITIONlist" , "_SHOWlist",
    "_GETlistMSel", "_CBlistDropFile", "_ENlist",
    
} ;

char * listboxpkgtype [LISTBOXPKGSIZE ] = {

    "fun [ Chn ObjWin I I I I I ] ObjList"              , /* _create_list_box                       */ 
    "fun [ ObjList I S ] ObjList"                       , /* _add_list_item                         */ 
    "fun [ ObjList I ] ObjList"                         , /* _del_list_item                         */ 
    "fun [ ObjList S ] ObjList"                         , /* _del_list_string                       */ 
    "fun [ ObjList I ] ObjList"                         , /* _select_list_item                      */ 
    "fun [ ObjList S ] ObjList"                         , /* _select_list_string                    */ 
    "fun [ ObjList S ] I"                               , /* _get_list_item_position                */ 
    "fun [ ObjList fun [ObjList u0 I S]u1 u0] ObjList"  , /* _reflex_list_click                     */ 
    "fun [ ObjList fun [ObjList u0 I S]u1 u0] ObjList"  , /* _reflex_list_double_click              */ 
    "fun [ ObjList ] I"                                 , /* _destroy_list                          */ 
    "fun [ ObjList ] [ I I I I ]"                       , /*_get_list_size_position                 */ 
    "fun [ObjList I I I I ] ObjList"                    , /* _resize_list_box                       */ 
    "fun [ObjList] I"                                   , /*_get_list_count                         */ 
    "fun [ObjList] ObjList"                             , /* _paint_obj_list                        */ 
    "fun [ObjList I] ObjList"                           , /*_set_list_column                        */   
    "fun [ObjList] [I S]"                               , /*_get_selection                          */ 
    "fun [ObjList] ObjList"                             , /* _reset_list                            */ 
    "fun [ObjList] [I I I I]"                           , /* _get_list_position_size                */ 
    "fun [ObjList I I I I ] ObjList"                    , /* _position_list                         */ 
    "fun [ObjList I] ObjList"                           , /* _show_list                             */ 
    "fun [ObjList  ] [[I S] r1]"                        , /* get_list_selection_multiple            */ 
    "fun [ObjList fun[ObjList u0 I I [P r1]] u1 u0] ObjList",
                                                          /* _reflex_list_drop_file                 */ 
    "fun [ObjList I] ObjList"                           , /*_enable_list                            */ 

} ;

#define NARG_CREATE_LIST_BOX                7
#define NARG_ADD_LIST_ITEM                  3
#define NARG_DEL_LIST_ITEM                  2
#define NARG_DEL_LIST_STRING                2
#define NARG_SELECT_LIST_ITEM               2
#define NARG_SELECT_LIST_STRING             2
#define NARG_GET_LIST_POSITION              2
#define NARG_REFLEX_LIST_CLICK              3
#define NARG_REFLEX_LIST_DCLICK             3
#define NARG_DESTROY_LIST                   1
#define NARG_LIST_SIZE_POSITION             1
#define NARG_SIZE_LIST_BOX                  5
#define NARG_GET_LIST_COUNT                 1
#define NARG_PAINT_LIST                     1
#define NARG_SET_LIST_COLUMN                2
#define NARG_GET_LIST_SELECTION             1
#define NARG_RESET_LIST                     1
#define NARG_SHOW_LIST                      2
#define NARG_GET_LIST_MSELECTION            1
#define NARG_REFLEX_LIST_DROPFILE           3

int listboxpkgarg [LISTBOXPKGSIZE ] = {

    NARG_CREATE_LIST_BOX , NARG_ADD_LIST_ITEM , NARG_DEL_LIST_ITEM , NARG_DEL_LIST_STRING ,
    NARG_SELECT_LIST_ITEM , NARG_SELECT_LIST_STRING , NARG_GET_LIST_POSITION , NARG_REFLEX_LIST_CLICK ,
    NARG_REFLEX_LIST_DCLICK , NARG_DESTROY_LIST , NARG_LIST_SIZE_POSITION , NARG_SIZE_LIST_BOX ,
    NARG_GET_LIST_COUNT , NARG_PAINT_LIST , NARG_SET_LIST_COLUMN , NARG_GET_LIST_SELECTION ,
    NARG_RESET_LIST , NARG_GET_SIZE_POSITION_WINDOW , NARG_RESIZE_WINDOW , NARG_SHOW_LIST ,
    NARG_GET_LIST_MSELECTION ,NARG_REFLEX_LIST_DROPFILE ,NARG_ENABLE_WINDOW ,
} ;

int (* listboxpkgfun [ LISTBOXPKGSIZE ] ) ( mmachine m ) = {

    GRCreateListBox , GRAddListItem , GRDelListItem ,  GRDelListString ,
    GRSelectListItem , GRSelectListString , GRGetListPosition , GRReflexListClick ,
    GRReflexListDClick , GRDestroyList , GRGetSizePositionWindow , GRResizeWindow ,
    GRGetListCount , GRPaintObjList , GRSetListColumn , GRGetListSelection ,
    GRResetList , GRGetPositionSizeWindow , GRReposWindow , GRShowWindow ,
    GRGetListMultipleSelection,GRReflexListDropFile,GREnableWindow ,
} ;


#endif
