## EContentEditor EContentEditor |

## Functions

void | (*EContentEditorInitializedCallback) ()
ESpellChecker * | e_content_editor_ref_spell_checker ()
gboolean | e_content_editor_supports_mode ()
void | e_content_editor_grab_focus ()
gboolean | e_content_editor_is_focus ()
gboolean | e_content_editor_is_malfunction ()
gboolean | e_content_editor_can_cut ()
gboolean | e_content_editor_can_copy ()
gboolean | e_content_editor_can_paste ()
gboolean | e_content_editor_can_undo ()
gboolean | e_content_editor_can_redo ()
gint | e_content_editor_indent_level ()
gboolean | e_content_editor_get_spell_check_enabled ()
void | e_content_editor_set_spell_check_enabled ()
gboolean | e_content_editor_is_editable ()
void | e_content_editor_set_editable ()
gboolean | e_content_editor_get_changed ()
void | e_content_editor_set_changed ()
void | e_content_editor_set_alignment ()
EContentEditorAlignment | e_content_editor_get_alignment ()
void | e_content_editor_set_background_color ()
GdkRGBA * | e_content_editor_dup_background_color ()
void | e_content_editor_set_font_color ()
GdkRGBA * | e_content_editor_dup_font_color ()
void | e_content_editor_set_font_name ()
gchar * | e_content_editor_dup_font_name ()
void | e_content_editor_set_font_size ()
gint | e_content_editor_get_font_size ()
void | e_content_editor_set_block_format ()
EContentEditorBlockFormat | e_content_editor_get_block_format ()
void | e_content_editor_set_bold ()
gboolean | e_content_editor_is_bold ()
void | e_content_editor_set_italic ()
gboolean | e_content_editor_is_italic ()
void | e_content_editor_set_strikethrough ()
gboolean | e_content_editor_is_strikethrough ()
void | e_content_editor_set_subscript ()
gboolean | e_content_editor_is_subscript ()
void | e_content_editor_set_superscript ()
gboolean | e_content_editor_is_superscript ()
void | e_content_editor_set_underline ()
gboolean | e_content_editor_is_underline ()
void | e_content_editor_set_start_bottom ()
EThreeState | e_content_editor_get_start_bottom ()
void | e_content_editor_set_top_signature ()
EThreeState | e_content_editor_get_top_signature ()
void | e_content_editor_set_visually_wrap_long_lines ()
gboolean | e_content_editor_get_visually_wrap_long_lines ()
void | e_content_editor_initialize ()
void | e_content_editor_setup_editor ()
void | e_content_editor_update_styles ()
void | e_content_editor_insert_content ()
void | e_content_editor_get_content ()
EContentEditorContentHash * | e_content_editor_get_content_finish ()
EContentEditorContentHash * | e_content_editor_util_new_content_hash ()
void | e_content_editor_util_free_content_hash ()
void | e_content_editor_util_put_content_data ()
void | e_content_editor_util_take_content_data ()
void | e_content_editor_util_take_content_data_images ()
gpointer | e_content_editor_util_get_content_data ()
gpointer | e_content_editor_util_steal_content_data ()
CamelMimePart * | e_content_editor_util_create_data_mimepart ()
void | e_content_editor_insert_image ()
void | e_content_editor_insert_emoticon ()
void | e_content_editor_move_caret_on_coordinates ()
void | e_content_editor_cut ()
void | e_content_editor_copy ()
void | e_content_editor_paste ()
void | e_content_editor_paste_primary ()
void | e_content_editor_undo ()
void | e_content_editor_redo ()
void | e_content_editor_clear_undo_redo_history ()
void | e_content_editor_set_spell_checking_languages ()
void | e_content_editor_select_all ()
gchar * | e_content_editor_get_caret_word ()
void | e_content_editor_replace_caret_word ()
void | e_content_editor_selection_indent ()
void | e_content_editor_selection_unindent ()
void | e_content_editor_selection_unlink ()
void | e_content_editor_find ()
void | e_content_editor_replace ()
void | e_content_editor_replace_all ()
void | e_content_editor_selection_save ()
void | e_content_editor_selection_restore ()
void | e_content_editor_selection_wrap ()
gchar * | e_content_editor_get_current_signature_uid ()
gboolean | e_content_editor_is_ready ()
GError * | e_content_editor_dup_last_error ()
void | e_content_editor_take_last_error ()
gchar * | e_content_editor_insert_signature ()
void | e_content_editor_delete_cell_contents ()
void | e_content_editor_delete_column ()
void | e_content_editor_delete_row ()
void | e_content_editor_delete_table ()
void | e_content_editor_insert_column_after ()
void | e_content_editor_insert_column_before ()
void | e_content_editor_insert_row_above ()
void | e_content_editor_insert_row_below ()
void | e_content_editor_on_dialog_open ()
void | e_content_editor_on_dialog_close ()
void | e_content_editor_h_rule_set_align ()
gchar * | e_content_editor_h_rule_get_align ()
void | e_content_editor_h_rule_set_size ()
gint | e_content_editor_h_rule_get_size ()
void | e_content_editor_h_rule_set_width ()
gint | e_content_editor_h_rule_get_width ()
void | e_content_editor_h_rule_set_no_shade ()
gboolean | e_content_editor_h_rule_get_no_shade ()
void | e_content_editor_image_set_src ()
gchar * | e_content_editor_image_get_src ()
void | e_content_editor_image_set_alt ()
gchar * | e_content_editor_image_get_alt ()
void | e_content_editor_image_set_url ()
gchar * | e_content_editor_image_get_url ()
void | e_content_editor_image_set_vspace ()
gint | e_content_editor_image_get_vspace ()
void | e_content_editor_image_set_hspace ()
gint | e_content_editor_image_get_hspace ()
void | e_content_editor_image_set_border ()
gint | e_content_editor_image_get_border ()
void | e_content_editor_image_set_align ()
gchar * | e_content_editor_image_get_align ()
void | e_content_editor_image_set_width ()
gint32 | e_content_editor_image_get_width ()
gint32 | e_content_editor_image_get_natural_width ()
void | e_content_editor_image_set_width_follow ()
void | e_content_editor_image_set_height ()
gint32 | e_content_editor_image_get_height ()
gint32 | e_content_editor_image_get_natural_height ()
void | e_content_editor_image_set_height_follow ()
void | e_content_editor_link_get_properties ()
void | e_content_editor_link_set_properties ()
void | e_content_editor_page_set_text_color ()
void | e_content_editor_page_get_text_color ()
void | e_content_editor_page_set_background_color ()
void | e_content_editor_page_get_background_color ()
void | e_content_editor_page_set_link_color ()
void | e_content_editor_page_get_link_color ()
void | e_content_editor_page_set_visited_link_color ()
void | e_content_editor_page_get_visited_link_color ()
void | e_content_editor_page_set_font_name ()
const gchar * | e_content_editor_page_get_font_name ()
void | e_content_editor_page_set_background_image_uri ()
gchar * | e_content_editor_page_get_background_image_uri ()
void | e_content_editor_cell_set_v_align ()
gchar * | e_content_editor_cell_get_v_align ()
void | e_content_editor_cell_set_align ()
gchar * | e_content_editor_cell_get_align ()
void | e_content_editor_cell_set_wrap ()
gboolean | e_content_editor_cell_get_wrap ()
void | e_content_editor_cell_set_header_style ()
gboolean | e_content_editor_cell_is_header ()
void | e_content_editor_cell_set_width ()
gint | e_content_editor_cell_get_width ()
void | e_content_editor_cell_set_row_span ()
gint | e_content_editor_cell_get_row_span ()
void | e_content_editor_cell_set_col_span ()
gint | e_content_editor_cell_get_col_span ()
void | e_content_editor_cell_set_background_image_uri ()
gchar * | e_content_editor_cell_get_background_image_uri ()
void | e_content_editor_cell_set_background_color ()
void | e_content_editor_cell_get_background_color ()
void | e_content_editor_table_set_row_count ()
guint | e_content_editor_table_get_row_count ()
void | e_content_editor_table_set_column_count ()
guint | e_content_editor_table_get_column_count ()
void | e_content_editor_table_set_width ()
guint | e_content_editor_table_get_width ()
void | e_content_editor_table_set_align ()
gchar * | e_content_editor_table_get_align ()
void | e_content_editor_table_set_padding ()
gint | e_content_editor_table_get_padding ()
void | e_content_editor_table_set_spacing ()
gint | e_content_editor_table_get_spacing ()
void | e_content_editor_table_set_border ()
gint | e_content_editor_table_get_border ()
gchar * | e_content_editor_table_get_background_image_uri ()
void | e_content_editor_table_set_background_image_uri ()
void | e_content_editor_table_get_background_color ()
void | e_content_editor_table_set_background_color ()
gchar * | e_content_editor_spell_check_next_word ()
gchar * | e_content_editor_spell_check_prev_word ()
void | e_content_editor_spell_check_replace_all ()
void | e_content_editor_delete_h_rule ()
void | e_content_editor_delete_image ()
const gchar * | e_content_editor_get_hover_uri ()
void | e_content_editor_get_caret_client_rect ()
gdouble | e_content_editor_get_zoom_level ()
void | e_content_editor_set_zoom_level ()
void | e_content_editor_emit_load_finished ()
gboolean | e_content_editor_emit_paste_clipboard ()
gboolean | e_content_editor_emit_paste_primary_clipboard ()
void | e_content_editor_emit_context_menu_requested ()
void | e_content_editor_emit_find_done ()
void | e_content_editor_emit_replace_all_done ()
void | e_content_editor_emit_drop_handled ()
void | e_content_editor_emit_content_changed ()
CamelMimePart * | e_content_editor_emit_ref_mime_part ()
gboolean | e_content_editor_util_three_state_to_bool ()

