/****************************************************************************************/
/*                                                                                      */
/*              load_tree.h                                                             */
/*                                                                                      */
/****************************************************************************************/

#ifndef _LOAD_TREE_H_
#define _LOAD_TREE_H_



#include "objects/tree.h"


/****************************************************************************************************/
/*                                                                                                  */
/*  Package sur les arbres Windows                                                                  */
/*                                                                                                  */
/****************************************************************************************************/


//$BB Added : _CBtreeKeyUp and _CBtreeKeyDown
#define WTREEPKGSIZE 26

char * WtreePkgName [ WTREEPKGSIZE ]  = {
    "_CRtree" , "_ADDtreeChild" , "_SETtreeBitmaps" , "_SETtreeItemBitmap" ,
    "_GETtreeChild" , "_GETtreeBrother", "_SETtreeItemLabel" , "_SETtreeItemState" ,
    "_GETtreeItemState" , "_CBtreeExpand" , "_CBtreeSelect" , "_CBtreeDrag" ,
    "_DStree" , "_DStreeItem", "_GETtreeSizePosition", "_SIZEtree",
    "_GETtreePositionSize" , "_POSITIONtree","_CBtreeRClick","_CBtreeUnclick",
    "_CBtreeDClick" , "_ENtree" ,"_SELtreeItem","_SELlistTabItem",
    "_CBtreeKeyDown", "_CBtreeKeyUp"
    
} ;

char * WtreePkgType [ WTREEPKGSIZE ] = {
    "fun [ Chn ObjWin I I I I I ] ObjTree",         /* _create_tree                                 */ 
    "fun [ ObjTree ObjTreeItem I S ] ObjTreeItem",  /* _add_tree_child                              */ 
    "fun [ ObjTree ObjBitmapList ] ObjTree",        /* _set_tree_bitmap                             */ 
    "fun [ ObjTree ObjTreeItem BitmapIndex BitmapIndex] ObjTree", /*set_tree_item_bitmap            */ 
    "fun [ ObjTree ObjTreeItem ] ObjTreeItem" ,     /* _get_first_child                             */ 
    "fun [ ObjTree ObjTreeItem ] ObjTreeItem" ,     /* _get_tree_brother                            */ 
    "fun [ ObjTree ObjTreeItem S ] ObjTree" ,       /* _set_tree_item_label                         */ 
    "fun [ ObjTree ObjTreeItem I ] ObjTree",        /* _set_tree_item_state                         */ 
    "fun [ ObjTree ObjTreeItem ] I",                /* _get_tree_item_state                         */ 
    "fun [ ObjTree fun [ObjTree u0 ObjTreeItem I]u1 u0] ObjTree",/*_set_callback_tree_expand        */ 
    "fun [ ObjTree fun [ObjTree u0 ObjTreeItem]u1 u0]ObjTree", /* _reflex_tree_select               */ 
    "fun [ObjTree fun [ObjTree u0 ObjTreeItem ObjTreeItem] u1 u0]ObjTree", 
                                                    /* reflex_tree_darg_and_drop                    */ 
    "fun [ObjTree] I",                              /* _destroy_tree                                */ 
    "fun [ObjTree ObjTreeItem] ObjTree"     ,       /* _destroy_tree_item                           */ 
    "fun [ObjTree] [I I I I]",                      /* _get_tree_size_position                      */ 
    "fun [ObjTree I I I I] ObjTree" ,               /* _set_tree_size_position                      */ 
    "fun [ObjTree] [I I I I]" ,                     /* _get_tree_position_size                      */ 
    "fun [ObjTree I I I I] ObjTree",                  /* _set_tree_position_size                      */ 
    "fun [ObjTree fun[ObjTree u0 ObjTreeItem I I I] u1 u0] ObjTree",
                                                    /* _reflex_tree_click                           */ 
    "fun [ObjTree fun[ObjTree u0 I I I] u1 u0 ] ObjTree",
                                                    /* _reflex_tree_unclick                         */ 

    "fun [ObjTree fun[ObjTree u0 ObjTreeItem I I] u1 u0] ObjTree",
                                                    /* _reflex_tree_double_click                    */ 
    "fun [ObjTree I] ObjTree" ,                     /* _enable_tree                                 */                                                        
  	"fun [ObjTree ObjTreeItem] ObjTree",
	"fun [ObjListTab I] ObjListTab",
	"fun [ObjTree fun [ ObjTree u0 I I] u1 u0] ObjTree",      /* _CBtreeKeyDown          */ 
	"fun [ObjTree fun [ ObjTree u0 I] u1 u0] ObjTree"        /* _CBtreeKeyUp            */ 

};

