## ESelectionModel ESelectionModel |

## Functions

void | e_selection_model_do_something ()
gboolean | e_selection_model_maybe_do_something ()
void | e_selection_model_right_click_down ()
void | e_selection_model_right_click_up ()
gboolean | e_selection_model_key_press ()
void | e_selection_model_select_as_key_press ()
gboolean | e_selection_model_is_row_selected ()
void | e_selection_model_foreach ()
void | e_selection_model_clear ()
gint | e_selection_model_selected_count ()
void | e_selection_model_select_all ()
gint | e_selection_model_row_count ()
void | e_selection_model_change_one_row ()
void | e_selection_model_change_cursor ()
gint | e_selection_model_cursor_row ()
gint | e_selection_model_cursor_col ()
void | e_selection_model_select_single_row ()
void | e_selection_model_toggle_single_row ()
void | e_selection_model_move_selection_end ()
void | e_selection_model_set_selection_end ()
void | e_selection_model_cursor_changed ()
void | e_selection_model_cursor_activated ()
void | e_selection_model_selection_row_changed ()
void | e_selection_model_selection_changed ()

## Properties

gint | cursor-mode | Read / Write
gint | selection-mode | Read / Write
ESorter * | sorter | Read / Write

## Signals

void | cursor-activated | Run Last
void | cursor-changed | Run Last
void | selection-changed | Run Last
void | selection-row-changed | Run Last

## Types and Values

enum | ECursorMode
struct | ESelectionModel

## Object Hierarchy

        GObject
        ╰── ESelectionModel
            ├── ESelectionModelArray
            ╰── ETreeSelectionModel

## Description

## Functions

### e_selection_model_do_something ()

    void
    e_selection_model_do_something (ESelectionModel *model,
                                    guint row,
                                    guint col,
                                    GdkModifierType state);

This routine does whatever is appropriate as if the user clicked the mouse in the given row and column.

#### Parameters

model | ESelectionModel to do something to. |
row | The row to do something in. |
col | The col to do something in. |
state | The state in which to do something. |

### e_selection_model_maybe_do_something ()

    gboolean
    e_selection_model_maybe_do_something (ESelectionModel *model,
                                          guint row,
                                          guint col,
                                          GdkModifierType state);

If this row is selected, this routine just moves the cursor row and column. Otherwise, it does the same thing as `e_selection_model_do_something()`. This is for being used on right clicks and other events where if the user hit the selection, they don't want it to change.

#### Parameters

model | ESelectionModel to do something to. |
row | The row to do something in. |
col | The col to do something in. |
state | The state in which to do something. |

### e_selection_model_right_click_down ()

    void
    e_selection_model_right_click_down (ESelectionModel *model,
                                        guint row,
                                        guint col,
                                        GdkModifierType state);

### e_selection_model_right_click_up ()

    void
    e_selection_model_right_click_up (ESelectionModel *model);

### e_selection_model_key_press ()

    gboolean
    e_selection_model_key_press (ESelectionModel *model,
                                 GdkEventKey *key);

This routine does whatever is appropriate as if the user pressed the given key.

#### Parameters

model | ESelectionModel to affect. |
key | The event. |

#### Returns

`TRUE` if the ESelectionModel used the key.

### e_selection_model_select_as_key_press ()

    void
    e_selection_model_select_as_key_press (ESelectionModel *model,
                                           guint row,
                                           guint col,
                                           GdkModifierType state);

### e_selection_model_is_row_selected ()

    gboolean
    e_selection_model_is_row_selected (ESelectionModel *model,
                                       gint n);

This routine calculates whether the given row is selected.

#### Parameters

model | ESelectionModel to check |
n | The row to check |

#### Returns

`TRUE` if the given row is selected

### e_selection_model_foreach ()

    void
    e_selection_model_foreach (ESelectionModel *model,
                               EForeachFunc callback,
                               gpointer closure);

This routine calls the given callback function once for each selected row, passing closure as the closure.