## Properties

EContentEditorAlignment | alignment | Read / Write
GdkRGBA * | background-color | Read / Write
EContentEditorBlockFormat | block-format | Read / Write
gboolean | bold | Read / Write
gboolean | can-copy | Read
gboolean | can-cut | Read
gboolean | can-paste | Read
gboolean | can-redo | Read
gboolean | can-undo | Read
gboolean | changed | Read / Write
gboolean | editable | Read / Write
GdkRGBA * | font-color | Read / Write
char * | font-name | Read / Write
int | font-size | Read / Write
int | indent-level | Read
gboolean | is-malfunction | Read
gboolean | italic | Read / Write
GError * | last-error | Read / Write
EContentEditorMode | mode | Read / Write
gboolean | spell-check-enabled | Read / Write
ESpellChecker * | spell-checker | Read
EThreeState | start-bottom | Read / Write
gboolean | strikethrough | Read / Write
gboolean | subscript | Read / Write
gboolean | superscript | Read / Write
EThreeState | top-signature | Read / Write
gboolean | underline | Read / Write
gboolean | visually-wrap-long-lines | Read / Write

## Signals

void | content-changed | Run Last
void | context-menu-requested | Run Last
void | drop-handled | Run Last
void | find-done | Run Last
void | load-finished | Run Last
gboolean | paste-clipboard | Run Last
gboolean | paste-primary-clipboard | Run Last
CamelMimePart* | ref-mime-part | Action
void | replace-all-done | Run Last

## Types and Values

#define | DEFAULT_CONTENT_EDITOR_NAME
#define | E_CONTENT_EDITOR_DIALOG_HRULE
#define | E_CONTENT_EDITOR_DIALOG_IMAGE
#define | E_CONTENT_EDITOR_DIALOG_LINK
#define | E_CONTENT_EDITOR_DIALOG_PAGE
#define | E_CONTENT_EDITOR_DIALOG_CELL
#define | E_CONTENT_EDITOR_DIALOG_TABLE
#define | E_CONTENT_EDITOR_DIALOG_SPELLCHECK
#define | E_CONTENT_EDITOR_DIALOG_FIND
#define | E_CONTENT_EDITOR_DIALOG_REPLACE
#define | E_TYPE_CONTENT_EDITOR
typedef | EContentEditorContentHash
struct | EContentEditorInterface
| EContentEditor

## Object Hierarchy

        GInterface
        ╰── EContentEditor

## Prerequisites

EContentEditor requires GtkWidget.

## Description

## Functions

### EContentEditorInitializedCallback ()

    void
    (*EContentEditorInitializedCallback) (EContentEditor *content_editor,
                                          gpointer user_data);

### e_content_editor_ref_spell_checker ()

    ESpellChecker *
    e_content_editor_ref_spell_checker (EContentEditor *editor);

### e_content_editor_supports_mode ()

    gboolean
    e_content_editor_supports_mode (EContentEditor *editor,
                                    EContentEditorMode mode);

#### Parameters

editor | an EContentEditor |
mode | an EContentEditorMode to check |

#### Returns

whether the `editor` supports `mode`

Since: 3.44

### e_content_editor_grab_focus ()

    void
    e_content_editor_grab_focus (EContentEditor *editor);

A method to grab focus on the `editor` . This is an optional method, the default implementation calls `gtk_widget_grab_focus()`.

#### Parameters

editor | an EContentEditor |

Since: 3.44

### e_content_editor_is_focus ()

    gboolean
    e_content_editor_is_focus (EContentEditor *editor);

Returns, whether the `editor` is focused. This is an optional method, the default implementation calls `gtk_widget_is_focus()`.

#### Parameters

editor | an EContentEditor |

#### Returns

whether the `editor` is focused

Since: 3.44

### e_content_editor_is_malfunction ()

    gboolean
    e_content_editor_is_malfunction (EContentEditor *editor);

### e_content_editor_can_cut ()

    gboolean
    e_content_editor_can_cut (EContentEditor *editor);

### e_content_editor_can_copy ()

    gboolean
    e_content_editor_can_copy (EContentEditor *editor);

### e_content_editor_can_paste ()

    gboolean
    e_content_editor_can_paste (EContentEditor *editor);

### e_content_editor_can_undo ()

    gboolean
    e_content_editor_can_undo (EContentEditor *editor);

### e_content_editor_can_redo ()

    gboolean
    e_content_editor_can_redo (EContentEditor *editor);

### e_content_editor_indent_level ()

    gint
    e_content_editor_indent_level (EContentEditor *editor);

Returns the indent level for the current selection/caret position. This does not include citations.

#### Parameters

editor | an EContentEditor |

#### Returns

the indent level.

Since: 3.38

### e_content_editor_get_spell_check_enabled ()

    gboolean
    e_content_editor_get_spell_check_enabled
                                   (EContentEditor *editor);

### e_content_editor_set_spell_check_enabled ()

    void
    e_content_editor_set_spell_check_enabled
                                   (EContentEditor *editor,
                                    gboolean enable);

### e_content_editor_is_editable ()

    gboolean
    e_content_editor_is_editable (EContentEditor *editor);

### e_content_editor_set_editable ()

    void
    e_content_editor_set_editable (EContentEditor *editor,
                                   gboolean editable);

### e_content_editor_get_changed ()

    gboolean
    e_content_editor_get_changed (EContentEditor *editor);

### e_content_editor_set_changed ()

    void
    e_content_editor_set_changed (EContentEditor *editor,
                                  gboolean changed);

### e_content_editor_set_alignment ()

    void
    e_content_editor_set_alignment (EContentEditor *editor,
                                    EContentEditorAlignment value);

Sets alignment of current paragraph to `value` .

#### Parameters

editor | an EContentEditor |
value | an EContentEditorAlignment value to apply |

Since: 3.22

### e_content_editor_get_alignment ()

    EContentEditorAlignment
    e_content_editor_get_alignment (EContentEditor *editor);

Returns alignment of the current paragraph.

#### Parameters

editor | an EContentEditor |

#### Returns

EContentEditorAlignment

Since: 3.22

### e_content_editor_set_background_color ()

    void
    e_content_editor_set_background_color (EContentEditor *editor,
                                           const GdkRGBA *value);

Sets the background color of the current selection or letter at the current cursor position to a color defined by `value` .

#### Parameters

editor | an EContentEditor |
value | a GdkRGBA |

Since: 3.22

### e_content_editor_dup_background_color ()

    GdkRGBA *
    e_content_editor_dup_background_color (EContentEditor *editor);

Returns the background color used in the current selection or at letter at the current cursor position.

#### Parameters

editor | an EContentEditor |

#### Returns

A newly allocated GdkRGBA structure with the current background color. Free the returned value with `gdk_rgba_free()` when done with it.

[transfer-full]

Since: 3.22

### e_content_editor_set_font_color ()

    void
    e_content_editor_set_font_color (EContentEditor *editor,
                                     const GdkRGBA *value);

Sets the font color of the current selection or letter at the current cursor position to a color defined by `value` .

#### Parameters

editor | an EContentEditor |
value | a GdkRGBA |

Since: 3.22

### e_content_editor_dup_font_color ()

    GdkRGBA *
    e_content_editor_dup_font_color (EContentEditor *editor);

Returns the font color used in the current selection or at letter at the current cursor position.

#### Parameters

editor | an EContentEditor |

#### Returns

A newly allocated GdkRGBA structure with the current font color. Free the returned value with `gdk_rgba_free()` when done with it.

[transfer-full]

Since: 3.22

### e_content_editor_set_font_name ()

    void
    e_content_editor_set_font_name (EContentEditor *editor,
                                    const gchar *value);

Sets font name of current selection or of letter at current cursor position to `value` .

#### Parameters

editor | an EContentEditor |
value | a font name to apply |

Since: 3.22

### e_content_editor_dup_font_name ()

    gchar *
    e_content_editor_dup_font_name (EContentEditor *editor);

Returns a name of the font used in the current selection or at letter at the current cursor position.

#### Parameters

editor | an EContentEditor |

#### Returns

A newly allocated string with the font name. Free it with `g_free()` when done with it.

[transfer-full]

Since: 3.22

### e_content_editor_set_font_size ()

    void
    e_content_editor_set_font_size (EContentEditor *editor,
                                    gint value);

Sets font size of current selection or of letter at current cursor position to `value` .

#### Parameters

editor | an EContentEditor |
value | font size to apply |

Since: 3.22

### e_content_editor_get_font_size ()

    gint
    e_content_editor_get_font_size (EContentEditor *editor);

Returns fotn size of the current selection or letter at the current cursor position.

#### Parameters

editor | an EContentEditor |

#### Returns

Current font size.

Since: 3.22

### e_content_editor_set_block_format ()

    void
    e_content_editor_set_block_format (EContentEditor *editor,
                                       EContentEditorBlockFormat value);