#define NARG_CREATE_TREE            7
#define NARG_ADD_TREE_CHILD         4
#define NARG_SET_TREE_BITMAPS       2
#define NARG_SET_TREE_ITEM_BITMAP   4
#define NARG_GET_TREE_CHILD         2
#define NARG_GET_TREE_BROTHER       2
#define NARG_SET_TREE_ITEM_LABEL    3
#define NARG_SET_TREE_ITEM_STATE    3
#define NARG_GET_TREE_ITEM_STATE    2
#define NARG_CB_TREE_EXPAND         3
#define NARG_CB_TREE_SELECT         3
#define NARG_CB_TREE_DRAG           3
#define NARG_DESTROY_TREE           1
#define NARG_DESTROY_TREE_ITEM      2
#define NARG_TREE_GET_SIZE_POSITION 1
#define NARG_TREE_SET_SIZE_POSITION 5
#define NARG_TREE_GET_POSITION_SIZE 1
#define NARG_TREE_SET_POSITION_SIZE 5
#define NARG_TREE_REFLEX_CLICK      3
#define NARG_TREE_REFLEX_UNCLICK    3
#define NARG_TREE_REFLEX_DCLICK     3
#define NARG_TREE_REFLEX_KEYDOWN    3
#define NARG_TREE_REFLEX_KEYUP      3


int WtreePkgArg [ WTREEPKGSIZE ] = {
    NARG_CREATE_TREE , NARG_ADD_TREE_CHILD , NARG_SET_TREE_BITMAPS ,NARG_SET_TREE_ITEM_BITMAP ,
    NARG_GET_TREE_CHILD , NARG_GET_TREE_BROTHER , NARG_SET_TREE_ITEM_LABEL ,NARG_SET_TREE_ITEM_STATE ,
    NARG_GET_TREE_ITEM_STATE ,NARG_CB_TREE_EXPAND , NARG_CB_TREE_SELECT , NARG_CB_TREE_DRAG ,
    NARG_DESTROY_TREE , NARG_DESTROY_TREE_ITEM , NARG_TREE_GET_SIZE_POSITION,NARG_TREE_SET_SIZE_POSITION,
    NARG_TREE_GET_POSITION_SIZE,NARG_TREE_SET_POSITION_SIZE,NARG_TREE_REFLEX_CLICK,NARG_TREE_REFLEX_UNCLICK,
    NARG_TREE_REFLEX_DCLICK, NARG_ENABLE_WINDOW , 2, 2, NARG_TREE_REFLEX_KEYDOWN, NARG_TREE_REFLEX_KEYUP
} ;

int ( * WtreePkgFun [ WTREEPKGSIZE ]) (mmachine m) = {
    GRCreateTree , GRAddTreeChild , GRSetTreeBitmap ,GRSetTreeItemBitmap ,
    GRGetTreeChild , GRGetTreeBrother , GRSetTreeItemLabel, GRSetTreeItemState ,
    GRGetTreeItemState , GRReflexTreeExpand , GRReflexTreeSelect , GRReflexTreeDrag ,
    GRDestroyTree, GRDestroyTreeItem ,GRGetSizePositionWindow, GRResizeWindow,
    GRGetPositionSizeWindow,GRReposWindow,GRReflexTreeClick,GRReflexTreeUnclick,
    GRReflexTreeDClick ,GREnableWindow,	_SELtreeItem,_SELlistTabItem, GRReflexTreeKeyDown, GRReflexTreeKeyUp
} ;


#endif