#### Parameters

model | ESelectionModel to traverse |
callback | The callback function to call back. |
closure | The closure |

### e_selection_model_clear ()

    void
    e_selection_model_clear (ESelectionModel *model);

This routine clears the selection to no rows selected.

#### Parameters

model | ESelectionModel to clear |

### e_selection_model_selected_count ()

    gint
    e_selection_model_selected_count (ESelectionModel *model);

This routine calculates the number of rows selected.

#### Parameters

model | ESelectionModel to count |

#### Returns

The number of rows selected in the given model.

### e_selection_model_select_all ()

    void
    e_selection_model_select_all (ESelectionModel *model);

This routine selects all the rows in the given ESelectionModel.

#### Parameters

model | ESelectionModel to select all |

### e_selection_model_row_count ()

    gint
    e_selection_model_row_count (ESelectionModel *model);

### e_selection_model_change_one_row ()

    void
    e_selection_model_change_one_row (ESelectionModel *model,
                                      gint row,
                                      gboolean on);

### e_selection_model_change_cursor ()

    void
    e_selection_model_change_cursor (ESelectionModel *model,
                                     gint row,
                                     gint col);

### e_selection_model_cursor_row ()

    gint
    e_selection_model_cursor_row (ESelectionModel *model);

### e_selection_model_cursor_col ()

    gint
    e_selection_model_cursor_col (ESelectionModel *model);

### e_selection_model_select_single_row ()

    void
    e_selection_model_select_single_row (ESelectionModel *model,
                                         gint row);

### e_selection_model_toggle_single_row ()

    void
    e_selection_model_toggle_single_row (ESelectionModel *model,
                                         gint row);

### e_selection_model_move_selection_end ()

    void
    e_selection_model_move_selection_end (ESelectionModel *model,
                                          gint row);

### e_selection_model_set_selection_end ()

    void
    e_selection_model_set_selection_end (ESelectionModel *model,
                                         gint row);

### e_selection_model_cursor_changed ()

    void
    e_selection_model_cursor_changed (ESelectionModel *model,
                                      gint row,
                                      gint col);

### e_selection_model_cursor_activated ()

    void
    e_selection_model_cursor_activated (ESelectionModel *model,
                                        gint row,
                                        gint col);

### e_selection_model_selection_row_changed ()

    void
    e_selection_model_selection_row_changed
                                   (ESelectionModel *model,
                                    gint row);

### e_selection_model_selection_changed ()

    void
    e_selection_model_selection_changed (ESelectionModel *model);

## Types and Values

### enum ECursorMode

#### Members

E_CURSOR_LINE |  |
E_CURSOR_SIMPLE |  |
E_CURSOR_SPREADSHEET |  |

### struct ESelectionModel

    struct ESelectionModel;

## Property Details

### The `“cursor-mode”` property

      “cursor-mode”              gint

Flags: Read / Write

Allowed values: [0,2]

Default value: 0

### The `“selection-mode”` property

      “selection-mode”           gint

Flags: Read / Write

Allowed values: [0,3]

Default value: 1

### The `“sorter”` property

      “sorter”                   ESorter *

Flags: Read / Write

## Signal Details

### The `“cursor-activated”` signal

    void
    user_function (ESelectionModel *eselectionmodel,
                   gint             arg1,
                   gint             arg2,
                   gpointer         user_data)

Flags: Run Last

### The `“cursor-changed”` signal

    void
    user_function (ESelectionModel *eselectionmodel,
                   gint             arg1,
                   gint             arg2,
                   gpointer         user_data)

Flags: Run Last

### The `“selection-changed”` signal

    void
    user_function (ESelectionModel *eselectionmodel,
                   gpointer         user_data)

Flags: Run Last

### The `“selection-row-changed”` signal

    void
    user_function (ESelectionModel *eselectionmodel,
                   gint             arg1,
                   gpointer         user_data)

Flags: Run Last