Changes block format of the current paragraph to `value` .

#### Parameters

editor | an EContentEditor |
value | an EContentEditorBlockFormat value |

Since: 3.22

### e_content_editor_get_block_format ()

    EContentEditorBlockFormat
    e_content_editor_get_block_format (EContentEditor *editor);

Returns block format of the current paragraph.

#### Parameters

editor | an EContentEditor |

#### Returns

EContentEditorBlockFormat

Since: 3.22

### e_content_editor_set_bold ()

    void
    e_content_editor_set_bold (EContentEditor *editor,
                               gboolean bold);

Changes bold formatting of current selection or letter at current cursor position.

#### Parameters

editor | an EContentEditor |
bold | `TRUE` to enable bold, `FALSE` to disable |

Since: 3.22

### e_content_editor_is_bold ()

    gboolean
    e_content_editor_is_bold (EContentEditor *editor);

Returns whether current selection or letter at current cursor position is bold.

#### Parameters

editor | an EContentEditor |

#### Returns

`TRUE` when selection is bold, `FALSE` otherwise.

Since: 3.22

### e_content_editor_set_italic ()

    void
    e_content_editor_set_italic (EContentEditor *editor,
                                 gboolean italic);

Changes italic formatting of current selection or letter at current cursor position.

#### Parameters

editor | an EContentEditor |
italic | `TRUE` to enable italic, `FALSE` to disable |

Since: 3.22

### e_content_editor_is_italic ()

    gboolean
    e_content_editor_is_italic (EContentEditor *editor);

Returns whether current selection or letter at current cursor position is italic.

#### Parameters

editor | an EContentEditor |

#### Returns

`TRUE` when selection is italic, `FALSE` otherwise.

Since: 3.22

### e_content_editor_set_strikethrough ()

    void
    e_content_editor_set_strikethrough (EContentEditor *editor,
                                        gboolean strikethrough);

Changes strike through formatting of current selection or letter at current cursor position.

#### Parameters

editor | an EContentEditor |
strikethrough | `TRUE` to enable strikethrough, `FALSE` to disable |

Since: 3.22

### e_content_editor_is_strikethrough ()

    gboolean
    e_content_editor_is_strikethrough (EContentEditor *editor);

Returns whether current selection or letter at current cursor position is striked through.

#### Parameters

editor | an EContentEditor |

#### Returns

`TRUE` when selection is striked through, `FALSE` otherwise.

Since: 3.22

### e_content_editor_set_subscript ()

    void
    e_content_editor_set_subscript (EContentEditor *editor,
                                    gboolean subscript);

Changes subscript of current selection or letter at current cursor position.

#### Parameters

editor | an EContentEditor |
subscript | `TRUE` to enable subscript, `FALSE` to disable |

Since: 3.22

### e_content_editor_is_subscript ()

    gboolean
    e_content_editor_is_subscript (EContentEditor *editor);

Returns whether current selection or letter at current cursor position is in subscript.

#### Parameters

editor | an EContentEditor |

#### Returns

`TRUE` when selection is in subscript, `FALSE` otherwise.

Since: 3.22

### e_content_editor_set_superscript ()

    void
    e_content_editor_set_superscript (EContentEditor *editor,
                                      gboolean superscript);

Changes superscript of the current selection or letter at current cursor position.

#### Parameters

editor | an EContentEditor |
superscript | `TRUE` to enable superscript, `FALSE` to disable |

Since: 3.22

### e_content_editor_is_superscript ()

    gboolean
    e_content_editor_is_superscript (EContentEditor *editor);

Returns whether current selection or letter at current cursor position is in superscript.

#### Parameters

editor | an EContentEditor |

#### Returns

`TRUE` when selection is in superscript, `FALSE` otherwise.

Since: 3.22

### e_content_editor_set_underline ()

    void
    e_content_editor_set_underline (EContentEditor *editor,
                                    gboolean underline);

Changes underline formatting of current selection or letter at current cursor position.

#### Parameters

editor | an EContentEditor |
underline | `TRUE` to enable underline, `FALSE` to disable |

Since: 3.22

### e_content_editor_is_underline ()

    gboolean
    e_content_editor_is_underline (EContentEditor *editor);

Returns whether current selection or letter at current cursor position is underlined.

#### Parameters

editor | an EContentEditor |

#### Returns

`TRUE` when selection is underlined, `FALSE` otherwise.

Since: 3.22

### e_content_editor_set_start_bottom ()

    void
    e_content_editor_set_start_bottom (EContentEditor *editor,
                                       EThreeState value);

Changes start-bottom property, which is used to position cursor after setting message body in replies and forwards.

#### Parameters

editor | an EContentEditor |
value | an EThreeState value to set |

Since: 3.26

### e_content_editor_get_start_bottom ()

    EThreeState
    e_content_editor_get_start_bottom (EContentEditor *editor);

#### Parameters

editor | an EContentEditor |

#### Returns

the current value of start-bottom property.

Since: 3.26

### e_content_editor_set_top_signature ()

    void
    e_content_editor_set_top_signature (EContentEditor *editor,
                                        EThreeState value);

Changes top-signature property, which is used to position signature after setting message body in replies and forwards.

#### Parameters

editor | an EContentEditor |
value | an EThreeState value to set |

Since: 3.26

### e_content_editor_get_top_signature ()

    EThreeState
    e_content_editor_get_top_signature (EContentEditor *editor);

#### Parameters

editor | an EContentEditor |

#### Returns

the current value of top-signature property.

Since: 3.26

### e_content_editor_set_visually_wrap_long_lines ()

    void
    e_content_editor_set_visually_wrap_long_lines
                                   (EContentEditor *editor,
                                    gboolean value);

Sets whether to visually wrap long preformatted lines.

#### Parameters

editor | an EContactEditor |
value | value to set |

Since: 3.28

### e_content_editor_get_visually_wrap_long_lines ()

    gboolean
    e_content_editor_get_visually_wrap_long_lines
                                   (EContentEditor *editor);

#### Parameters

editor | an EContactEditor |

#### Returns

Whether visually wraps long preformatted lines.

Since: 3.28

### e_content_editor_initialize ()

    void
    e_content_editor_initialize (EContentEditor *content_editor,
                                 EContentEditorInitializedCallback callback,
                                 gpointer user_data);

Initilizes the `content_editor` . Once the initialization is done, the `callback` is called with the passed `user_data` .

#### Parameters

content_editor | an EContentEditor |
callback | an EContentEditorInitializedCallback function |
user_data | data to pass to `callback` |

Since: 3.22

### e_content_editor_setup_editor ()

    void
    e_content_editor_setup_editor (EContentEditor *content_editor,
                                   struct _EHTMLEditor *html_editor);

Called the first time the `content_editor` is picked to be used within the `html_editor` . This is typically used to modify the UI of the `html_editor` . This method implementation is optional.

#### Parameters

content_editor | an EContentEditor |
html_editor | an EHTMLEditor |

Since: 3.22

### e_content_editor_update_styles ()

    void
    e_content_editor_update_styles (EContentEditor *editor);

### e_content_editor_insert_content ()

    void
    e_content_editor_insert_content (EContentEditor *editor,
                                     const gchar *content,
                                     EContentEditorInsertContentFlags flags);

### e_content_editor_get_content ()

    void
    e_content_editor_get_content (EContentEditor *editor,
                                  guint32 flags,
                                  const gchar *inline_images_from_domain,
                                  GCancellable *cancellable,
                                  GAsyncReadyCallback callback,
                                  gpointer user_data);

### e_content_editor_get_content_finish ()

    EContentEditorContentHash *
    e_content_editor_get_content_finish (EContentEditor *editor,
                                         GAsyncResult *result,
                                         GError **error);

### e_content_editor_util_new_content_hash ()

    EContentEditorContentHash *
    e_content_editor_util_new_content_hash
                                   (void);

### e_content_editor_util_free_content_hash ()

    void
    e_content_editor_util_free_content_hash
                                   (EContentEditorContentHash *content_hash);

### e_content_editor_util_put_content_data ()

    void
    e_content_editor_util_put_content_data
                                   (EContentEditorContentHash *content_hash,
                                    EContentEditorGetContentFlags flag,
                                    const gchar *data);

### e_content_editor_util_take_content_data ()

    void
    e_content_editor_util_take_content_data
                                   (EContentEditorContentHash *content_hash,
                                    EContentEditorGetContentFlags flag,
                                    gpointer data,
                                    GDestroyNotify destroy_data);

### e_content_editor_util_take_content_data_images ()

    void
    e_content_editor_util_take_content_data_images
                                   (EContentEditorContentHash *content_hash,
                                    GSList *image_parts);

### e_content_editor_util_get_content_data ()

    gpointer
    e_content_editor_util_get_content_data
                                   (EContentEditorContentHash *content_hash,
                                    EContentEditorGetContentFlags flag);

### e_content_editor_util_steal_content_data ()

    gpointer
    e_content_editor_util_steal_content_data
                                   (EContentEditorContentHash *content_hash,
                                    EContentEditorGetContentFlags flag,
                                    GDestroyNotify *out_destroy_data);

### e_content_editor_util_create_data_mimepart ()

    CamelMimePart *
    e_content_editor_util_create_data_mimepart
                                   (const gchar *uri,
                                    const gchar *cid,
                                    gboolean as_inline,
                                    const gchar *prefer_filename,
                                    const gchar *prefer_mime_type,
                                    GCancellable *cancellable);

