# ETreeSimple

## Name

ETreeSimple --

## Synopsis

    #define     E_TREE_SIMPLE_TYPE
    typedef     ETreeSimple;
    GdkPixbuf*  (*ETreeSimpleIconAtFn)          (ETreeModel *etree,
                                                 ETreePath *path,
                                                 void *model_data);
    void*       (*ETreeSimpleValueAtFn)         (ETreeModel *etree,
                                                 ETreePath *path,
                                                 int col,
                                                 void *model_data);
    void        (*ETreeSimpleSetValueAtFn)      (ETreeModel *etree,
                                                 ETreePath *path,
                                                 int col,
                                                 const void *val,
                                                 void *model_data);
    gboolean    (*ETreeSimpleIsEditableFn)      (ETreeModel *etree,
                                                 ETreePath *path,
                                                 int col,
                                                 void *model_data);
    ETreeModel* e_tree_simple_new               (ETableSimpleColumnCountFn col_count,
                                                 ETableSimpleDuplicateValueFn duplicate_value,
                                                 ETableSimpleFreeValueFn free_value,
                                                 ETableSimpleInitializeValueFn initialize_value,
                                                 ETableSimpleValueIsEmptyFn value_is_empty,
                                                 ETableSimpleValueToStringFn value_to_string,
                                                 ETreeSimpleIconAtFn icon_at,
                                                 ETreeSimpleValueAtFn value_at,
                                                 ETreeSimpleSetValueAtFn set_value_at,
                                                 ETreeSimpleIsEditableFn is_editable,
                                                 gpointer model_data);

## Object Hierarchy

      GtkObject
       +----ETableModel
             +----ETreeModel
                   +----ETreeSimple

## Description

## Details

### E_TREE_SIMPLE_TYPE

    #define E_TREE_SIMPLE_TYPE        (e_tree_simple_get_type ())

### ETreeSimple

    typedef struct {
    	ETreeModel parent;

    	/* Table methods */
    	ETableSimpleColumnCountFn     col_count;
    	ETableSimpleDuplicateValueFn  duplicate_value;
    	ETableSimpleFreeValueFn       free_value;
    	ETableSimpleInitializeValueFn initialize_value;
    	ETableSimpleValueIsEmptyFn    value_is_empty;
    	ETableSimpleValueToStringFn   value_to_string;

    	/* Tree methods */
    	ETreeSimpleIconAtFn icon_at;
    	ETreeSimpleValueAtFn value_at;
    	ETreeSimpleSetValueAtFn set_value_at;
    	ETreeSimpleIsEditableFn is_editable;

    	gpointer model_data;
    } ETreeSimple;

### ETreeSimpleIconAtFn ()

    GdkPixbuf*  (*ETreeSimpleIconAtFn)          (ETreeModel *etree,
                                                 ETreePath *path,
                                                 void *model_data);

`etree` : |
`path` : |
`model_data` : |
Returns : |

### ETreeSimpleValueAtFn ()

    void*       (*ETreeSimpleValueAtFn)         (ETreeModel *etree,
                                                 ETreePath *path,
                                                 int col,
                                                 void *model_data);

`etree` : |
`path` : |
`col` : |
`model_data` : |

### ETreeSimpleSetValueAtFn ()

    void        (*ETreeSimpleSetValueAtFn)      (ETreeModel *etree,
                                                 ETreePath *path,
                                                 int col,
                                                 const void *val,
                                                 void *model_data);

`etree` : |
`path` : |
`col` : |
`val` : |
`model_data` : |

### ETreeSimpleIsEditableFn ()

    gboolean    (*ETreeSimpleIsEditableFn)      (ETreeModel *etree,
                                                 ETreePath *path,
                                                 int col,
                                                 void *model_data);

`etree` : |
`path` : |
`col` : |
`model_data` : |
Returns : |

### e_tree_simple_new ()

    ETreeModel* e_tree_simple_new               (ETableSimpleColumnCountFn col_count,
                                                 ETableSimpleDuplicateValueFn duplicate_value,
                                                 ETableSimpleFreeValueFn free_value,
                                                 ETableSimpleInitializeValueFn initialize_value,
                                                 ETableSimpleValueIsEmptyFn value_is_empty,
                                                 ETableSimpleValueToStringFn value_to_string,
                                                 ETreeSimpleIconAtFn icon_at,
                                                 ETreeSimpleValueAtFn value_at,
                                                 ETreeSimpleSetValueAtFn set_value_at,
                                                 ETreeSimpleIsEditableFn is_editable,
                                                 gpointer model_data);

This initializes a new ETreeSimpleModel object. ETreeSimpleModel is an implementaiton of the abstract class ETreeModel. The ETreeSimpleModel is designed to allow people to easily create ETreeModels without having to create a new GtkType derived from ETreeModel every time they need one.

Instead, ETreeSimpleModel 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.

ETreeSimple is to ETreeModel as ETableSimple is to ETableModel.

`col_count` : |
`duplicate_value` : |
`free_value` : |
`initialize_value` : |
`value_is_empty` : |
`value_to_string` : |
`icon_at` : |
`value_at` : |
`set_value_at` : |
`is_editable` : |
`model_data` : |
Returns : | An ETreeSimple object (which is also an ETreeModel object).