# ETableSimple

## Name

ETableSimple --

## Synopsis

    typedef     ETableSimple;
    #define     E_TABLE_SIMPLE_TYPE
    int         (*ETableSimpleColumnCountFn)    (ETableModel *etm,
                                                 void *data);
    int         (*ETableSimpleRowCountFn)       (ETableModel *etm,
                                                 void *data);
    void*       (*ETableSimpleValueAtFn)        (ETableModel *etm,
                                                 int col,
                                                 int row,
                                                 void *data);
    void        (*ETableSimpleSetValueAtFn)     (ETableModel *etm,
                                                 int col,
                                                 int row,
                                                 const void *val,
                                                 void *data);
    gboolean    (*ETableSimpleIsCellEditableFn) (ETableModel *etm,
                                                 int col,
                                                 int row,
                                                 void *data);
    void        (*ETableSimpleAppendRowFn)      (ETableModel *etm,
                                                 ETableModel *model,
                                                 int row,
                                                 void *data);
    void*       (*ETableSimpleDuplicateValueFn) (ETableModel *etm,
                                                 int col,
                                                 const void *val,
                                                 void *data);
    void        (*ETableSimpleFreeValueFn)      (ETableModel *etm,
                                                 int col,
                                                 void *val,
                                                 void *data);
    void*       (*ETableSimpleInitializeValueFn)
                                                (ETableModel *etm,
                                                 int col,
                                                 void *data);
    gboolean    (*ETableSimpleValueIsEmptyFn)   (ETableModel *etm,
                                                 int col,
                                                 const void *val,
                                                 void *data);
    char*       (*ETableSimpleValueToStringFn)  (ETableModel *etm,
                                                 int col,
                                                 const void *val,
                                                 void *data);
    ETableModel* e_table_simple_new             (ETableSimpleColumnCountFn col_count,
                                                 ETableSimpleRowCountFn row_count,
                                                 ETableSimpleValueAtFn value_at,
                                                 ETableSimpleSetValueAtFn set_value_at,
                                                 ETableSimpleIsCellEditableFn is_cell_editable,
                                                 ETableSimpleDuplicateValueFn duplicate_value,
                                                 ETableSimpleFreeValueFn free_value,
                                                 ETableSimpleInitializeValueFn initialize_value,
                                                 ETableSimpleValueIsEmptyFn value_is_empty,
                                                 ETableSimpleValueToStringFn value_to_string,
                                                 void *data);

## Object Hierarchy

      GtkObject
       +----ETableModel
             +----ETableSimple

## Properties

      "append-row"           gpointer              : Read / Write

## Description

## Details

### ETableSimple

    typedef struct {
    	ETableModel parent;

    	ETableSimpleColumnCountFn     col_count;
    	ETableSimpleRowCountFn        row_count;
    	ETableSimpleValueAtFn         value_at;
    	ETableSimpleSetValueAtFn      set_value_at;
    	ETableSimpleIsCellEditableFn  is_cell_editable;
    	ETableSimpleDuplicateValueFn  duplicate_value;
    	ETableSimpleFreeValueFn       free_value;
    	ETableSimpleInitializeValueFn initialize_value;
    	ETableSimpleValueIsEmptyFn    value_is_empty;
    	ETableSimpleValueToStringFn   value_to_string;
    	ETableSimpleAppendRowFn       append_row;
    	void *data;
    } ETableSimple;

### E_TABLE_SIMPLE_TYPE

    #define E_TABLE_SIMPLE_TYPE        (e_table_simple_get_type ())

### ETableSimpleColumnCountFn ()

    int         (*ETableSimpleColumnCountFn)    (ETableModel *etm,
                                                 void *data);

`etm` : |
`data` : |
Returns : |

### ETableSimpleRowCountFn ()

    int         (*ETableSimpleRowCountFn)       (ETableModel *etm,
                                                 void *data);

`etm` : |
`data` : |
Returns : |

### ETableSimpleValueAtFn ()

    void*       (*ETableSimpleValueAtFn)        (ETableModel *etm,
                                                 int col,
                                                 int row,
                                                 void *data);

`etm` : |
`col` : |
`row` : |
`data` : |

### ETableSimpleSetValueAtFn ()

    void        (*ETableSimpleSetValueAtFn)     (ETableModel *etm,
                                                 int col,
                                                 int row,
                                                 const void *val,
                                                 void *data);

`etm` : |
`col` : |
`row` : |
`val` : |
`data` : |

### ETableSimpleIsCellEditableFn ()

    gboolean    (*ETableSimpleIsCellEditableFn) (ETableModel *etm,
                                                 int col,
                                                 int row,
                                                 void *data);

`etm` : |
`col` : |
`row` : |
`data` : |
Returns : |

### ETableSimpleAppendRowFn ()

    void        (*ETableSimpleAppendRowFn)      (ETableModel *etm,
                                                 ETableModel *model,
                                                 int row,
                                                 void *data);

`etm` : |
`model` : |
`row` : |
`data` : |

### ETableSimpleDuplicateValueFn ()

    void*       (*ETableSimpleDuplicateValueFn) (ETableModel *etm,
                                                 int col,
                                                 const void *val,
                                                 void *data);

`etm` : |
`col` : |
`val` : |
`data` : |

### ETableSimpleFreeValueFn ()

    void        (*ETableSimpleFreeValueFn)      (ETableModel *etm,
                                                 int col,
                                                 void *val,
                                                 void *data);

`etm` : |
`col` : |
`val` : |
`data` : |

### ETableSimpleInitializeValueFn ()

    void*       (*ETableSimpleInitializeValueFn)
                                                (ETableModel *etm,
                                                 int col,
                                                 void *data);

`etm` : |
`col` : |
`data` : |

### ETableSimpleValueIsEmptyFn ()

    gboolean    (*ETableSimpleValueIsEmptyFn)   (ETableModel *etm,
                                                 int col,
                                                 const void *val,
                                                 void *data);

`etm` : |
`col` : |
`val` : |
`data` : |
Returns : |

### ETableSimpleValueToStringFn ()

    char*       (*ETableSimpleValueToStringFn)  (ETableModel *etm,
                                                 int col,
                                                 const void *val,
                                                 void *data);

`etm` : |
`col` : |
`val` : |
`data` : |
Returns : |

### e_table_simple_new ()

    ETableModel* e_table_simple_new             (ETableSimpleColumnCountFn col_count,
                                                 ETableSimpleRowCountFn row_count,
                                                 ETableSimpleValueAtFn value_at,
                                                 ETableSimpleSetValueAtFn set_value_at,
                                                 ETableSimpleIsCellEditableFn is_cell_editable,
                                                 ETableSimpleDuplicateValueFn duplicate_value,
                                                 ETableSimpleFreeValueFn free_value,
                                                 ETableSimpleInitializeValueFn initialize_value,
                                                 ETableSimpleValueIsEmptyFn value_is_empty,
                                                 ETableSimpleValueToStringFn value_to_string,
                                                 void *data);

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

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

`col_count` : |
`row_count` : |
`value_at` : |
`set_value_at` : |
`is_cell_editable` : |
`duplicate_value` : |
`free_value` : |
`initialize_value` : |
`value_is_empty` : |
`value_to_string` : |
`data` : | closure pointer.
Returns : | An ETableSimpleModel object (which is also an ETableModel object).

## Properties

### The "`append-row`" property

      "append-row"           gpointer              : Read / Write