Converts URI into a CamelMimePart. Supports file:// and data: URIs. The `prefer_filename` can override the file name from the `uri` .

Free the returned pointer, if not `NULL`, with `g_object_unref()`, when no longer needed.

#### Parameters

uri | a file:// or data: URI of the data to convert to MIME part |
cid | content ID to use for the MIME part, should start with "cid:"; can be `NULL` |
as_inline | whether to use "inline" content disposition; will use "attachment", if set to `FALSE` |
prefer_filename | preferred file name to use, can be `NULL` |
prefer_mime_type | preferred MIME type for the part, can be `NULL` |
cancellable | optional GCancellable object, or `NULL` |

#### Returns

a new CamelMimePart containing the referenced data, or `NULL`, when cannot be converted (due to unsupported URI, file not found or such).

[transfer full][nullable]

Since: 3.38

### e_content_editor_insert_image ()

    void
    e_content_editor_insert_image (EContentEditor *editor,
                                   const gchar *uri);

Inserts image at current cursor position using `uri` as source. When a text range is selected, it will be replaced by the image.

#### Parameters

editor | an EContentEditor |
uri | an URI of the source image |

Since: 3.22

### e_content_editor_insert_emoticon ()

    void
    e_content_editor_insert_emoticon (EContentEditor *editor,
                                      const EEmoticon *emoticon);

### e_content_editor_move_caret_on_coordinates ()

    void
    e_content_editor_move_caret_on_coordinates
                                   (EContentEditor *editor,
                                    gint x,
                                    gint y,
                                    gboolean cancel_if_not_collapsed);

### e_content_editor_cut ()

    void
    e_content_editor_cut (EContentEditor *editor);

### e_content_editor_copy ()

    void
    e_content_editor_copy (EContentEditor *editor);

### e_content_editor_paste ()

    void
    e_content_editor_paste (EContentEditor *editor);

### e_content_editor_paste_primary ()

    void
    e_content_editor_paste_primary (EContentEditor *editor);

### e_content_editor_undo ()

    void
    e_content_editor_undo (EContentEditor *editor);

### e_content_editor_redo ()

    void
    e_content_editor_redo (EContentEditor *editor);

### e_content_editor_clear_undo_redo_history ()

    void
    e_content_editor_clear_undo_redo_history
                                   (EContentEditor *editor);

### e_content_editor_set_spell_checking_languages ()

    void
    e_content_editor_set_spell_checking_languages
                                   (EContentEditor *editor,
                                    const gchar **languages);

### e_content_editor_select_all ()

    void
    e_content_editor_select_all (EContentEditor *editor);

### e_content_editor_get_caret_word ()

    gchar *
    e_content_editor_get_caret_word (EContentEditor *editor);

Returns word under cursor.

#### Parameters

editor | an EContentEditor |

#### Returns

A newly allocated string with current caret word or `NULL` when there is no text under cursor or when selection is active.

[transfer-full]

Since: 3.22

### e_content_editor_replace_caret_word ()

    void
    e_content_editor_replace_caret_word (EContentEditor *editor,
                                         const gchar *replacement);

Replaces current word under cursor with `replacement` .

#### Parameters

editor | an EContentEditor |
replacement | a string to replace current caret word with |

Since: 3.22

### e_content_editor_selection_indent ()

    void
    e_content_editor_selection_indent (EContentEditor *editor);

### e_content_editor_selection_unindent ()

    void
    e_content_editor_selection_unindent (EContentEditor *editor);

### e_content_editor_selection_unlink ()

    void
    e_content_editor_selection_unlink (EContentEditor *editor);

Removes any links (<A> elements) from current selection or at current cursor position.

#### Parameters

editor | an EContentEditor |

Since: 3.22

### e_content_editor_find ()

    void
    e_content_editor_find (EContentEditor *editor,
                           guint32 flags,
                           const gchar *text);

Searches the content of the `editor` for the occurrence of the `text` . The `flags` modify the behaviour of the search. The found text, if any, is supposed to be selected.

Once the search is done, the "find-done" signal should be emitted, by using `e_content_editor_emit_find_done()`.

#### Parameters

editor | an EContentEditor |
flags | a bit-OR of EContentEditorFindFlags flags |
text | a text to find |

Since: 3.22

### e_content_editor_replace ()

    void
    e_content_editor_replace (EContentEditor *editor,
                              const gchar *replacement);

Replaces currently selected text with `replacement` .

#### Parameters

editor | an EContentEditor |
replacement | a string to replace current selection with |

Since: 3.22

### e_content_editor_replace_all ()

    void
    e_content_editor_replace_all (EContentEditor *editor,
                                  guint32 flags,
                                  const gchar *find_text,
                                  const gchar *replace_with);

Searches the content of the `editor` for all the occurrences of the `find_text` and replaces them with the `replace_with` . The `flags` modify the behaviour of the search.

Once the replace is done, the "replace-all-done" signal should be emitted, by using `e_content_editor_emit_replace_all_done()`.

#### Parameters

editor | an EContentEditor |
flags | a bit-OR of EContentEditorFindFlags flags |
find_text | a text to find |
replace_with | a text to replace the found text with |

Since: 3.22

### e_content_editor_selection_save ()

    void
    e_content_editor_selection_save (EContentEditor *editor);

Saves current cursor position or current selection range. The selection can be later restored by calling `e_content_editor_selection_restore()`.

Note that calling `e_content_editor_selection_save()` overwrites previously saved position.

Note that this method inserts special markings into the HTML code that are used to later restore the selection. It can happen that by deleting some segments of the document some of the markings are deleted too. In that case restoring the selection by `e_content_editor_selection_restore()` can fail. Also by moving text segments (Cut & Paste) can result in moving the markings elsewhere, thus `e_content_editor_selection_restore()` will restore the selection incorrectly.

It is recommended to use this method only when you are not planning to make bigger changes to content or structure of the document (formatting changes are usually OK).

#### Parameters

editor | an EContentEditor |

Since: 3.22

### e_content_editor_selection_restore ()

    void
    e_content_editor_selection_restore (EContentEditor *editor);

Restores cursor position or selection range that was saved by `e_content_editor_selection_save()`.

Note that calling this function without calling `e_content_editor_selection_save()` before is a programming error and the behavior is undefined.

#### Parameters

editor | an EContentEditor |

Since: 3.22

### e_content_editor_selection_wrap ()

    void
    e_content_editor_selection_wrap (EContentEditor *editor);

### e_content_editor_get_current_signature_uid ()

    gchar *
    e_content_editor_get_current_signature_uid
                                   (EContentEditor *editor);

### e_content_editor_is_ready ()

    gboolean
    e_content_editor_is_ready (EContentEditor *editor);

### e_content_editor_dup_last_error ()

    GError *
    e_content_editor_dup_last_error (EContentEditor *editor);

### e_content_editor_take_last_error ()

    void
    e_content_editor_take_last_error (EContentEditor *editor,
                                      GError *error);

### e_content_editor_insert_signature ()

    gchar *
    e_content_editor_insert_signature (EContentEditor *editor,
                                       const gchar *content,
                                       EContentEditorMode editor_mode,
                                       gboolean can_reposition_caret,
                                       const gchar *signature_id,
                                       gboolean *set_signature_from_message,
                                       gboolean *check_if_signature_is_changed,
                                       gboolean *ignore_next_signature_change);

### e_content_editor_delete_cell_contents ()

    void
    e_content_editor_delete_cell_contents (EContentEditor *editor);

### e_content_editor_delete_column ()

    void
    e_content_editor_delete_column (EContentEditor *editor);

### e_content_editor_delete_row ()

    void
    e_content_editor_delete_row (EContentEditor *editor);

### e_content_editor_delete_table ()

    void
    e_content_editor_delete_table (EContentEditor *editor);

### e_content_editor_insert_column_after ()

    void
    e_content_editor_insert_column_after (EContentEditor *editor);

### e_content_editor_insert_column_before ()

    void
    e_content_editor_insert_column_before (EContentEditor *editor);

### e_content_editor_insert_row_above ()

    void
    e_content_editor_insert_row_above (EContentEditor *editor);

### e_content_editor_insert_row_below ()

    void
    e_content_editor_insert_row_below (EContentEditor *editor);

### e_content_editor_on_dialog_open ()

    void
    e_content_editor_on_dialog_open (EContentEditor *editor,
                                     const gchar *name);

### e_content_editor_on_dialog_close ()

    void
    e_content_editor_on_dialog_close (EContentEditor *editor,
                                      const gchar *name);

### e_content_editor_h_rule_set_align ()

    void
    e_content_editor_h_rule_set_align (EContentEditor *editor,
                                       const gchar *value);

### e_content_editor_h_rule_get_align ()

    gchar *
    e_content_editor_h_rule_get_align (EContentEditor *editor);

### e_content_editor_h_rule_set_size ()

    void
    e_content_editor_h_rule_set_size (EContentEditor *editor,
                                      gint value);

### e_content_editor_h_rule_get_size ()

    gint
    e_content_editor_h_rule_get_size (EContentEditor *editor);

