## ETreeMemoryCallbacks

ETreeMemoryCallbacks

## Synopsis

    struct              ETreeMemoryCallbacks;
    ETreeModel *        e_tree_memory_callbacks_new         (ETreeMemoryCallbacksIconAtFn icon_at,
                                                             ETreeMemoryCallbacksColumnCountFn column_count,
                                                             ETreeMemoryCallbacksHasSaveIdFn has_save_id,
                                                             ETreeMemoryCallbacksGetSaveIdFn get_save_id,
                                                             ETreeMemoryCallbacksHasGetNodeByIdFn has_get_node_by_id,
                                                             ETreeMemoryCallbacksGetNodeByIdFn get_node_by_id,
                                                             ETreeMemoryCallbacksValueAtFn sort_value_at,
                                                             ETreeMemoryCallbacksValueAtFn value_at,
                                                             ETreeMemoryCallbacksSetValueAtFn set_value_at,
                                                             ETreeMemoryCallbacksIsEditableFn is_editable,
                                                             ETreeMemoryCallbacksDuplicateValueFn duplicate_value,
                                                             ETreeMemoryCallbacksFreeValueFn free_value,
                                                             ETreeMemoryCallbacksInitializeValueFn initialize_value,
                                                             ETreeMemoryCallbacksValueIsEmptyFn value_is_empty,
                                                             ETreeMemoryCallbacksValueToStringFn value_to_string,
                                                             gpointer model_data);

## Description

## Details

### struct ETreeMemoryCallbacks

    struct ETreeMemoryCallbacks {
    	ETreeMemory parent;

    	ETreeMemoryCallbacksIconAtFn icon_at;

    	ETreeMemoryCallbacksColumnCountFn     column_count;

    	ETreeMemoryCallbacksHasSaveIdFn       has_save_id;
    	ETreeMemoryCallbacksGetSaveIdFn       get_save_id;

    	ETreeMemoryCallbacksHasGetNodeByIdFn  has_get_node_by_id;
    	ETreeMemoryCallbacksGetNodeByIdFn     get_node_by_id;

    	ETreeMemoryCallbacksValueAtFn         sort_value_at;
    	ETreeMemoryCallbacksValueAtFn         value_at;
    	ETreeMemoryCallbacksSetValueAtFn      set_value_at;
    	ETreeMemoryCallbacksIsEditableFn      is_editable;

    	ETreeMemoryCallbacksDuplicateValueFn  duplicate_value;
    	ETreeMemoryCallbacksFreeValueFn       free_value;
    	ETreeMemoryCallbacksInitializeValueFn initialize_value;
    	ETreeMemoryCallbacksValueIsEmptyFn    value_is_empty;
    	ETreeMemoryCallbacksValueToStringFn   value_to_string;

    	gpointer model_data;
    };

### e_tree_memory_callbacks_new ()

    ETreeModel *        e_tree_memory_callbacks_new         (ETreeMemoryCallbacksIconAtFn icon_at,
                                                             ETreeMemoryCallbacksColumnCountFn column_count,
                                                             ETreeMemoryCallbacksHasSaveIdFn has_save_id,
                                                             ETreeMemoryCallbacksGetSaveIdFn get_save_id,
                                                             ETreeMemoryCallbacksHasGetNodeByIdFn has_get_node_by_id,
                                                             ETreeMemoryCallbacksGetNodeByIdFn get_node_by_id,
                                                             ETreeMemoryCallbacksValueAtFn sort_value_at,
                                                             ETreeMemoryCallbacksValueAtFn value_at,
                                                             ETreeMemoryCallbacksSetValueAtFn set_value_at,
                                                             ETreeMemoryCallbacksIsEditableFn is_editable,
                                                             ETreeMemoryCallbacksDuplicateValueFn duplicate_value,
                                                             ETreeMemoryCallbacksFreeValueFn free_value,
                                                             ETreeMemoryCallbacksInitializeValueFn initialize_value,
                                                             ETreeMemoryCallbacksValueIsEmptyFn value_is_empty,
                                                             ETreeMemoryCallbacksValueToStringFn value_to_string,
                                                             gpointer model_data);

This initializes a new ETreeMemoryCallbacksModel object. ETreeMemoryCallbacksModel is an implementaiton of the somewhat abstract class ETreeMemory. The ETreeMemoryCallbacksModel is designed to allow people to easily create ETreeMemorys without having to create a new GType derived from ETreeMemory every time they need one.

Instead, ETreeMemoryCallbacksModel uses a setup based in callback functions, every callback function signature mimics the signature of each ETreeModel method and passes the extra `data` pointer to each one of the method to provide them with any context they might want to use.

ETreeMemoryCallbacks is to ETreeMemory as ETableSimple is to ETableModel.

Returns : | An ETreeMemoryCallbacks object (which is also an ETreeMemory and thus an ETreeModel object).