### e_content_editor_h_rule_set_width ()

    void
    e_content_editor_h_rule_set_width (EContentEditor *editor,
                                       gint value,
                                       EContentEditorUnit unit);

### e_content_editor_h_rule_get_width ()

    gint
    e_content_editor_h_rule_get_width (EContentEditor *editor,
                                       EContentEditorUnit *unit);

### e_content_editor_h_rule_set_no_shade ()

    void
    e_content_editor_h_rule_set_no_shade (EContentEditor *editor,
                                          gboolean value);

### e_content_editor_h_rule_get_no_shade ()

    gboolean
    e_content_editor_h_rule_get_no_shade (EContentEditor *editor);

### e_content_editor_image_set_src ()

    void
    e_content_editor_image_set_src (EContentEditor *editor,
                                    const gchar *value);

### e_content_editor_image_get_src ()

    gchar *
    e_content_editor_image_get_src (EContentEditor *editor);

### e_content_editor_image_set_alt ()

    void
    e_content_editor_image_set_alt (EContentEditor *editor,
                                    const gchar *value);

### e_content_editor_image_get_alt ()

    gchar *
    e_content_editor_image_get_alt (EContentEditor *editor);

### e_content_editor_image_set_url ()

    void
    e_content_editor_image_set_url (EContentEditor *editor,
                                    const gchar *value);

### e_content_editor_image_get_url ()

    gchar *
    e_content_editor_image_get_url (EContentEditor *editor);

### e_content_editor_image_set_vspace ()

    void
    e_content_editor_image_set_vspace (EContentEditor *editor,
                                       gint value);

### e_content_editor_image_get_vspace ()

    gint
    e_content_editor_image_get_vspace (EContentEditor *editor);

### e_content_editor_image_set_hspace ()

    void
    e_content_editor_image_set_hspace (EContentEditor *editor,
                                       gint value);

### e_content_editor_image_get_hspace ()

    gint
    e_content_editor_image_get_hspace (EContentEditor *editor);

### e_content_editor_image_set_border ()

    void
    e_content_editor_image_set_border (EContentEditor *editor,
                                       gint value);

### e_content_editor_image_get_border ()

    gint
    e_content_editor_image_get_border (EContentEditor *editor);

### e_content_editor_image_set_align ()

    void
    e_content_editor_image_set_align (EContentEditor *editor,
                                      const gchar *value);

### e_content_editor_image_get_align ()

    gchar *
    e_content_editor_image_get_align (EContentEditor *editor);

### e_content_editor_image_set_width ()

    void
    e_content_editor_image_set_width (EContentEditor *editor,
                                      gint value);

### e_content_editor_image_get_width ()

    gint32
    e_content_editor_image_get_width (EContentEditor *editor);

### e_content_editor_image_get_natural_width ()

    gint32
    e_content_editor_image_get_natural_width
                                   (EContentEditor *editor);

### e_content_editor_image_set_width_follow ()

    void
    e_content_editor_image_set_width_follow
                                   (EContentEditor *editor,
                                    gboolean value);

### e_content_editor_image_set_height ()

    void
    e_content_editor_image_set_height (EContentEditor *editor,
                                       gint value);

### e_content_editor_image_get_height ()

    gint32
    e_content_editor_image_get_height (EContentEditor *editor);

### e_content_editor_image_get_natural_height ()

    gint32
    e_content_editor_image_get_natural_height
                                   (EContentEditor *editor);

### e_content_editor_image_set_height_follow ()

    void
    e_content_editor_image_set_height_follow
                                   (EContentEditor *editor,
                                    gboolean value);

### e_content_editor_link_get_properties ()

    void
    e_content_editor_link_get_properties (EContentEditor *editor,
                                          gchar **out_href,
                                          gchar **out_text,
                                          gchar **out_name);

### e_content_editor_link_set_properties ()

    void
    e_content_editor_link_set_properties (EContentEditor *editor,
                                          const gchar *href,
                                          const gchar *text,
                                          const gchar *name);

### e_content_editor_page_set_text_color ()

    void
    e_content_editor_page_set_text_color (EContentEditor *editor,
                                          const GdkRGBA *value);

### e_content_editor_page_get_text_color ()

    void
    e_content_editor_page_get_text_color (EContentEditor *editor,
                                          GdkRGBA *value);

### e_content_editor_page_set_background_color ()

    void
    e_content_editor_page_set_background_color
                                   (EContentEditor *editor,
                                    const GdkRGBA *value);

### e_content_editor_page_get_background_color ()

    void
    e_content_editor_page_get_background_color
                                   (EContentEditor *editor,
                                    GdkRGBA *value);

### e_content_editor_page_set_link_color ()

    void
    e_content_editor_page_set_link_color (EContentEditor *editor,
                                          const GdkRGBA *value);

### e_content_editor_page_get_link_color ()

    void
    e_content_editor_page_get_link_color (EContentEditor *editor,
                                          GdkRGBA *value);

### e_content_editor_page_set_visited_link_color ()

    void
    e_content_editor_page_set_visited_link_color
                                   (EContentEditor *editor,
                                    const GdkRGBA *value);

### e_content_editor_page_get_visited_link_color ()

    void
    e_content_editor_page_get_visited_link_color
                                   (EContentEditor *editor,
                                    GdkRGBA *value);

### e_content_editor_page_set_font_name ()

    void
    e_content_editor_page_set_font_name (EContentEditor *editor,
                                         const gchar *value);

### e_content_editor_page_get_font_name ()

    const gchar *
    e_content_editor_page_get_font_name (EContentEditor *editor);

### e_content_editor_page_set_background_image_uri ()

    void
    e_content_editor_page_set_background_image_uri
                                   (EContentEditor *editor,
                                    const gchar *uri);

### e_content_editor_page_get_background_image_uri ()

    gchar *
    e_content_editor_page_get_background_image_uri
                                   (EContentEditor *editor);

### e_content_editor_cell_set_v_align ()

    void
    e_content_editor_cell_set_v_align (EContentEditor *editor,
                                       const gchar *value,
                                       EContentEditorScope scope);

### e_content_editor_cell_get_v_align ()

    gchar *
    e_content_editor_cell_get_v_align (EContentEditor *editor);

### e_content_editor_cell_set_align ()

    void
    e_content_editor_cell_set_align (EContentEditor *editor,
                                     const gchar *value,
                                     EContentEditorScope scope);

### e_content_editor_cell_get_align ()

    gchar *
    e_content_editor_cell_get_align (EContentEditor *editor);

### e_content_editor_cell_set_wrap ()

    void
    e_content_editor_cell_set_wrap (EContentEditor *editor,
                                    gboolean value,
                                    EContentEditorScope scope);

### e_content_editor_cell_get_wrap ()

    gboolean
    e_content_editor_cell_get_wrap (EContentEditor *editor);

### e_content_editor_cell_set_header_style ()

    void
    e_content_editor_cell_set_header_style
                                   (EContentEditor *editor,
                                    gboolean value,
                                    EContentEditorScope scope);

### e_content_editor_cell_is_header ()

    gboolean
    e_content_editor_cell_is_header (EContentEditor *editor);

### e_content_editor_cell_set_width ()

    void
    e_content_editor_cell_set_width (EContentEditor *editor,
                                     gint value,
                                     EContentEditorUnit unit,
                                     EContentEditorScope scope);

### e_content_editor_cell_get_width ()

    gint
    e_content_editor_cell_get_width (EContentEditor *editor,
                                     EContentEditorUnit *unit);

### e_content_editor_cell_set_row_span ()

    void
    e_content_editor_cell_set_row_span (EContentEditor *editor,
                                        gint value,
                                        EContentEditorScope scope);

### e_content_editor_cell_get_row_span ()

    gint
    e_content_editor_cell_get_row_span (EContentEditor *editor);

### e_content_editor_cell_set_col_span ()

    void
    e_content_editor_cell_set_col_span (EContentEditor *editor,
                                        gint value,
                                        EContentEditorScope scope);

### e_content_editor_cell_get_col_span ()

    gint
    e_content_editor_cell_get_col_span (EContentEditor *editor);

### e_content_editor_cell_set_background_image_uri ()

    void
    e_content_editor_cell_set_background_image_uri
                                   (EContentEditor *editor,
                                    const gchar *uri);

### e_content_editor_cell_get_background_image_uri ()

    gchar *
    e_content_editor_cell_get_background_image_uri
                                   (EContentEditor *editor);

### e_content_editor_cell_set_background_color ()

    void
    e_content_editor_cell_set_background_color
                                   (EContentEditor *editor,
                                    const GdkRGBA *value,
                                    EContentEditorScope scope);

### e_content_editor_cell_get_background_color ()

    void
    e_content_editor_cell_get_background_color
                                   (EContentEditor *editor,
                                    GdkRGBA *value);

### e_content_editor_table_set_row_count ()

    void
    e_content_editor_table_set_row_count (EContentEditor *editor,
                                          guint value);

### e_content_editor_table_get_row_count ()

    guint
    e_content_editor_table_get_row_count (EContentEditor *editor);

### e_content_editor_table_set_column_count ()

    void
    e_content_editor_table_set_column_count
                                   (EContentEditor *editor,
                                    guint value);

### e_content_editor_table_get_column_count ()

    guint
    e_content_editor_table_get_column_count
                                   (EContentEditor *editor);

### e_content_editor_table_set_width ()

    void
    e_content_editor_table_set_width (EContentEditor *editor,
                                      gint value,
                                      EContentEditorUnit unit);

### e_content_editor_table_get_width ()

    guint
    e_content_editor_table_get_width (EContentEditor *editor,
                                      EContentEditorUnit *unit);

### e_content_editor_table_set_align ()

    void
    e_content_editor_table_set_align (EContentEditor *editor,
                                      const gchar *value);

### e_content_editor_table_get_align ()

    gchar *
    e_content_editor_table_get_align (EContentEditor *editor);

### e_content_editor_table_set_padding ()

    void
    e_content_editor_table_set_padding (EContentEditor *editor,
                                        gint value);

### e_content_editor_table_get_padding ()

    gint
    e_content_editor_table_get_padding (EContentEditor *editor);

### e_content_editor_table_set_spacing ()

    void
    e_content_editor_table_set_spacing (EContentEditor *editor,
                                        gint value);

### e_content_editor_table_get_spacing ()

    gint
    e_content_editor_table_get_spacing (EContentEditor *editor);

### e_content_editor_table_set_border ()

    void
    e_content_editor_table_set_border (EContentEditor *editor,
                                       gint value);

### e_content_editor_table_get_border ()

    gint
    e_content_editor_table_get_border (EContentEditor *editor);

### e_content_editor_table_get_background_image_uri ()

    gchar *
    e_content_editor_table_get_background_image_uri
                                   (EContentEditor *editor);

### e_content_editor_table_set_background_image_uri ()

    void
    e_content_editor_table_set_background_image_uri
                                   (EContentEditor *editor,
                                    const gchar *uri);

### e_content_editor_table_get_background_color ()

    void
    e_content_editor_table_get_background_color
                                   (EContentEditor *editor,
                                    GdkRGBA *value);

### e_content_editor_table_set_background_color ()

    void
    e_content_editor_table_set_background_color
                                   (EContentEditor *editor,
                                    const GdkRGBA *value);

### e_content_editor_spell_check_next_word ()

    gchar *
    e_content_editor_spell_check_next_word
                                   (EContentEditor *editor,
                                    const gchar *word);

### e_content_editor_spell_check_prev_word ()

    gchar *
    e_content_editor_spell_check_prev_word
                                   (EContentEditor *editor,
                                    const gchar *word);

### e_content_editor_spell_check_replace_all ()

    void
    e_content_editor_spell_check_replace_all
                                   (EContentEditor *editor,
                                    const gchar *word,
                                    const gchar *replacement);

### e_content_editor_delete_h_rule ()

    void
    e_content_editor_delete_h_rule (EContentEditor *editor);

### e_content_editor_delete_image ()

    void
    e_content_editor_delete_image (EContentEditor *editor);

### e_content_editor_get_hover_uri ()

    const gchar *
    e_content_editor_get_hover_uri (EContentEditor *editor);

### e_content_editor_get_caret_client_rect ()

    void
    e_content_editor_get_caret_client_rect
                                   (EContentEditor *editor,
                                    GdkRectangle *out_rect);

### e_content_editor_get_zoom_level ()

    gdouble
    e_content_editor_get_zoom_level (EContentEditor *editor);

### e_content_editor_set_zoom_level ()

    void
    e_content_editor_set_zoom_level (EContentEditor *editor,
                                     gdouble level);

### e_content_editor_emit_load_finished ()

    void
    e_content_editor_emit_load_finished (EContentEditor *editor);

### e_content_editor_emit_paste_clipboard ()

    gboolean
    e_content_editor_emit_paste_clipboard (EContentEditor *editor);

### e_content_editor_emit_paste_primary_clipboard ()

    gboolean
    e_content_editor_emit_paste_primary_clipboard
                                   (EContentEditor *editor);

### e_content_editor_emit_context_menu_requested ()

    void
    e_content_editor_emit_context_menu_requested
                                   (EContentEditor *editor,
                                    EContentEditorNodeFlags flags,
                                    const gchar *caret_word,
                                    GdkEvent *event);

### e_content_editor_emit_find_done ()

    void
    e_content_editor_emit_find_done (EContentEditor *editor,
                                     guint match_count);

### e_content_editor_emit_replace_all_done ()

    void
    e_content_editor_emit_replace_all_done
                                   (EContentEditor *editor,
                                    guint replaced_count);

### e_content_editor_emit_drop_handled ()

    void
    e_content_editor_emit_drop_handled (EContentEditor *editor);

### e_content_editor_emit_content_changed ()

    void
    e_content_editor_emit_content_changed (EContentEditor *editor);

### e_content_editor_emit_ref_mime_part ()

    CamelMimePart *
    e_content_editor_emit_ref_mime_part (EContentEditor *editor,
                                         const gchar *uri);

### e_content_editor_util_three_state_to_bool ()

    gboolean
    e_content_editor_util_three_state_to_bool
                                   (EThreeState value,
                                    const gchar *mail_key);

Converts the three-state `value` into boolean, using the `mail_key` boolean key from 'org.gnome.evolution.mail' in case the `value` in `E_THREE_STATE_INCONSISTENT` as a fallback, when non-`NULL`.

#### Parameters

value | an EThreeState value |
mail_key | a key into 'org.gnome.evolution.mail'. | [nullable]

#### Returns

`value` converted to boolean, optionally depending on `mail_key` setting

Since: 3.44

## Types and Values

### DEFAULT_CONTENT_EDITOR_NAME

    #define DEFAULT_CONTENT_EDITOR_NAME "WebKit"

### E_CONTENT_EDITOR_DIALOG_HRULE

    #define E_CONTENT_EDITOR_DIALOG_HRULE		"hrule"

### E_CONTENT_EDITOR_DIALOG_IMAGE

    #define E_CONTENT_EDITOR_DIALOG_IMAGE		"image"

### E_CONTENT_EDITOR_DIALOG_LINK

    #define E_CONTENT_EDITOR_DIALOG_LINK		"link"

### E_CONTENT_EDITOR_DIALOG_PAGE

    #define E_CONTENT_EDITOR_DIALOG_PAGE		"page"

### E_CONTENT_EDITOR_DIALOG_CELL

    #define E_CONTENT_EDITOR_DIALOG_CELL		"cell"

### E_CONTENT_EDITOR_DIALOG_TABLE

    #define E_CONTENT_EDITOR_DIALOG_TABLE		"table"

### E_CONTENT_EDITOR_DIALOG_SPELLCHECK

    #define E_CONTENT_EDITOR_DIALOG_SPELLCHECK "spellcheck"

### E_CONTENT_EDITOR_DIALOG_FIND

    #define E_CONTENT_EDITOR_DIALOG_FIND		"find"

### E_CONTENT_EDITOR_DIALOG_REPLACE

    #define E_CONTENT_EDITOR_DIALOG_REPLACE		"replace"

### E_TYPE_CONTENT_EDITOR

    #define E_TYPE_CONTENT_EDITOR e_content_editor_get_type ()

### EContentEditorContentHash

    typedef GHashTable EContentEditorContentHash;

### struct EContentEditorInterface

    struct EContentEditorInterface {
    	GTypeInterface parent_interface;

    	void		(*initialize)			(EContentEditor *content_editor,
    							 EContentEditorInitializedCallback callback,
    							 gpointer user_data);
    	void		(*setup_editor)			(EContentEditor *content_editor,
    							 struct _EHTMLEditor *html_editor);
    	void		(*update_styles)		(EContentEditor *editor);
    	void		(*insert_content)		(EContentEditor *editor,
    							 const gchar *content,
    							 EContentEditorInsertContentFlags flags);

    	void		(*get_content)			(EContentEditor *editor,
    							 guint32 flags, /* bit-or of EContentEditorGetContentFlags */
    							 const gchar *inline_images_from_domain,
    							 GCancellable *cancellable,
    							 GAsyncReadyCallback callback,
    							 gpointer user_data);
    	EContentEditorContentHash *
    			(*get_content_finish)		(EContentEditor *editor,
    							 GAsyncResult *result,
    							 GError **error);

    	void		(*insert_image)			(EContentEditor *editor,
    							 const gchar *uri);

    	void		(*insert_emoticon)		(EContentEditor *editor,
    							 const EEmoticon *emoticon);

    	void		(*move_caret_on_coordinates) (EContentEditor *editor,
    							 gint x,
    							 gint y,
    							 gboolean cancel_if_not_collapsed);

    	void		(*cut)				(EContentEditor *editor);

    	void		(*copy)				(EContentEditor *editor);

    	void		(*paste)			(EContentEditor *editor);

    	void		(*paste_primary)		(EContentEditor *editor);

    	void		(*undo)				(EContentEditor *editor);

    	void		(*redo)				(EContentEditor *editor);

    	void		(*clear_undo_redo_history) (EContentEditor *editor);

    	void		(*set_spell_checking_languages) (EContentEditor *editor,
    							 const gchar **languages);

    	gchar *		(*get_caret_word)		(EContentEditor *editor);

    	void		(*replace_caret_word)		(EContentEditor *editor,
    							 const gchar *replacement);

    	void		(*select_all)			(EContentEditor *editor);

    	void		(*selection_indent)		(EContentEditor *editor);

    	void		(*selection_unindent)		(EContentEditor *editor);

    	void		(*selection_unlink)		(EContentEditor *editor);

    	void		(*find)				(EContentEditor *editor,
    							 guint32 flags,
    							 const gchar *text);

    	void		(*replace)			(EContentEditor *editor,
    							 const gchar *replacement);

    	void		(*replace_all)			(EContentEditor *editor,
    							 guint32 flags,
    							 const gchar *find_text,
    							 const gchar *replace_with);

    	void		(*selection_save)		(EContentEditor *editor);

    	void		(*selection_restore)		(EContentEditor *editor);

    	void		(*selection_wrap)		(EContentEditor *editor);

    	gchar *		(*get_current_signature_uid) (EContentEditor *editor);

    	gboolean (*is_ready)			(EContentEditor *editor);

    	gchar *		(*insert_signature)		(EContentEditor *editor,
    							 const gchar *content,
    							 EContentEditorMode editor_mode,
    							 gboolean can_reposition_caret,
    							 const gchar *signature_id,
    							 gboolean *set_signature_from_message,
    							 gboolean *check_if_signature_is_changed,
    							 gboolean *ignore_next_signature_change);

    	void		(*delete_cell_contents)		(EContentEditor *editor);

    	void		(*delete_column)		(EContentEditor *editor);

    	void		(*delete_row)			(EContentEditor *editor);

    	void		(*delete_table)			(EContentEditor *editor);

    	void		(*insert_column_after)		(EContentEditor *editor);

    	void		(*insert_column_before)		(EContentEditor *editor);

    	void		(*insert_row_above)		(EContentEditor *editor);

    	void		(*insert_row_below)		(EContentEditor *editor);

    	void		(*on_dialog_open)		(EContentEditor *editor,
    							 const gchar *name);

    	void		(*on_dialog_close)		(EContentEditor *editor,
    							 const gchar *name);

    	void		(*h_rule_set_align)		(EContentEditor *editor,
    							 const gchar *value);

    	gchar *		(*h_rule_get_align)		(EContentEditor *editor);

    	void		(*h_rule_set_size)		(EContentEditor *editor,
    							 gint value);

    	gint		(*h_rule_get_size)		(EContentEditor *editor);

    	void		(*h_rule_set_width)		(EContentEditor *editor,
    							 gint value,
    							 EContentEditorUnit unit);

    	gint		(*h_rule_get_width)		(EContentEditor *editor,
    							 EContentEditorUnit *unit);

    	void		(*h_rule_set_no_shade)		(EContentEditor *editor,
    							 gboolean value);

    	gboolean (*h_rule_get_no_shade)		(EContentEditor *editor);

    	void		(*image_set_src)		(EContentEditor *editor,
    							 const gchar *value);

    	gchar *		(*image_get_src)		(EContentEditor *editor);

    	void		(*image_set_alt)		(EContentEditor *editor,
    							 const gchar *value);

    	gchar *		(*image_get_alt)		(EContentEditor *editor);

    	gint32		(*image_get_natural_width) (EContentEditor *editor);

    	gint32		(*image_get_width)		(EContentEditor *editor);

    	void		(*image_set_width)		(EContentEditor *editor,
    							 gint value);

    	void		(*image_set_width_follow) (EContentEditor *editor,
    							 gboolean value);

    	gint32		(*image_get_natural_height) (EContentEditor *editor);

    	gint32		(*image_get_height)		(EContentEditor *editor);

    	void		(*image_set_height)		(EContentEditor *editor,
    							 gint value);

    	void		(*image_set_height_follow) (EContentEditor *editor,
    							 gboolean value);

    	void		(*image_set_url)		(EContentEditor *editor,
    							 const gchar *value);

    	gchar *		(*image_get_url)		(EContentEditor *editor);

    	void		(*image_set_vspace)		(EContentEditor *editor,
    							 gint value);

    	gint		(*image_get_vspace)		(EContentEditor *editor);

    	void		(*image_set_hspace)		(EContentEditor *editor,
    							 gint value);

    	gint		(*image_get_hspace)		(EContentEditor *editor);

    	void		(*image_set_border)		(EContentEditor *editor,
    							 gint border);

    	gint		(*image_get_border)		(EContentEditor *editor);

    	void		(*image_set_align)		(EContentEditor *editor,
    							 const gchar *value);

    	gchar *		(*image_get_align)		(EContentEditor *editor);

    	void		(*link_get_properties)		(EContentEditor *editor,
    							 gchar **out_href,
    							 gchar **out_text,
    							 gchar **out_name);

    	void		(*link_set_properties)		(EContentEditor *editor,
    							 const gchar *href,
    							 const gchar *text,
    							 const gchar *name);

    	void		(*page_set_text_color)		(EContentEditor *editor,
    							 const GdkRGBA *value);

    	void 		(*page_get_text_color)		(EContentEditor *editor,
    							 GdkRGBA *value);

    	void		(*page_set_background_color) (EContentEditor *editor,
    							 const GdkRGBA *value);

    	void		(*page_get_background_color) (EContentEditor *editor,
    							 GdkRGBA *value);

    	void		(*page_set_link_color)		(EContentEditor *editor,
    							 const GdkRGBA *value);

    	void		(*page_get_link_color)		(EContentEditor *editor,
    							 GdkRGBA *value);

    	void		(*page_set_visited_link_color) (EContentEditor *editor,
    							 const GdkRGBA *value);

    	void		(*page_get_visited_link_color) (EContentEditor *editor,
    							 GdkRGBA *value);
    	void		(*page_set_font_name)		(EContentEditor *editor,
    							 const gchar *value);
    	const gchar * (*page_get_font_name)		(EContentEditor *editor);

    	void		(*page_set_background_image_uri)
    							(EContentEditor *editor,
    							 const gchar *uri);

    	gchar *		(*page_get_background_image_uri)
    							(EContentEditor *editor);

    	void		(*cell_set_v_align)		(EContentEditor *editor,
    							 const gchar *value,
    							 EContentEditorScope scope);

    	gchar *		(*cell_get_v_align)		(EContentEditor *editor);

    	void		(*cell_set_align)		(EContentEditor *editor,
    							 const gchar *value,
    							 EContentEditorScope scope);

    	gchar *		(*cell_get_align)		(EContentEditor *editor);

    	void		(*cell_set_wrap)		(EContentEditor *editor,
    							 gboolean value,
    							 EContentEditorScope scope);

    	gboolean (*cell_get_wrap)		(EContentEditor *editor);

    	void		(*cell_set_header_style) (EContentEditor *editor,
    							 gboolean value,
    							 EContentEditorScope scope);

    	gboolean (*cell_is_header)		(EContentEditor *editor);

    	void		(*cell_set_width)		(EContentEditor *editor,
    							 gint value,
    							 EContentEditorUnit unit,
    							 EContentEditorScope scope);

    	gint		(*cell_get_width)		(EContentEditor *editor,
    							 EContentEditorUnit *unit);

    	void		(*cell_set_row_span)		(EContentEditor *editor,
    							 gint value,
    							 EContentEditorScope scope);

    	gint		(*cell_get_row_span)		(EContentEditor *editor);

    	void		(*cell_set_col_span)		(EContentEditor *editor,
    							 gint value,
    							 EContentEditorScope scope);

    	gint		(*cell_get_col_span)		(EContentEditor *editor);

    	gchar *		(*cell_get_background_image_uri)
    							(EContentEditor *editor);

    	void		(*cell_set_background_image_uri)
    							(EContentEditor *editor,
    							 const gchar *uri);

    	void		(*cell_get_background_color) (EContentEditor *editor,
    							 GdkRGBA *value);

    	void		(*cell_set_background_color) (EContentEditor *editor,
    							 const GdkRGBA *value,
    							 EContentEditorScope scope);

    	void		(*table_set_row_count)		(EContentEditor *editor,
    							 guint value);

    	guint		(*table_get_row_count)		(EContentEditor *editor);

    	void		(*table_set_column_count) (EContentEditor *editor,
    							 guint value);

    	guint		(*table_get_column_count) (EContentEditor *editor);

    	void		(*table_set_width)		(EContentEditor *editor,
    							 gint value,
    							 EContentEditorUnit unit);

    	guint		(*table_get_width)		(EContentEditor *editor,
    							 EContentEditorUnit *unit);

    	void		(*table_set_align)		(EContentEditor *editor,
    							 const gchar *value);

    	gchar *		(*table_get_align)		(EContentEditor *editor);

    	void		(*table_set_padding)		(EContentEditor *editor,
    							 gint value);

    	gint		(*table_get_padding)		(EContentEditor *editor);

    	void		(*table_set_spacing)		(EContentEditor *editor,
    							 gint value);

    	gint		(*table_get_spacing)		(EContentEditor *editor);

    	void		(*table_set_border)		(EContentEditor *editor,
    							 gint value);

    	gint		(*table_get_border)		(EContentEditor *editor);

    	gchar *		(*table_get_background_image_uri)
    							(EContentEditor *editor);

    	void		(*table_set_background_image_uri)
    							(EContentEditor *editor,
    							 const gchar *uri);

    	void		(*table_get_background_color) (EContentEditor *editor,
    							 GdkRGBA *value);

    	void		(*table_set_background_color) (EContentEditor *editor,
    							 const GdkRGBA *value);

    	gchar *		(*spell_check_next_word) (EContentEditor *editor,
    							 const gchar *word);

    	gchar *		(*spell_check_prev_word) (EContentEditor *editor,
    							 const gchar *word);

    	/* Signals */
    	void		(*load_finished)		(EContentEditor *editor);
    	gboolean (*paste_clipboard)		(EContentEditor *editor);
    	gboolean (*paste_primary_clipboard) (EContentEditor *editor);
    	void		(*context_menu_requested) (EContentEditor *editor,
    							 EContentEditorNodeFlags flags,
    							 const gchar *caret_word,
    							 GdkEvent *event);
    	void		(*find_done)			(EContentEditor *editor,
    							 guint match_count);
    	void		(*replace_all_done)		(EContentEditor *editor,
    							 guint replaced_count);
    	void		(*drop_handled)			(EContentEditor *editor);
    	void		(*content_changed)		(EContentEditor *editor);
    	CamelMimePart * (*ref_mime_part)		(EContentEditor *editor,
    							 const gchar *uri);

    	void		(*delete_h_rule)		(EContentEditor *editor);
    	void		(*delete_image)			(EContentEditor *editor);

    	gboolean (*supports_mode)		(EContentEditor *editor,
    							 EContentEditorMode mode);
    	void		(*grab_focus)			(EContentEditor *editor);
    	gboolean (*is_focus)			(EContentEditor *editor);
    	const gchar * (*get_hover_uri)		(EContentEditor *editor);
    	void		(*get_caret_client_rect) (EContentEditor *editor,
    							 GdkRectangle *out_rect);
    	gdouble		(*get_zoom_level)		(EContentEditor *editor);
    	void		(*set_zoom_level)		(EContentEditor *editor,
    							 gdouble level);
    	/* padding for future expansion */
    	gpointer reserved[13];
    };

### EContentEditor

    typedef struct _EContentEditor EContentEditor;

## Property Details

### The `“alignment”` property

      “alignment”                EContentEditorAlignment

Holds alignment of current paragraph.

Owner: EContentEditor

Flags: Read / Write

Default value: E_CONTENT_EDITOR_ALIGNMENT_LEFT

### The `“background-color”` property

      “background-color”         GdkRGBA *

Holds background color of current selection or at current cursor position.

Owner: EContentEditor

Flags: Read / Write

### The `“block-format”` property

      “block-format”             EContentEditorBlockFormat

Holds block format of current paragraph. See EContentEditorBlockFormat for valid values.

Owner: EContentEditor

Flags: Read / Write

Default value: E_CONTENT_EDITOR_BLOCK_FORMAT_NONE

### The `“bold”` property

      “bold”                     gboolean

Holds whether current selection or text at current cursor position is bold.

Owner: EContentEditor

Flags: Read / Write

Default value: FALSE

### The `“can-copy”` property

      “can-copy”                 gboolean

Determines whether it's possible to copy to clipboard. The action is usually disabled when there is no selection to copy.

Owner: EContentEditor

Flags: Read

Default value: FALSE

### The `“can-cut”` property

      “can-cut”                  gboolean

Determines whether it's possible to cut to clipboard. The action is usually disabled when there is no selection to cut.

Owner: EContentEditor

Flags: Read

Default value: FALSE

### The `“can-paste”` property

      “can-paste”                gboolean

Determines whether it's possible to paste from clipboard. The action is usually disabled when there is no valid content in clipboard to paste.

Owner: EContentEditor

Flags: Read

Default value: FALSE

### The `“can-redo”` property

      “can-redo”                 gboolean

Determines whether it's possible to redo previous action. The action is usually disabled when there is no action to redo.

Owner: EContentEditor

Flags: Read

Default value: FALSE

### The `“can-undo”` property

      “can-undo”                 gboolean

Determines whether it's possible to undo last action. The action is usually disabled when there is no previous action to undo.

Owner: EContentEditor

Flags: Read

Default value: FALSE

### The `“changed”` property

      “changed”                  gboolean

Determines whether document has been modified

Owner: EContentEditor

Flags: Read / Write

Default value: FALSE

### The `“editable”` property

      “editable”                 gboolean

Determines whether the editor is editable or read-only.

Owner: EContentEditor

Flags: Read / Write

Default value: TRUE

### The `“font-color”` property

      “font-color”               GdkRGBA *

Holds font color of current selection or at current cursor position.

Owner: EContentEditor

Flags: Read / Write

### The `“font-name”` property

      “font-name”                char *

Holds name of font in current selection or at current cursor position.

Owner: EContentEditor

Flags: Read / Write

Default value: NULL

### The `“font-size”` property

      “font-size”                int

Holds point size of current selection or at current cursor position.

Owner: EContentEditor

Flags: Read / Write

Allowed values: [1,7]

Default value: 3

### The `“indent-level”` property

      “indent-level”             int

Holds current paragraph indent level. This does not include citations.

Owner: EContentEditor

Flags: Read

Allowed values: [0,10]

Default value: 0

### The `“is-malfunction”` property

      “is-malfunction”           gboolean

Determines whether the composer is malfunction. If it does, then the result of calling functions like `get_content()` is undefined.

Owner: EContentEditor

Flags: Read

Default value: FALSE

### The `“italic”` property

      “italic”                   gboolean

Holds whether current selection or letter at current cursor position is italic.

Owner: EContentEditor

Flags: Read / Write

Default value: FALSE

### The `“last-error”` property

      “last-error”               GError *

GError of the last operation; can be `NULL`.

Owner: EContentEditor

Flags: Read / Write

Since: 3.34

### The `“mode”` property

      “mode”                     EContentEditorMode

Determines the mode of the content editor, as one of the EContentEditorMode.

Owner: EContentEditor

Flags: Read / Write

Default value: E_CONTENT_EDITOR_MODE_PLAIN_TEXT

Since: 3.44

### The `“spell-check-enabled”` property

      “spell-check-enabled”      gboolean

Holds whether the spell checking is enabled.

Owner: EContentEditor

Flags: Read / Write

Default value: FALSE

### The `“spell-checker”` property

      “spell-checker”            ESpellChecker *

The ESpellChecker used for spell checking.

Owner: EContentEditor

Flags: Read

### The `“start-bottom”` property

      “start-bottom”             EThreeState

Holds where the cursor should be positioned after body of a reply or forward is loaded.

Owner: EContentEditor

Flags: Read / Write

Default value: E_THREE_STATE_INCONSISTENT

Since: 3.26

### The `“strikethrough”` property

      “strikethrough”            gboolean

Holds whether current selection or letter at current cursor position is strikethrough.

Owner: EContentEditor

Flags: Read / Write

Default value: FALSE

### The `“subscript”` property

      “subscript”                gboolean

Holds whether current selection or letter at current cursor position is in subscript.

Owner: EContentEditor

Flags: Read / Write

Default value: FALSE

### The `“superscript”` property

      “superscript”              gboolean

Holds whether current selection or letter at current cursor position is in superscript.

Owner: EContentEditor

Flags: Read / Write

Default value: FALSE

### The `“top-signature”` property

      “top-signature”            EThreeState

Holds where the signature should be positioned after body of a reply or forward is loaded.

Owner: EContentEditor

Flags: Read / Write

Default value: E_THREE_STATE_INCONSISTENT

Since: 3.26

### The `“underline”` property

      “underline”                gboolean

Holds whether current selection or letter at current cursor position is underlined.

Owner: EContentEditor

Flags: Read / Write

Default value: FALSE

### The `“visually-wrap-long-lines”` property

      “visually-wrap-long-lines” gboolean

Whether to visually wrap long preformatted lines.

Owner: EContentEditor

Flags: Read / Write

Default value: FALSE

Since: 3.28

## Signal Details

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

    void
    user_function (EContentEditor *econtenteditor,
                   gpointer        user_data)

Flags: Run Last

### The `“context-menu-requested”` signal

    void
    user_function (EContentEditor *econtenteditor,
                   int             arg1,
                   char           *arg2,
                   GdkEvent       *arg3,
                   gpointer        user_data)

Flags: Run Last

### The `“drop-handled”` signal

    void
    user_function (EContentEditor *econtenteditor,
                   gpointer        user_data)

Flags: Run Last

### The `“find-done”` signal

    void
    user_function (EContentEditor *econtenteditor,
                   guint           arg1,
                   gpointer        user_data)

Emitted when the call to `e_content_editor_find()` is done.

#### Parameters

user_data | user data set when the signal handler was connected. |

Flags: Run Last

### The `“load-finished”` signal

    void
    user_function (EContentEditor *econtenteditor,
                   gpointer        user_data)

Flags: Run Last

### The `“paste-clipboard”` signal

    gboolean
    user_function (EContentEditor *econtenteditor,
                   gpointer        user_data)

Flags: Run Last

### The `“paste-primary-clipboard”` signal

    gboolean
    user_function (EContentEditor *econtenteditor,
                   gpointer        user_data)

Flags: Run Last

### The `“ref-mime-part”` signal

    CamelMimePart*
    user_function (EContentEditor *econtenteditor,
                   char           *arg1,
                   gpointer        user_data)

Flags: Action

### The `“replace-all-done”` signal

    void
    user_function (EContentEditor *econtenteditor,
                   guint           arg1,
                   gpointer        user_data)

Emitted when the call to `e_content_editor_replace_all()` is done.

#### Parameters

user_data | user data set when the signal handler was connected. |

Flags: Run Last