3584 lines
87 KiB
C
3584 lines
87 KiB
C
/*
|
|
* Copyright (C) 2016 Red Hat, Inc. (www.redhat.com)
|
|
*
|
|
* This library is free software: you can redistribute it and/or modify it
|
|
* under the terms of the GNU Lesser General Public License as published by
|
|
* the Free Software Foundation.
|
|
*
|
|
* This library is distributed in the hope that it will be useful, but
|
|
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
|
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
|
|
* for more details.
|
|
*
|
|
* You should have received a copy of the GNU Lesser General Public License
|
|
* along with this library. If not, see <http://www.gnu.org/licenses/>.
|
|
*/
|
|
|
|
#ifdef HAVE_CONFIG_H
|
|
#include <config.h>
|
|
#endif
|
|
|
|
#include <glib.h>
|
|
#include <glib-object.h>
|
|
|
|
#include <libedataserver/libedataserver.h>
|
|
|
|
#include "e-html-editor.h"
|
|
#include "e-util-enumtypes.h"
|
|
#include "e-content-editor.h"
|
|
|
|
G_DEFINE_INTERFACE (EContentEditor, e_content_editor, GTK_TYPE_WIDGET);
|
|
|
|
enum {
|
|
LOAD_FINISHED,
|
|
PASTE_CLIPBOARD,
|
|
PASTE_PRIMARY_CLIPBOARD,
|
|
CONTEXT_MENU_REQUESTED,
|
|
FIND_DONE,
|
|
REPLACE_ALL_DONE,
|
|
LAST_SIGNAL
|
|
};
|
|
|
|
static guint signals[LAST_SIGNAL] = { 0 };
|
|
|
|
static void
|
|
e_content_editor_default_init (EContentEditorInterface *iface)
|
|
{
|
|
/**
|
|
* EContentEditor:can-copy
|
|
*
|
|
* Determines whether it's possible to copy to clipboard. The action
|
|
* is usually disabled when there is no selection to copy.
|
|
*/
|
|
g_object_interface_install_property (
|
|
iface,
|
|
g_param_spec_boolean (
|
|
"can-copy",
|
|
"Can Copy",
|
|
NULL,
|
|
FALSE,
|
|
G_PARAM_READABLE |
|
|
G_PARAM_STATIC_STRINGS));
|
|
|
|
/**
|
|
* EContentEditor:can-cut
|
|
*
|
|
* Determines whether it's possible to cut to clipboard. The action
|
|
* is usually disabled when there is no selection to cut.
|
|
*/
|
|
g_object_interface_install_property (
|
|
iface,
|
|
g_param_spec_boolean (
|
|
"can-cut",
|
|
"Can Cut",
|
|
NULL,
|
|
FALSE,
|
|
G_PARAM_READABLE |
|
|
G_PARAM_STATIC_STRINGS));
|
|
|
|
/**
|
|
* EContentEditor:can-paste
|
|
*
|
|
* Determines whether it's possible to paste from clipboard. The action
|
|
* is usually disabled when there is no valid content in clipboard to
|
|
* paste.
|
|
*/
|
|
g_object_interface_install_property (
|
|
iface,
|
|
g_param_spec_boolean (
|
|
"can-paste",
|
|
"Can Paste",
|
|
NULL,
|
|
FALSE,
|
|
G_PARAM_READABLE |
|
|
G_PARAM_STATIC_STRINGS));
|
|
|
|
/**
|
|
* EContentEditor:can-redo
|
|
*
|
|
* Determines whether it's possible to redo previous action. The action
|
|
* is usually disabled when there is no action to redo.
|
|
*/
|
|
g_object_interface_install_property (
|
|
iface,
|
|
g_param_spec_boolean (
|
|
"can-redo",
|
|
"Can Redo",
|
|
NULL,
|
|
FALSE,
|
|
G_PARAM_READABLE |
|
|
G_PARAM_STATIC_STRINGS));
|
|
|
|
/**
|
|
* EContentEditor:can-undo
|
|
*
|
|
* Determines whether it's possible to undo last action. The action
|
|
* is usually disabled when there is no previous action to undo.
|
|
*/
|
|
g_object_interface_install_property (
|
|
iface,
|
|
g_param_spec_boolean (
|
|
"can-undo",
|
|
"Can Undo",
|
|
NULL,
|
|
FALSE,
|
|
G_PARAM_READABLE |
|
|
G_PARAM_STATIC_STRINGS));
|
|
|
|
/**
|
|
* EContentEditor:editable
|
|
*
|
|
* Determines whether the editor is editable or read-only.
|
|
**/
|
|
g_object_interface_install_property (
|
|
iface,
|
|
g_param_spec_boolean (
|
|
"editable",
|
|
"Editable",
|
|
"Wheter editor is editable",
|
|
TRUE,
|
|
G_PARAM_READWRITE |
|
|
G_PARAM_STATIC_STRINGS));
|
|
|
|
/**
|
|
* EContentEditor:changed
|
|
*
|
|
* Determines whether document has been modified
|
|
*/
|
|
g_object_interface_install_property (
|
|
iface,
|
|
g_param_spec_boolean (
|
|
"changed",
|
|
"Changed property",
|
|
"Whether editor changed",
|
|
FALSE,
|
|
G_PARAM_READWRITE |
|
|
G_PARAM_STATIC_STRINGS));
|
|
|
|
/**
|
|
* EContentEditor:html-mode
|
|
*
|
|
* Determines whether HTML or plain text mode is enabled.
|
|
**/
|
|
g_object_interface_install_property (
|
|
iface,
|
|
g_param_spec_boolean (
|
|
"html-mode",
|
|
"HTML Mode",
|
|
"Edit HTML or plain text",
|
|
TRUE,
|
|
G_PARAM_READWRITE |
|
|
G_PARAM_STATIC_STRINGS));
|
|
|
|
/**
|
|
* EContentEditor:alignment
|
|
*
|
|
* Holds alignment of current paragraph.
|
|
*/
|
|
g_object_interface_install_property (
|
|
iface,
|
|
g_param_spec_enum (
|
|
"alignment",
|
|
NULL,
|
|
NULL,
|
|
E_TYPE_CONTENT_EDITOR_ALIGNMENT,
|
|
E_CONTENT_EDITOR_ALIGNMENT_LEFT,
|
|
G_PARAM_READWRITE));
|
|
|
|
/**
|
|
* EContentEditor:background-color
|
|
*
|
|
* Holds background color of current selection or at current cursor
|
|
* position.
|
|
*/
|
|
g_object_interface_install_property (
|
|
iface,
|
|
g_param_spec_boxed (
|
|
"background-color",
|
|
NULL,
|
|
NULL,
|
|
GDK_TYPE_RGBA,
|
|
G_PARAM_READWRITE));
|
|
|
|
/**
|
|
* EContentEditor:block-format
|
|
*
|
|
* Holds block format of current paragraph. See
|
|
* #EContentEditorBlockFormat for valid values.
|
|
*/
|
|
g_object_interface_install_property (
|
|
iface,
|
|
g_param_spec_enum (
|
|
"block-format",
|
|
NULL,
|
|
NULL,
|
|
E_TYPE_CONTENT_EDITOR_BLOCK_FORMAT,
|
|
E_CONTENT_EDITOR_BLOCK_FORMAT_NONE,
|
|
G_PARAM_READWRITE));
|
|
|
|
/**
|
|
* EContentEditor:bold
|
|
*
|
|
* Holds whether current selection or text at current cursor position
|
|
* is bold.
|
|
*/
|
|
g_object_interface_install_property (
|
|
iface,
|
|
g_param_spec_boolean (
|
|
"bold",
|
|
NULL,
|
|
NULL,
|
|
FALSE,
|
|
G_PARAM_READWRITE |
|
|
G_PARAM_STATIC_STRINGS));
|
|
|
|
/**
|
|
* EContentEditor:font-color
|
|
*
|
|
* Holds font color of current selection or at current cursor position.
|
|
*/
|
|
g_object_interface_install_property (
|
|
iface,
|
|
g_param_spec_boxed (
|
|
"font-color",
|
|
NULL,
|
|
NULL,
|
|
GDK_TYPE_RGBA,
|
|
G_PARAM_READWRITE |
|
|
G_PARAM_STATIC_STRINGS));
|
|
|
|
/**
|
|
* EContentEditor:font-name
|
|
*
|
|
* Holds name of font in current selection or at current cursor
|
|
* position.
|
|
*/
|
|
g_object_interface_install_property (
|
|
iface,
|
|
g_param_spec_string (
|
|
"font-name",
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
G_PARAM_READWRITE |
|
|
G_PARAM_STATIC_STRINGS));
|
|
|
|
/**
|
|
* EContentEditor:font-size
|
|
*
|
|
* Holds point size of current selection or at current cursor position.
|
|
*/
|
|
g_object_interface_install_property (
|
|
iface,
|
|
g_param_spec_int (
|
|
"font-size",
|
|
NULL,
|
|
NULL,
|
|
1,
|
|
7,
|
|
3,
|
|
G_PARAM_READWRITE |
|
|
G_PARAM_STATIC_STRINGS));
|
|
|
|
/**
|
|
* EContentEditor:indented
|
|
*
|
|
* Holds whether current paragraph is indented. This does not include
|
|
* citations.
|
|
*/
|
|
g_object_interface_install_property (
|
|
iface,
|
|
g_param_spec_boolean (
|
|
"indented",
|
|
NULL,
|
|
NULL,
|
|
FALSE,
|
|
G_PARAM_READABLE |
|
|
G_PARAM_STATIC_STRINGS));
|
|
|
|
/**
|
|
* EContentEditor:italic
|
|
*
|
|
* Holds whether current selection or letter at current cursor position
|
|
* is italic.
|
|
*/
|
|
g_object_interface_install_property (
|
|
iface,
|
|
g_param_spec_boolean (
|
|
"italic",
|
|
NULL,
|
|
NULL,
|
|
FALSE,
|
|
G_PARAM_READWRITE |
|
|
G_PARAM_STATIC_STRINGS));
|
|
|
|
/**
|
|
* EContentEditor:monospaced
|
|
*
|
|
* Holds whether current selection or letter at current cursor position
|
|
* is monospaced.
|
|
*/
|
|
g_object_interface_install_property (
|
|
iface,
|
|
g_param_spec_boolean (
|
|
"monospaced",
|
|
NULL,
|
|
NULL,
|
|
FALSE,
|
|
G_PARAM_READWRITE |
|
|
G_PARAM_STATIC_STRINGS));
|
|
|
|
/**
|
|
* EContentEditor:strikethrough
|
|
*
|
|
* Holds whether current selection or letter at current cursor position
|
|
* is strikethrough.
|
|
*/
|
|
g_object_interface_install_property (
|
|
iface,
|
|
g_param_spec_boolean (
|
|
"strikethrough",
|
|
NULL,
|
|
NULL,
|
|
FALSE,
|
|
G_PARAM_READWRITE |
|
|
G_PARAM_STATIC_STRINGS));
|
|
|
|
/**
|
|
* EContentEditor:superscript
|
|
*
|
|
* Holds whether current selection or letter at current cursor position
|
|
* is in superscript.
|
|
*/
|
|
g_object_interface_install_property (
|
|
iface,
|
|
g_param_spec_boolean (
|
|
"superscript",
|
|
NULL,
|
|
NULL,
|
|
FALSE,
|
|
G_PARAM_READWRITE |
|
|
G_PARAM_STATIC_STRINGS));
|
|
|
|
/**
|
|
* EContentEditor:subscript
|
|
*
|
|
* Holds whether current selection or letter at current cursor position
|
|
* is in subscript.
|
|
*/
|
|
g_object_interface_install_property (
|
|
iface,
|
|
g_param_spec_boolean (
|
|
"subscript",
|
|
NULL,
|
|
NULL,
|
|
FALSE,
|
|
G_PARAM_READWRITE |
|
|
G_PARAM_STATIC_STRINGS));
|
|
|
|
/**
|
|
* EContentEditor:underline
|
|
*
|
|
* Holds whether current selection or letter at current cursor position
|
|
* is underlined.
|
|
*/
|
|
g_object_interface_install_property (
|
|
iface,
|
|
g_param_spec_boolean (
|
|
"underline",
|
|
NULL,
|
|
NULL,
|
|
FALSE,
|
|
G_PARAM_READWRITE |
|
|
G_PARAM_STATIC_STRINGS));
|
|
|
|
/**
|
|
* EContentEditor:spell-check-enabled
|
|
*
|
|
* Holds whether the spell checking is enabled.
|
|
*/
|
|
g_object_interface_install_property (
|
|
iface,
|
|
g_param_spec_boolean (
|
|
"spell-check-enabled",
|
|
NULL,
|
|
NULL,
|
|
FALSE,
|
|
G_PARAM_READWRITE |
|
|
G_PARAM_STATIC_STRINGS));
|
|
|
|
/**
|
|
* EContentEditor:spell-checker:
|
|
*
|
|
* The #ESpellChecker used for spell checking.
|
|
**/
|
|
g_object_interface_install_property (
|
|
iface,
|
|
g_param_spec_object (
|
|
"spell-checker",
|
|
"Spell Checker",
|
|
"The spell checker",
|
|
E_TYPE_SPELL_CHECKER,
|
|
G_PARAM_READABLE |
|
|
G_PARAM_STATIC_STRINGS));
|
|
|
|
/**
|
|
* EContentEditor:paste-clipboard
|
|
*
|
|
* Emitted when user presses middle button on EContentEditor.
|
|
*/
|
|
signals[PASTE_CLIPBOARD] = g_signal_new (
|
|
"paste-clipboard",
|
|
E_TYPE_CONTENT_EDITOR,
|
|
G_SIGNAL_RUN_LAST,
|
|
G_STRUCT_OFFSET (EContentEditorInterface, paste_clipboard),
|
|
g_signal_accumulator_true_handled, NULL,
|
|
NULL,
|
|
G_TYPE_BOOLEAN, 0);
|
|
|
|
/**
|
|
* EContentEditor:paste-primary-clipboard
|
|
*
|
|
* Emitted when user presses middle button on EWebKitContentEditor.
|
|
*/
|
|
signals[PASTE_PRIMARY_CLIPBOARD] = g_signal_new (
|
|
"paste-primary-clipboard",
|
|
E_TYPE_CONTENT_EDITOR,
|
|
G_SIGNAL_RUN_LAST,
|
|
G_STRUCT_OFFSET (EContentEditorInterface, paste_primary_clipboard),
|
|
g_signal_accumulator_true_handled, NULL,
|
|
NULL,
|
|
G_TYPE_BOOLEAN, 0);
|
|
|
|
/**
|
|
* EContentEditor:load-finished
|
|
*
|
|
* Emitted when the content editor has finished loading.
|
|
*/
|
|
signals[LOAD_FINISHED] = g_signal_new (
|
|
"load-finished",
|
|
E_TYPE_CONTENT_EDITOR,
|
|
G_SIGNAL_RUN_LAST,
|
|
G_STRUCT_OFFSET (EContentEditorInterface, load_finished),
|
|
NULL, NULL,
|
|
NULL,
|
|
G_TYPE_NONE, 0);
|
|
|
|
/**
|
|
* EContentEditor:context-menu-requested
|
|
*
|
|
* Emitted whenever a context menu is requested.
|
|
*/
|
|
signals[CONTEXT_MENU_REQUESTED] = g_signal_new (
|
|
"context-menu-requested",
|
|
E_TYPE_CONTENT_EDITOR,
|
|
G_SIGNAL_RUN_LAST,
|
|
G_STRUCT_OFFSET (EContentEditorInterface, context_menu_requested),
|
|
g_signal_accumulator_true_handled, NULL,
|
|
NULL,
|
|
G_TYPE_BOOLEAN, 2,
|
|
G_TYPE_INT,
|
|
GDK_TYPE_EVENT | G_SIGNAL_TYPE_STATIC_SCOPE);
|
|
|
|
/**
|
|
* EContentEditor::find-done
|
|
*
|
|
* Emitted when the call to e_content_editor_find() is done.
|
|
**/
|
|
signals[FIND_DONE] = g_signal_new (
|
|
"find-done",
|
|
E_TYPE_CONTENT_EDITOR,
|
|
G_SIGNAL_RUN_LAST,
|
|
G_STRUCT_OFFSET (EContentEditorInterface, find_done),
|
|
NULL, NULL,
|
|
NULL,
|
|
G_TYPE_NONE, 1,
|
|
G_TYPE_UINT);
|
|
|
|
/**
|
|
* EContentEditor::replace-all-done
|
|
*
|
|
* Emitted when the call to e_content_editor_replace_all() is done.
|
|
**/
|
|
signals[REPLACE_ALL_DONE] = g_signal_new (
|
|
"replace-all-done",
|
|
E_TYPE_CONTENT_EDITOR,
|
|
G_SIGNAL_RUN_LAST,
|
|
G_STRUCT_OFFSET (EContentEditorInterface, replace_all_done),
|
|
NULL, NULL,
|
|
NULL,
|
|
G_TYPE_NONE, 1,
|
|
G_TYPE_UINT);
|
|
}
|
|
|
|
ESpellChecker *
|
|
e_content_editor_ref_spell_checker (EContentEditor *editor)
|
|
{
|
|
ESpellChecker *spell_checker = NULL;
|
|
|
|
g_return_val_if_fail (E_IS_CONTENT_EDITOR (editor), NULL);
|
|
|
|
g_object_get (G_OBJECT (editor), "spell-checker", &spell_checker, NULL);
|
|
|
|
return spell_checker;
|
|
}
|
|
|
|
gboolean
|
|
e_content_editor_can_cut (EContentEditor *editor)
|
|
{
|
|
gboolean value = FALSE;
|
|
|
|
g_return_val_if_fail (E_IS_CONTENT_EDITOR (editor), FALSE);
|
|
|
|
g_object_get (G_OBJECT (editor), "can-cut", &value, NULL);
|
|
|
|
return value;
|
|
}
|
|
|
|
gboolean
|
|
e_content_editor_can_copy (EContentEditor *editor)
|
|
{
|
|
gboolean value = FALSE;
|
|
|
|
g_return_val_if_fail (E_IS_CONTENT_EDITOR (editor), FALSE);
|
|
|
|
g_object_get (G_OBJECT (editor), "can-copy", &value, NULL);
|
|
|
|
return value;
|
|
}
|
|
|
|
gboolean
|
|
e_content_editor_can_paste (EContentEditor *editor)
|
|
{
|
|
gboolean value = FALSE;
|
|
|
|
g_return_val_if_fail (E_IS_CONTENT_EDITOR (editor), FALSE);
|
|
|
|
g_object_get (G_OBJECT (editor), "can-paste", &value, NULL);
|
|
|
|
return value;
|
|
}
|
|
|
|
gboolean
|
|
e_content_editor_can_undo (EContentEditor *editor)
|
|
{
|
|
gboolean value = FALSE;
|
|
|
|
g_return_val_if_fail (E_IS_CONTENT_EDITOR (editor), FALSE);
|
|
|
|
g_object_get (G_OBJECT (editor), "can-undo", &value, NULL);
|
|
|
|
return value;
|
|
}
|
|
|
|
gboolean
|
|
e_content_editor_can_redo (EContentEditor *editor)
|
|
{
|
|
gboolean value = FALSE;
|
|
|
|
g_return_val_if_fail (E_IS_CONTENT_EDITOR (editor), FALSE);
|
|
|
|
g_object_get (G_OBJECT (editor), "can-redo", &value, NULL);
|
|
|
|
return value;
|
|
}
|
|
|
|
/**
|
|
* e_content_editor_is_indented:
|
|
* @editor: an #EContentEditor
|
|
*
|
|
* Returns whether the current paragraph is indented. This does not include
|
|
* citations.
|
|
*
|
|
* Returns: %TRUE when current paragraph is indented, %FALSE otherwise.
|
|
*
|
|
* Since: 3.22
|
|
**/
|
|
gboolean
|
|
e_content_editor_is_indented (EContentEditor *editor)
|
|
{
|
|
gboolean value = FALSE;
|
|
|
|
g_return_val_if_fail (E_IS_CONTENT_EDITOR (editor), FALSE);
|
|
|
|
g_object_get (G_OBJECT (editor), "indented", &value, NULL);
|
|
|
|
return value;
|
|
}
|
|
|
|
gboolean
|
|
e_content_editor_get_spell_check_enabled (EContentEditor *editor)
|
|
{
|
|
gboolean value = FALSE;
|
|
|
|
g_return_val_if_fail (E_IS_CONTENT_EDITOR (editor), FALSE);
|
|
|
|
g_object_get (G_OBJECT (editor), "spell-check-enabled", &value, NULL);
|
|
|
|
return value;
|
|
}
|
|
|
|
void
|
|
e_content_editor_set_spell_check_enabled (EContentEditor *editor,
|
|
gboolean enable)
|
|
{
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
|
|
g_object_set (G_OBJECT (editor), "spell-check-enabled", enable, NULL);
|
|
}
|
|
|
|
gboolean
|
|
e_content_editor_is_editable (EContentEditor *editor)
|
|
{
|
|
gboolean value = FALSE;
|
|
|
|
g_return_val_if_fail (E_IS_CONTENT_EDITOR (editor), FALSE);
|
|
|
|
g_object_get (G_OBJECT (editor), "editable", &value, NULL);
|
|
|
|
return value;
|
|
}
|
|
|
|
void
|
|
e_content_editor_set_editable (EContentEditor *editor,
|
|
gboolean editable)
|
|
{
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
|
|
g_object_set (G_OBJECT (editor), "editable", editable, NULL);
|
|
}
|
|
|
|
gboolean
|
|
e_content_editor_get_changed (EContentEditor *editor)
|
|
{
|
|
gboolean value = FALSE;
|
|
|
|
g_return_val_if_fail (E_IS_CONTENT_EDITOR (editor), FALSE);
|
|
|
|
g_object_get (G_OBJECT (editor), "changed", &value, NULL);
|
|
|
|
return value;
|
|
}
|
|
|
|
void
|
|
e_content_editor_set_changed (EContentEditor *editor,
|
|
gboolean changed)
|
|
{
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
|
|
g_object_set (G_OBJECT (editor), "changed", changed, NULL);
|
|
}
|
|
|
|
gboolean
|
|
e_content_editor_get_html_mode (EContentEditor *editor)
|
|
{
|
|
gboolean value = FALSE;
|
|
|
|
g_return_val_if_fail (E_IS_CONTENT_EDITOR (editor), FALSE);
|
|
|
|
g_object_get (G_OBJECT (editor), "html-mode", &value, NULL);
|
|
|
|
return value;
|
|
}
|
|
|
|
void
|
|
e_content_editor_set_html_mode (EContentEditor *editor,
|
|
gboolean html_mode)
|
|
{
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
|
|
g_object_set (G_OBJECT (editor), "html-mode", html_mode, NULL);
|
|
}
|
|
|
|
/**
|
|
* e_content_editor_set_alignment:
|
|
* @editor: an #EContentEditor
|
|
* @value: an #EContentEditorAlignment value to apply
|
|
*
|
|
* Sets alignment of current paragraph to @value.
|
|
*
|
|
* Since: 3.22
|
|
**/
|
|
void
|
|
e_content_editor_set_alignment (EContentEditor *editor,
|
|
EContentEditorAlignment value)
|
|
{
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
|
|
g_object_set (G_OBJECT (editor), "alignment", value, NULL);
|
|
}
|
|
|
|
/**
|
|
* e_content_editor_get_alignment:
|
|
* @editor: #an EContentEditor
|
|
*
|
|
* Returns alignment of the current paragraph.
|
|
*
|
|
* Returns: #EContentEditorAlignment
|
|
*
|
|
* Since: 3.22
|
|
**/
|
|
EContentEditorAlignment
|
|
e_content_editor_get_alignment (EContentEditor *editor)
|
|
{
|
|
EContentEditorAlignment value = E_CONTENT_EDITOR_ALIGNMENT_LEFT;
|
|
|
|
g_return_val_if_fail (E_IS_CONTENT_EDITOR (editor), E_CONTENT_EDITOR_ALIGNMENT_LEFT);
|
|
|
|
g_object_get (G_OBJECT (editor), "alignment", &value, NULL);
|
|
|
|
return value;
|
|
}
|
|
|
|
/**
|
|
* e_content_editor_set_background_color:
|
|
* @editor: an #EContentEditor
|
|
* @value: a #GdkRGBA
|
|
*
|
|
* Sets the background color of the current selection or letter at the current cursor position to
|
|
* a color defined by @value.
|
|
*
|
|
* Since: 3.22
|
|
**/
|
|
void
|
|
e_content_editor_set_background_color (EContentEditor *editor,
|
|
const GdkRGBA *value)
|
|
{
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
g_return_if_fail (value != NULL);
|
|
|
|
g_object_set (G_OBJECT (editor), "background-color", value, NULL);
|
|
}
|
|
|
|
/**
|
|
* e_content_editor_dup_background_color:
|
|
* @editor: an #EContentEditor
|
|
*
|
|
* Returns the background color used in the current selection or at letter
|
|
* at the current cursor position.
|
|
*
|
|
* Returns: (transfer-full): A newly allocated #GdkRGBA structure with
|
|
* the current background color. Free the returned value with gdk_rgba_free()
|
|
* when done with it.
|
|
*
|
|
* Since: 3.22
|
|
**/
|
|
GdkRGBA *
|
|
e_content_editor_dup_background_color (EContentEditor *editor)
|
|
{
|
|
GdkRGBA *value = NULL;
|
|
|
|
g_return_val_if_fail (E_IS_CONTENT_EDITOR (editor), NULL);
|
|
|
|
g_object_get (G_OBJECT (editor), "background-color", &value, NULL);
|
|
|
|
return value;
|
|
}
|
|
|
|
/**
|
|
* e_content_editor_set_font_color:
|
|
* @editor: an #EContentEditor
|
|
* @value: a #GdkRGBA
|
|
*
|
|
* Sets the font color of the current selection or letter at the current cursor position to
|
|
* a color defined by @value.
|
|
*
|
|
* Since: 3.22
|
|
**/
|
|
void
|
|
e_content_editor_set_font_color (EContentEditor *editor,
|
|
const GdkRGBA *value)
|
|
{
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
g_return_if_fail (value != NULL);
|
|
|
|
g_object_set (G_OBJECT (editor), "font-color", value, NULL);
|
|
}
|
|
|
|
/**
|
|
* e_content_editor_dup_font_color:
|
|
* @editor: an #EContentEditor
|
|
*
|
|
* Returns the font color used in the current selection or at letter
|
|
* at the current cursor position.
|
|
*
|
|
* Returns: (transfer-full): A newly allocated #GdkRGBA structure with
|
|
* the current font color. Free the returned value with gdk_rgba_free()
|
|
* when done with it.
|
|
*
|
|
* Since: 3.22
|
|
**/
|
|
GdkRGBA *
|
|
e_content_editor_dup_font_color (EContentEditor *editor)
|
|
{
|
|
GdkRGBA *value = NULL;
|
|
|
|
g_return_val_if_fail (E_IS_CONTENT_EDITOR (editor), NULL);
|
|
|
|
g_object_get (G_OBJECT (editor), "font-color", &value, NULL);
|
|
|
|
return value;
|
|
}
|
|
|
|
/**
|
|
* e_content_editor_set_font_name:
|
|
* @editor: an #EContentEditor
|
|
* @value: a font name to apply
|
|
*
|
|
* Sets font name of current selection or of letter at current cursor position
|
|
* to @value.
|
|
*
|
|
* Since: 3.22
|
|
**/
|
|
void
|
|
e_content_editor_set_font_name (EContentEditor *editor,
|
|
const gchar *value)
|
|
{
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
g_return_if_fail (value != NULL);
|
|
|
|
g_object_set (G_OBJECT (editor), "font-name", value, NULL);
|
|
}
|
|
|
|
/**
|
|
* e_content_editor_dup_font_name:
|
|
* @editor: an #EContentEditor
|
|
*
|
|
* Returns a name of the font used in the current selection or at letter
|
|
* at the current cursor position.
|
|
*
|
|
* Returns: (transfer-full): A newly allocated string with the font name.
|
|
* Free it with g_free() when done with it.
|
|
*
|
|
* Since: 3.22
|
|
**/
|
|
gchar *
|
|
e_content_editor_dup_font_name (EContentEditor *editor)
|
|
{
|
|
gchar *value = NULL;
|
|
|
|
g_return_val_if_fail (E_IS_CONTENT_EDITOR (editor), NULL);
|
|
|
|
g_object_get (G_OBJECT (editor), "font-name", &value, NULL);
|
|
|
|
return value;
|
|
}
|
|
|
|
/**
|
|
* e_content_editor_set_font_size:
|
|
* @editor: an #EContentEditor
|
|
* @value: font size to apply
|
|
*
|
|
* Sets font size of current selection or of letter at current cursor position
|
|
* to @value.
|
|
*
|
|
* Since: 3.22
|
|
**/
|
|
void
|
|
e_content_editor_set_font_size (EContentEditor *editor,
|
|
gint value)
|
|
{
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
|
|
g_object_set (G_OBJECT (editor), "font-size", value, NULL);
|
|
}
|
|
|
|
/**
|
|
* e_content_editor_get_font_size:
|
|
* @editor: an #EContentEditor
|
|
*
|
|
* Returns fotn size of the current selection or letter at the current
|
|
* cursor position.
|
|
*
|
|
* Returns: Current font size.
|
|
*
|
|
* Since: 3.22
|
|
**/
|
|
gint
|
|
e_content_editor_get_font_size (EContentEditor *editor)
|
|
{
|
|
gint value = -1;
|
|
|
|
g_return_val_if_fail (E_IS_CONTENT_EDITOR (editor), -1);
|
|
|
|
g_object_get (G_OBJECT (editor), "font-size", &value, NULL);
|
|
|
|
return value;
|
|
}
|
|
|
|
/**
|
|
* e_content_editor_set_block_format:
|
|
* @editor: an #EContentEditor
|
|
* @value: an #EContentEditorBlockFormat value
|
|
*
|
|
* Changes block format of the current paragraph to @value.
|
|
*
|
|
* Since: 3.22
|
|
**/
|
|
void
|
|
e_content_editor_set_block_format (EContentEditor *editor,
|
|
EContentEditorBlockFormat value)
|
|
{
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
|
|
g_object_set (G_OBJECT (editor), "block-format", value, NULL);
|
|
}
|
|
|
|
/**
|
|
* e_content_editor_get_block_format:
|
|
* @editor: an #EContentEditor
|
|
*
|
|
* Returns block format of the current paragraph.
|
|
*
|
|
* Returns: #EContentEditorBlockFormat
|
|
*
|
|
* Since: 3.22
|
|
**/
|
|
EContentEditorBlockFormat
|
|
e_content_editor_get_block_format (EContentEditor *editor)
|
|
{
|
|
EContentEditorBlockFormat value = E_CONTENT_EDITOR_BLOCK_FORMAT_NONE;
|
|
|
|
g_return_val_if_fail (E_IS_CONTENT_EDITOR (editor), E_CONTENT_EDITOR_BLOCK_FORMAT_NONE);
|
|
|
|
g_object_get (G_OBJECT (editor), "block-format", &value, NULL);
|
|
|
|
return value;
|
|
}
|
|
|
|
/**
|
|
* e_content_editor_set_bold:
|
|
* @editor: an #EContentEditor
|
|
* @bold: %TRUE to enable bold, %FALSE to disable
|
|
*
|
|
* Changes bold formatting of current selection or letter at current
|
|
* cursor position.
|
|
*
|
|
* Since: 3.22
|
|
**/
|
|
void
|
|
e_content_editor_set_bold (EContentEditor *editor,
|
|
gboolean bold)
|
|
{
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
|
|
g_object_set (G_OBJECT (editor), "bold", bold, NULL);
|
|
}
|
|
|
|
/**
|
|
* e_content_editor_is_bold:
|
|
* @editor: an #EContentEditor
|
|
*
|
|
* Returns whether current selection or letter at current cursor position is bold.
|
|
*
|
|
* Returns: %TRUE when selection is bold, %FALSE otherwise.
|
|
*
|
|
* Since: 3.22
|
|
**/
|
|
gboolean
|
|
e_content_editor_is_bold (EContentEditor *editor)
|
|
{
|
|
gboolean value = FALSE;
|
|
|
|
g_return_val_if_fail (E_IS_CONTENT_EDITOR (editor), FALSE);
|
|
|
|
g_object_get (G_OBJECT (editor), "bold", &value, NULL);
|
|
|
|
return value;
|
|
}
|
|
|
|
/**
|
|
* e_content_editor_set_italic:
|
|
* @editor: an #EContentEditor
|
|
* @italic: %TRUE to enable italic, %FALSE to disable
|
|
*
|
|
* Changes italic formatting of current selection or letter at current
|
|
* cursor position.
|
|
*
|
|
* Since: 3.22
|
|
**/
|
|
void
|
|
e_content_editor_set_italic (EContentEditor *editor,
|
|
gboolean italic)
|
|
{
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
|
|
g_object_set (G_OBJECT (editor), "italic", italic, NULL);
|
|
}
|
|
|
|
/**
|
|
* e_content_editor_is_italic:
|
|
* @editor: an #EContentEditor
|
|
*
|
|
* Returns whether current selection or letter at current cursor position
|
|
* is italic.
|
|
*
|
|
* Returns: %TRUE when selection is italic, %FALSE otherwise.
|
|
*
|
|
* Since: 3.22
|
|
**/
|
|
gboolean
|
|
e_content_editor_is_italic (EContentEditor *editor)
|
|
{
|
|
gboolean value = FALSE;
|
|
|
|
g_return_val_if_fail (E_IS_CONTENT_EDITOR (editor), FALSE);
|
|
|
|
g_object_get (G_OBJECT (editor), "italic", &value, NULL);
|
|
|
|
return value;
|
|
}
|
|
|
|
/**
|
|
* e_content_editor_set_monospaced:
|
|
* @editor: an #EContentEditor
|
|
* @monospaced: %TRUE to enable monospaced, %FALSE to disable
|
|
*
|
|
* Changes monospaced formatting of current selection or letter
|
|
* at current cursor position.
|
|
*
|
|
* Since: 3.22
|
|
**/
|
|
void
|
|
e_content_editor_set_monospaced (EContentEditor *editor,
|
|
gboolean monospaced)
|
|
{
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
|
|
g_object_set (G_OBJECT (editor), "monospaced", monospaced, NULL);
|
|
}
|
|
|
|
/**
|
|
* e_content_editor_is_monospaced:
|
|
* @editor: an #EContentEditor
|
|
*
|
|
* Returns whether current selection or letter at current cursor position
|
|
* is monospaced.
|
|
*
|
|
* Returns: %TRUE when selection is monospaced, %FALSE otherwise.
|
|
*
|
|
* Since: 3.22
|
|
**/
|
|
gboolean
|
|
e_content_editor_is_monospaced (EContentEditor *editor)
|
|
{
|
|
gboolean value = FALSE;
|
|
|
|
g_return_val_if_fail (E_IS_CONTENT_EDITOR (editor), FALSE);
|
|
|
|
g_object_get (G_OBJECT (editor), "monospaced", &value, NULL);
|
|
|
|
return value;
|
|
}
|
|
|
|
/**
|
|
* e_content_editor_set_strikethrough:
|
|
* @editor: an #EContentEditor
|
|
* @strikethrough: %TRUE to enable strikethrough, %FALSE to disable
|
|
*
|
|
* Changes strike through formatting of current selection or letter at current
|
|
* cursor position.
|
|
*
|
|
* Since: 3.22
|
|
**/
|
|
void
|
|
e_content_editor_set_strikethrough (EContentEditor *editor,
|
|
gboolean strikethrough)
|
|
{
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
|
|
g_object_set (G_OBJECT (editor), "strikethrough", strikethrough, NULL);
|
|
}
|
|
|
|
/**
|
|
* e_content_editor_is_strikethrough:
|
|
* @editor: an #EContentEditor
|
|
*
|
|
* Returns whether current selection or letter at current cursor position
|
|
* is striked through.
|
|
*
|
|
* Returns: %TRUE when selection is striked through, %FALSE otherwise.
|
|
*
|
|
* Since: 3.22
|
|
**/
|
|
gboolean
|
|
e_content_editor_is_strikethrough (EContentEditor *editor)
|
|
{
|
|
gboolean value = FALSE;
|
|
|
|
g_return_val_if_fail (E_IS_CONTENT_EDITOR (editor), FALSE);
|
|
|
|
g_object_get (G_OBJECT (editor), "strikethrough", &value, NULL);
|
|
|
|
return value;
|
|
}
|
|
|
|
/**
|
|
* e_content_editor_set_subscript:
|
|
* @editor: an #EContentEditor
|
|
* @subscript: %TRUE to enable subscript, %FALSE to disable
|
|
*
|
|
* Changes subscript of current selection or letter at current
|
|
* cursor position.
|
|
*
|
|
* Since: 3.22
|
|
**/
|
|
void
|
|
e_content_editor_set_subscript (EContentEditor *editor,
|
|
gboolean subscript)
|
|
{
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
|
|
g_object_set (G_OBJECT (editor), "subscript", subscript, NULL);
|
|
}
|
|
|
|
/**
|
|
* e_content_editor_is_subscript:
|
|
* @editor: an #EContentEditor
|
|
*
|
|
* Returns whether current selection or letter at current cursor position
|
|
* is in subscript.
|
|
*
|
|
* Returns: %TRUE when selection is in subscript, %FALSE otherwise.
|
|
*
|
|
* Since: 3.22
|
|
**/
|
|
gboolean
|
|
e_content_editor_is_subscript (EContentEditor *editor)
|
|
{
|
|
gboolean value = FALSE;
|
|
|
|
g_return_val_if_fail (E_IS_CONTENT_EDITOR (editor), FALSE);
|
|
|
|
g_object_get (G_OBJECT (editor), "subscript", &value, NULL);
|
|
|
|
return value;
|
|
}
|
|
|
|
/**
|
|
* e_content_editor_set_superscript:
|
|
* @editor: an #EContentEditor
|
|
* @superscript: %TRUE to enable superscript, %FALSE to disable
|
|
*
|
|
* Changes superscript of the current selection or letter at current
|
|
* cursor position.
|
|
*
|
|
* Since: 3.22
|
|
**/
|
|
void
|
|
e_content_editor_set_superscript (EContentEditor *editor,
|
|
gboolean superscript)
|
|
{
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
|
|
g_object_set (G_OBJECT (editor), "superscript", superscript, NULL);
|
|
}
|
|
|
|
/**
|
|
* e_content_editor_is_superscript:
|
|
* @editor: an #EContentEditor
|
|
*
|
|
* Returns whether current selection or letter at current cursor position
|
|
* is in superscript.
|
|
*
|
|
* Returns: %TRUE when selection is in superscript, %FALSE otherwise.
|
|
*
|
|
* Since: 3.22
|
|
**/
|
|
gboolean
|
|
e_content_editor_is_superscript (EContentEditor *editor)
|
|
{
|
|
gboolean value = FALSE;
|
|
|
|
g_return_val_if_fail (E_IS_CONTENT_EDITOR (editor), FALSE);
|
|
|
|
g_object_get (G_OBJECT (editor), "superscript", &value, NULL);
|
|
|
|
return value;
|
|
}
|
|
|
|
/**
|
|
* e_content_editor_set_underline:
|
|
* @editor: an #EContentEditor
|
|
* @underline: %TRUE to enable underline, %FALSE to disable
|
|
*
|
|
* Changes underline formatting of current selection or letter
|
|
* at current cursor position.
|
|
*
|
|
* Since: 3.22
|
|
**/
|
|
void
|
|
e_content_editor_set_underline (EContentEditor *editor,
|
|
gboolean underline)
|
|
{
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
|
|
g_object_set (G_OBJECT (editor), "underline", underline, NULL);
|
|
}
|
|
|
|
/**
|
|
* e_content_editor_is_underline:
|
|
* @editor: an #EContentEditor
|
|
*
|
|
* Returns whether current selection or letter at current cursor position
|
|
* is underlined.
|
|
*
|
|
* Returns: %TRUE when selection is underlined, %FALSE otherwise.
|
|
*
|
|
* Since: 3.22
|
|
**/
|
|
gboolean
|
|
e_content_editor_is_underline (EContentEditor *editor)
|
|
{
|
|
gboolean value = FALSE;
|
|
|
|
g_return_val_if_fail (E_IS_CONTENT_EDITOR (editor), FALSE);
|
|
|
|
g_object_get (G_OBJECT (editor), "underline", &value, NULL);
|
|
|
|
return value;
|
|
}
|
|
|
|
/**
|
|
* e_content_editor_setup_editor:
|
|
* @content_editor: an #EContentEditor
|
|
* @callback: an #EContentEditorInitializedCallback function
|
|
* @user_data: data to pass to @callback
|
|
*
|
|
* Initilizes the @content_editor. Once the initialization is done,
|
|
* the @callback is called with the passed @user_data.
|
|
*
|
|
* Since: 3.22
|
|
**/
|
|
void
|
|
e_content_editor_initialize (EContentEditor *content_editor,
|
|
EContentEditorInitializedCallback callback,
|
|
gpointer user_data)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (content_editor));
|
|
g_return_if_fail (callback != NULL);
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (content_editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->initialize != NULL);
|
|
|
|
iface->initialize (content_editor, callback, user_data);
|
|
}
|
|
|
|
/**
|
|
* e_content_editor_setup_editor:
|
|
* @content_editor: an #EContentEditor
|
|
* @html_editor: an #EHTMLEditor
|
|
*
|
|
* 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.
|
|
*
|
|
* Since: 3.22
|
|
**/
|
|
void
|
|
e_content_editor_setup_editor (EContentEditor *content_editor,
|
|
EHTMLEditor *html_editor)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (content_editor));
|
|
g_return_if_fail (E_IS_HTML_EDITOR (html_editor));
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (content_editor);
|
|
g_return_if_fail (iface != NULL);
|
|
|
|
if (iface->setup_editor)
|
|
iface->setup_editor (content_editor, html_editor);
|
|
}
|
|
|
|
void
|
|
e_content_editor_update_styles (EContentEditor *editor)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->update_styles != NULL);
|
|
|
|
iface->update_styles (editor);
|
|
}
|
|
|
|
void
|
|
e_content_editor_insert_content (EContentEditor *editor,
|
|
const gchar *content,
|
|
EContentEditorInsertContentFlags flags)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
g_return_if_fail (content != NULL);
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->insert_content != NULL);
|
|
|
|
iface->insert_content (editor, content, flags);
|
|
}
|
|
|
|
gchar *
|
|
e_content_editor_get_content (EContentEditor *editor,
|
|
EContentEditorGetContentFlags flags,
|
|
const gchar *inline_images_from_domain,
|
|
GSList **inline_images_parts /* newly created CamelMimePart * */)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_val_if_fail (E_IS_CONTENT_EDITOR (editor), NULL);
|
|
if ((flags & E_CONTENT_EDITOR_GET_INLINE_IMAGES)) {
|
|
g_return_val_if_fail (inline_images_from_domain != NULL, NULL);
|
|
g_return_val_if_fail (inline_images_parts != NULL, NULL);
|
|
}
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_val_if_fail (iface != NULL, NULL);
|
|
g_return_val_if_fail (iface->get_content != NULL, NULL);
|
|
|
|
return iface->get_content (editor, flags, inline_images_from_domain, inline_images_parts);
|
|
}
|
|
|
|
void
|
|
e_content_editor_insert_image_from_mime_part (EContentEditor *editor,
|
|
CamelMimePart *part)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
g_return_if_fail (part != NULL);
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->insert_image_from_mime_part != NULL);
|
|
|
|
iface->insert_image_from_mime_part (editor, part);
|
|
}
|
|
|
|
/**
|
|
* e_content_editor_insert_image:
|
|
* @editor: an #EContentEditor
|
|
* @uri: an URI of the source image
|
|
*
|
|
* Inserts image at current cursor position using @uri as source. When a
|
|
* text range is selected, it will be replaced by the image.
|
|
*
|
|
* Since: 3.22
|
|
**/
|
|
void
|
|
e_content_editor_insert_image (EContentEditor *editor,
|
|
const gchar *uri)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
g_return_if_fail (uri != NULL);
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->insert_image != NULL);
|
|
|
|
iface->insert_image (editor, uri);
|
|
}
|
|
|
|
void
|
|
e_content_editor_insert_emoticon (EContentEditor *editor,
|
|
EEmoticon *emoticon)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
g_return_if_fail (emoticon != NULL);
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->insert_emoticon != NULL);
|
|
|
|
iface->insert_emoticon (editor, emoticon);
|
|
}
|
|
|
|
void
|
|
e_content_editor_move_caret_on_coordinates (EContentEditor *editor,
|
|
gint x,
|
|
gint y,
|
|
gboolean cancel_if_not_collapsed)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
g_return_if_fail (x > 0);
|
|
g_return_if_fail (y > 0);
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->move_caret_on_coordinates != NULL);
|
|
|
|
iface->move_caret_on_coordinates (editor, x, y, cancel_if_not_collapsed);
|
|
}
|
|
|
|
void
|
|
e_content_editor_cut (EContentEditor *editor)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->cut != NULL);
|
|
|
|
iface->cut (editor);
|
|
}
|
|
|
|
void
|
|
e_content_editor_copy (EContentEditor *editor)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->copy != NULL);
|
|
|
|
iface->copy (editor);
|
|
}
|
|
|
|
void
|
|
e_content_editor_paste (EContentEditor *editor)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->paste != NULL);
|
|
|
|
iface->paste (editor);
|
|
}
|
|
|
|
void
|
|
e_content_editor_paste_primary (EContentEditor *editor)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->paste_primary != NULL);
|
|
|
|
iface->paste_primary (editor);
|
|
}
|
|
|
|
void
|
|
e_content_editor_undo (EContentEditor *editor)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->undo != NULL);
|
|
|
|
iface->undo (editor);
|
|
}
|
|
|
|
void
|
|
e_content_editor_redo (EContentEditor *editor)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->redo != NULL);
|
|
|
|
iface->redo (editor);
|
|
}
|
|
|
|
void
|
|
e_content_editor_clear_undo_redo_history (EContentEditor *editor)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->clear_undo_redo_history != NULL);
|
|
|
|
iface->clear_undo_redo_history (editor);
|
|
}
|
|
|
|
void
|
|
e_content_editor_set_spell_checking_languages (EContentEditor *editor,
|
|
const gchar **languages)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->set_spell_checking_languages != NULL);
|
|
|
|
iface->set_spell_checking_languages (editor, languages);
|
|
}
|
|
|
|
void
|
|
e_content_editor_select_all (EContentEditor *editor)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->select_all != NULL);
|
|
|
|
iface->select_all (editor);
|
|
}
|
|
|
|
/**
|
|
* e_content_editor_get_selected_text:
|
|
* @editor: an #EContentEditor
|
|
*
|
|
* Returns currently selected string.
|
|
*
|
|
* Returns: (transfer-full): A newly allocated string with the content of current selection.
|
|
*
|
|
* Since: 3.22
|
|
**/
|
|
gchar *
|
|
e_content_editor_get_selected_text (EContentEditor *editor)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_val_if_fail (E_IS_CONTENT_EDITOR (editor), NULL);
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_val_if_fail (iface != NULL, NULL);
|
|
g_return_val_if_fail (iface->get_selected_text != NULL, NULL);
|
|
|
|
return iface->get_selected_text (editor);
|
|
}
|
|
|
|
/**
|
|
* e_content_editor_get_caret_word:
|
|
* @editor: an #EContentEditor
|
|
*
|
|
* Returns word under cursor.
|
|
*
|
|
* Returns: (transfer-full): A newly allocated string with current caret word or %NULL
|
|
* when there is no text under cursor or when selection is active.
|
|
*
|
|
* Since: 3.22
|
|
**/
|
|
gchar *
|
|
e_content_editor_get_caret_word (EContentEditor *editor)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_val_if_fail (E_IS_CONTENT_EDITOR (editor), NULL);
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_val_if_fail (iface != NULL, NULL);
|
|
g_return_val_if_fail (iface->get_caret_word != NULL, NULL);
|
|
|
|
return iface->get_caret_word (editor);
|
|
}
|
|
|
|
/**
|
|
* e_content_editor_replace_caret_word:
|
|
* @editor: an #EContentEditor
|
|
* @replacement: a string to replace current caret word with
|
|
*
|
|
* Replaces current word under cursor with @replacement.
|
|
*
|
|
* Since: 3.22
|
|
**/
|
|
void
|
|
e_content_editor_replace_caret_word (EContentEditor *editor,
|
|
const gchar *replacement)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
g_return_if_fail (replacement != NULL);
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->replace_caret_word != NULL);
|
|
|
|
iface->replace_caret_word (editor, replacement);
|
|
}
|
|
|
|
void
|
|
e_content_editor_selection_indent (EContentEditor *editor)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->selection_indent != NULL);
|
|
|
|
iface->selection_indent (editor);
|
|
}
|
|
|
|
void
|
|
e_content_editor_selection_unindent (EContentEditor *editor)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->selection_unindent != NULL);
|
|
|
|
iface->selection_unindent (editor);
|
|
}
|
|
|
|
/**
|
|
* e_content_editor_selection_create_link:
|
|
* @editor: an #EContentEditor
|
|
* @uri: destination of the new link
|
|
*
|
|
* Converts current selection into a link pointing to @url.
|
|
*
|
|
* Since: 3.22
|
|
**/
|
|
void
|
|
e_content_editor_selection_create_link (EContentEditor *editor,
|
|
const gchar *uri)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
g_return_if_fail (uri != NULL);
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->selection_create_link != NULL);
|
|
|
|
iface->selection_create_link (editor, uri);
|
|
}
|
|
|
|
/**
|
|
* e_content_editor_selection_unlink:
|
|
* @editor: an #EContentEditor
|
|
*
|
|
* Removes any links (<A> elements) from current selection or at current
|
|
* cursor position.
|
|
*
|
|
* Since: 3.22
|
|
**/
|
|
void
|
|
e_content_editor_selection_unlink (EContentEditor *editor)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->selection_unlink != NULL);
|
|
|
|
iface->selection_unlink (editor);
|
|
}
|
|
|
|
/**
|
|
* e_content_editor_find:
|
|
* @editor: an #EContentEditor
|
|
* @flags: a bit-OR of #EContentEditorFindFlags flags
|
|
* @text: a text to find
|
|
*
|
|
* 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().
|
|
*
|
|
* Since: 3.22
|
|
**/
|
|
void
|
|
e_content_editor_find (EContentEditor *editor,
|
|
guint32 flags,
|
|
const gchar *text)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
g_return_if_fail (text != NULL);
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->find != NULL);
|
|
|
|
iface->find (editor, flags, text);
|
|
}
|
|
|
|
/**
|
|
* e_content_editor_replace:
|
|
* @editor: an #EContentEditor
|
|
* @replacement: a string to replace current selection with
|
|
*
|
|
* Replaces currently selected text with @replacement.
|
|
*
|
|
* Since: 3.22
|
|
**/
|
|
void
|
|
e_content_editor_replace (EContentEditor *editor,
|
|
const gchar *replacement)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
g_return_if_fail (replacement != NULL);
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->replace != NULL);
|
|
|
|
iface->replace (editor, replacement);
|
|
}
|
|
|
|
/**
|
|
* e_content_editor_replace_all:
|
|
* @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
|
|
*
|
|
* 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().
|
|
*
|
|
* Since: 3.22
|
|
**/
|
|
void
|
|
e_content_editor_replace_all (EContentEditor *editor,
|
|
guint32 flags,
|
|
const gchar *find_text,
|
|
const gchar *replace_with)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
g_return_if_fail (find_text != NULL);
|
|
g_return_if_fail (replace_with != NULL);
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->replace_all != NULL);
|
|
|
|
iface->replace_all (editor, flags, find_text, replace_with);
|
|
}
|
|
|
|
/**
|
|
* e_content_editor_selection_save:
|
|
* @editor: an #EContentEditor
|
|
*
|
|
* 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).
|
|
*
|
|
* Since: 3.22
|
|
**/
|
|
void
|
|
e_content_editor_selection_save (EContentEditor *editor)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->selection_save != NULL);
|
|
|
|
iface->selection_save (editor);
|
|
}
|
|
|
|
/**
|
|
* e_content_editor_selection_restore:
|
|
* @editor: an #EContentEditor
|
|
*
|
|
* 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.
|
|
*
|
|
* Since: 3.22
|
|
**/
|
|
void
|
|
e_content_editor_selection_restore (EContentEditor *editor)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->selection_restore != NULL);
|
|
|
|
iface->selection_restore (editor);
|
|
}
|
|
|
|
void
|
|
e_content_editor_selection_wrap (EContentEditor *editor)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->selection_wrap != NULL);
|
|
|
|
iface->selection_wrap (editor);
|
|
}
|
|
|
|
guint
|
|
e_content_editor_get_caret_position (EContentEditor *editor)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_val_if_fail (E_IS_CONTENT_EDITOR (editor), 0);
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_val_if_fail (iface != NULL, 0);
|
|
g_return_val_if_fail (iface->get_caret_position != NULL, 0);
|
|
|
|
return iface->get_caret_position (editor);
|
|
}
|
|
|
|
guint
|
|
e_content_editor_get_caret_offset (EContentEditor *editor)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_val_if_fail (E_IS_CONTENT_EDITOR (editor), 0);
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_val_if_fail (iface != NULL, 0);
|
|
g_return_val_if_fail (iface->get_caret_offset != NULL, 0);
|
|
|
|
return iface->get_caret_offset (editor);
|
|
}
|
|
|
|
gchar *
|
|
e_content_editor_get_current_signature_uid (EContentEditor *editor)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_val_if_fail (E_IS_CONTENT_EDITOR (editor), NULL);
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_val_if_fail (iface != NULL, NULL);
|
|
g_return_val_if_fail (iface->get_current_signature_uid != NULL, NULL);
|
|
|
|
return iface->get_current_signature_uid (editor);
|
|
}
|
|
|
|
gboolean
|
|
e_content_editor_is_ready (EContentEditor *editor)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_val_if_fail (E_IS_CONTENT_EDITOR (editor), FALSE);
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_val_if_fail (iface != NULL, FALSE);
|
|
g_return_val_if_fail (iface->is_ready != NULL, FALSE);
|
|
|
|
return iface->is_ready (editor);
|
|
}
|
|
|
|
gchar *
|
|
e_content_editor_insert_signature (EContentEditor *editor,
|
|
const gchar *content,
|
|
gboolean is_html,
|
|
const gchar *signature_id,
|
|
gboolean *set_signature_from_message,
|
|
gboolean *check_if_signature_is_changed,
|
|
gboolean *ignore_next_signature_change)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_val_if_fail (E_IS_CONTENT_EDITOR (editor), FALSE);
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_val_if_fail (iface != NULL, FALSE);
|
|
g_return_val_if_fail (iface->insert_signature != NULL, FALSE);
|
|
|
|
return iface->insert_signature (
|
|
editor,
|
|
content,
|
|
is_html,
|
|
signature_id,
|
|
set_signature_from_message,
|
|
check_if_signature_is_changed,
|
|
ignore_next_signature_change);
|
|
}
|
|
|
|
void
|
|
e_content_editor_delete_cell_contents (EContentEditor *editor)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->delete_cell_contents != NULL);
|
|
|
|
iface->delete_cell_contents (editor);
|
|
}
|
|
|
|
void
|
|
e_content_editor_delete_column (EContentEditor *editor)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->delete_column != NULL);
|
|
|
|
iface->delete_column (editor);
|
|
}
|
|
|
|
void
|
|
e_content_editor_delete_row (EContentEditor *editor)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->delete_row != NULL);
|
|
|
|
iface->delete_row (editor);
|
|
}
|
|
|
|
void
|
|
e_content_editor_delete_table (EContentEditor *editor)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->delete_table != NULL);
|
|
|
|
iface->delete_table (editor);
|
|
}
|
|
|
|
void
|
|
e_content_editor_insert_column_after (EContentEditor *editor)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->insert_column_after != NULL);
|
|
|
|
iface->insert_column_after (editor);
|
|
}
|
|
|
|
void
|
|
e_content_editor_insert_column_before (EContentEditor *editor)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->insert_column_before != NULL);
|
|
|
|
iface->insert_column_before (editor);
|
|
}
|
|
|
|
void
|
|
e_content_editor_insert_row_above (EContentEditor *editor)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->insert_row_above != NULL);
|
|
|
|
iface->insert_row_above (editor);
|
|
}
|
|
|
|
void
|
|
e_content_editor_insert_row_below (EContentEditor *editor)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->insert_row_below != NULL);
|
|
|
|
iface->insert_row_below (editor);
|
|
}
|
|
|
|
gboolean
|
|
e_content_editor_on_h_rule_dialog_open (EContentEditor *editor)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_val_if_fail (E_IS_CONTENT_EDITOR (editor), FALSE);
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_val_if_fail (iface != NULL, FALSE);
|
|
g_return_val_if_fail (iface->on_h_rule_dialog_open != NULL, FALSE);
|
|
|
|
return iface->on_h_rule_dialog_open (editor);
|
|
}
|
|
|
|
void
|
|
e_content_editor_on_h_rule_dialog_close (EContentEditor *editor)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->on_h_rule_dialog_close != NULL);
|
|
|
|
iface->on_h_rule_dialog_close (editor);
|
|
}
|
|
|
|
void
|
|
e_content_editor_h_rule_set_align (EContentEditor *editor,
|
|
const gchar *value)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->h_rule_set_align != NULL);
|
|
|
|
iface->h_rule_set_align (editor, value);
|
|
}
|
|
|
|
gchar *
|
|
e_content_editor_h_rule_get_align (EContentEditor *editor)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_val_if_fail (E_IS_CONTENT_EDITOR (editor), NULL);
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_val_if_fail (iface != NULL, NULL);
|
|
g_return_val_if_fail (iface->h_rule_get_align != NULL, NULL);
|
|
|
|
return iface->h_rule_get_align (editor);
|
|
}
|
|
|
|
void
|
|
e_content_editor_h_rule_set_size (EContentEditor *editor,
|
|
gint value)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->h_rule_set_size != NULL);
|
|
|
|
iface->h_rule_set_size (editor, value);
|
|
}
|
|
|
|
gint
|
|
e_content_editor_h_rule_get_size (EContentEditor *editor)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_val_if_fail (E_IS_CONTENT_EDITOR (editor), 0);
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_val_if_fail (iface != NULL, 0);
|
|
g_return_val_if_fail (iface->h_rule_get_size != NULL, 0);
|
|
|
|
return iface->h_rule_get_size (editor);
|
|
}
|
|
|
|
void
|
|
e_content_editor_h_rule_set_width (EContentEditor *editor,
|
|
gint value,
|
|
EContentEditorUnit unit)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->h_rule_set_width != NULL);
|
|
|
|
iface->h_rule_set_width (editor, value, unit);
|
|
}
|
|
|
|
gint
|
|
e_content_editor_h_rule_get_width (EContentEditor *editor,
|
|
EContentEditorUnit *unit)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_val_if_fail (E_IS_CONTENT_EDITOR (editor), 0);
|
|
g_return_val_if_fail (unit != NULL, 0);
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_val_if_fail (iface != NULL, 0);
|
|
g_return_val_if_fail (iface->h_rule_get_width != NULL, 0);
|
|
|
|
return iface->h_rule_get_width (editor, unit);
|
|
}
|
|
|
|
void
|
|
e_content_editor_h_rule_set_no_shade (EContentEditor *editor,
|
|
gboolean value)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->h_rule_set_no_shade != NULL);
|
|
|
|
iface->h_rule_set_no_shade (editor, value);
|
|
}
|
|
|
|
gboolean
|
|
e_content_editor_h_rule_get_no_shade (EContentEditor *editor)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_val_if_fail (E_IS_CONTENT_EDITOR (editor), FALSE);
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_val_if_fail (iface != NULL, FALSE);
|
|
g_return_val_if_fail (iface->h_rule_get_no_shade != NULL, FALSE);
|
|
|
|
return iface->h_rule_get_no_shade (editor);
|
|
}
|
|
|
|
void
|
|
e_content_editor_on_image_dialog_open (EContentEditor *editor)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->on_image_dialog_open != NULL);
|
|
|
|
iface->on_image_dialog_open (editor);
|
|
}
|
|
|
|
void
|
|
e_content_editor_on_image_dialog_close (EContentEditor *editor)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->on_image_dialog_close != NULL);
|
|
|
|
iface->on_image_dialog_close (editor);
|
|
}
|
|
|
|
void
|
|
e_content_editor_image_set_width_follow (EContentEditor *editor,
|
|
gboolean value)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->image_set_width_follow != NULL);
|
|
|
|
iface->image_set_width_follow (editor, value);
|
|
}
|
|
|
|
void
|
|
e_content_editor_image_set_src (EContentEditor *editor,
|
|
const gchar *value)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->image_set_src != NULL);
|
|
|
|
iface->image_set_src (editor, value);
|
|
}
|
|
|
|
gchar *
|
|
e_content_editor_image_get_src (EContentEditor *editor)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_val_if_fail (E_IS_CONTENT_EDITOR (editor), FALSE);
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_val_if_fail (iface != NULL, FALSE);
|
|
g_return_val_if_fail (iface->image_get_src != NULL, FALSE);
|
|
|
|
return iface->image_get_src (editor);
|
|
}
|
|
|
|
void
|
|
e_content_editor_image_set_alt (EContentEditor *editor,
|
|
const gchar *value)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->image_set_alt != NULL);
|
|
|
|
iface->image_set_alt (editor, value);
|
|
}
|
|
|
|
gchar *
|
|
e_content_editor_image_get_alt (EContentEditor *editor)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_val_if_fail (E_IS_CONTENT_EDITOR (editor), FALSE);
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_val_if_fail (iface != NULL, FALSE);
|
|
g_return_val_if_fail (iface->image_get_alt != NULL, FALSE);
|
|
|
|
return iface->image_get_alt (editor);
|
|
}
|
|
|
|
void
|
|
e_content_editor_image_set_url (EContentEditor *editor,
|
|
const gchar *value)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->image_set_url != NULL);
|
|
|
|
iface->image_set_url (editor, value);
|
|
}
|
|
|
|
gchar *
|
|
e_content_editor_image_get_url (EContentEditor *editor)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_val_if_fail (E_IS_CONTENT_EDITOR (editor), FALSE);
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_val_if_fail (iface != NULL, FALSE);
|
|
g_return_val_if_fail (iface->image_get_url != NULL, FALSE);
|
|
|
|
return iface->image_get_url (editor);
|
|
}
|
|
|
|
void
|
|
e_content_editor_image_set_vspace (EContentEditor *editor,
|
|
gint value)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->image_set_vspace != NULL);
|
|
|
|
iface->image_set_vspace (editor, value);
|
|
}
|
|
|
|
gint
|
|
e_content_editor_image_get_vspace (EContentEditor *editor)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_val_if_fail (E_IS_CONTENT_EDITOR (editor), 0);
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_val_if_fail (iface != NULL, 0);
|
|
g_return_val_if_fail (iface->image_get_vspace != NULL, 0);
|
|
|
|
return iface->image_get_vspace (editor);
|
|
}
|
|
|
|
|
|
void
|
|
e_content_editor_image_set_hspace (EContentEditor *editor,
|
|
gint value)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->image_set_hspace != NULL);
|
|
|
|
iface->image_set_hspace (editor, value);
|
|
}
|
|
|
|
gint
|
|
e_content_editor_image_get_hspace (EContentEditor *editor)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_val_if_fail (E_IS_CONTENT_EDITOR (editor), 0);
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_val_if_fail (iface != NULL, 0);
|
|
g_return_val_if_fail (iface->image_get_hspace != NULL, 0);
|
|
|
|
return iface->image_get_hspace (editor);
|
|
}
|
|
|
|
void
|
|
e_content_editor_image_set_border (EContentEditor *editor,
|
|
gint value)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->image_set_border != NULL);
|
|
|
|
iface->image_set_border (editor, value);
|
|
}
|
|
|
|
gint
|
|
e_content_editor_image_get_border (EContentEditor *editor)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_val_if_fail (E_IS_CONTENT_EDITOR (editor), FALSE);
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_val_if_fail (iface != NULL, FALSE);
|
|
g_return_val_if_fail (iface->image_get_border != NULL, FALSE);
|
|
|
|
return iface->image_get_border (editor);
|
|
}
|
|
|
|
void
|
|
e_content_editor_image_set_align (EContentEditor *editor,
|
|
const gchar *value)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->image_set_align != NULL);
|
|
|
|
iface->image_set_align (editor, value);
|
|
}
|
|
|
|
gchar *
|
|
e_content_editor_image_get_align (EContentEditor *editor)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_val_if_fail (E_IS_CONTENT_EDITOR (editor), FALSE);
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_val_if_fail (iface != NULL, FALSE);
|
|
g_return_val_if_fail (iface->image_get_align != NULL, FALSE);
|
|
|
|
return iface->image_get_align (editor);
|
|
}
|
|
|
|
gint32
|
|
e_content_editor_image_get_natural_width (EContentEditor *editor)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_val_if_fail (E_IS_CONTENT_EDITOR (editor), 0);
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_val_if_fail (iface != NULL, 0);
|
|
g_return_val_if_fail (iface->image_get_natural_width != NULL, 0);
|
|
|
|
return iface->image_get_natural_width (editor);
|
|
}
|
|
|
|
gint32
|
|
e_content_editor_image_get_natural_height (EContentEditor *editor)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_val_if_fail (E_IS_CONTENT_EDITOR (editor), 0);
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_val_if_fail (iface != NULL, 0);
|
|
g_return_val_if_fail (iface->image_get_natural_height != NULL, 0);
|
|
|
|
return iface->image_get_natural_height (editor);
|
|
}
|
|
|
|
void
|
|
e_content_editor_image_set_width (EContentEditor *editor,
|
|
gint value)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->image_set_width != NULL);
|
|
|
|
iface->image_set_width (editor, value);
|
|
}
|
|
|
|
gint32
|
|
e_content_editor_image_get_width (EContentEditor *editor)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_val_if_fail (E_IS_CONTENT_EDITOR (editor), 0);
|
|
g_return_val_if_fail (E_IS_CONTENT_EDITOR (editor), 0);
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_val_if_fail (iface != NULL, 0);
|
|
g_return_val_if_fail (iface->image_get_width != NULL, 0);
|
|
|
|
return iface->image_get_width (editor);
|
|
}
|
|
|
|
void
|
|
e_content_editor_image_set_height (EContentEditor *editor,
|
|
gint value)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->image_set_height != NULL);
|
|
|
|
iface->image_set_height (editor, value);
|
|
}
|
|
|
|
gint32
|
|
e_content_editor_image_get_height (EContentEditor *editor)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_val_if_fail (E_IS_CONTENT_EDITOR (editor), 0);
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_val_if_fail (iface != NULL, 0);
|
|
g_return_val_if_fail (iface->image_get_height != NULL, 0);
|
|
|
|
return iface->image_get_height (editor);
|
|
}
|
|
|
|
void
|
|
e_content_editor_image_set_height_follow (EContentEditor *editor,
|
|
gboolean value)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->image_set_height_follow != NULL);
|
|
|
|
iface->image_set_height_follow (editor, value);
|
|
}
|
|
|
|
void
|
|
e_content_editor_on_link_dialog_open (EContentEditor *editor)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->on_link_dialog_open != NULL);
|
|
|
|
iface->on_link_dialog_open (editor);
|
|
}
|
|
|
|
void
|
|
e_content_editor_on_link_dialog_close (EContentEditor *editor)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->on_link_dialog_close != NULL);
|
|
|
|
iface->on_link_dialog_close (editor);
|
|
}
|
|
|
|
void
|
|
e_content_editor_link_get_values (EContentEditor *editor,
|
|
gchar **href,
|
|
gchar **text)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->link_get_values != NULL);
|
|
|
|
return iface->link_get_values (editor, href, text);
|
|
}
|
|
|
|
void
|
|
e_content_editor_link_set_values (EContentEditor *editor,
|
|
const gchar *href,
|
|
const gchar *text)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->link_set_values != NULL);
|
|
|
|
iface->link_set_values (editor, href, text);
|
|
}
|
|
|
|
void
|
|
e_content_editor_on_page_dialog_open (EContentEditor *editor)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->on_page_dialog_open != NULL);
|
|
|
|
iface->on_page_dialog_open (editor);
|
|
}
|
|
|
|
void
|
|
e_content_editor_on_page_dialog_close (EContentEditor *editor)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->on_page_dialog_close != NULL);
|
|
|
|
iface->on_page_dialog_close (editor);
|
|
}
|
|
|
|
void
|
|
e_content_editor_page_set_text_color (EContentEditor *editor,
|
|
const GdkRGBA *value)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
g_return_if_fail (value != NULL);
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->page_set_text_color != NULL);
|
|
|
|
iface->page_set_text_color (editor, value);
|
|
}
|
|
|
|
void
|
|
e_content_editor_page_get_text_color (EContentEditor *editor,
|
|
GdkRGBA *value)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
g_return_if_fail (value != NULL);
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->page_get_text_color != NULL);
|
|
|
|
return iface->page_get_text_color (editor, value);
|
|
}
|
|
|
|
void
|
|
e_content_editor_page_set_background_color (EContentEditor *editor,
|
|
const GdkRGBA *value)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
g_return_if_fail (value != NULL);
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->page_set_background_color != NULL);
|
|
|
|
iface->page_set_background_color (editor, value);
|
|
}
|
|
|
|
void
|
|
e_content_editor_page_get_background_color (EContentEditor *editor,
|
|
GdkRGBA *value)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
g_return_if_fail (value != NULL);
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->page_get_background_color != NULL);
|
|
|
|
return iface->page_get_background_color (editor, value);
|
|
}
|
|
|
|
void
|
|
e_content_editor_page_set_link_color (EContentEditor *editor,
|
|
const GdkRGBA *value)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
g_return_if_fail (value != NULL);
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->page_set_link_color != NULL);
|
|
|
|
iface->page_set_link_color (editor, value);
|
|
}
|
|
|
|
void
|
|
e_content_editor_page_get_link_color (EContentEditor *editor,
|
|
GdkRGBA *value)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
g_return_if_fail (value != NULL);
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->page_get_link_color != NULL);
|
|
|
|
return iface->page_get_link_color (editor, value);
|
|
}
|
|
|
|
void
|
|
e_content_editor_page_set_visited_link_color (EContentEditor *editor,
|
|
const GdkRGBA *value)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
g_return_if_fail (value != NULL);
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->page_set_visited_link_color != NULL);
|
|
|
|
iface->page_set_visited_link_color (editor, value);
|
|
}
|
|
|
|
void
|
|
e_content_editor_page_get_visited_link_color (EContentEditor *editor,
|
|
GdkRGBA *value)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
g_return_if_fail (value != NULL);
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->page_get_visited_link_color != NULL);
|
|
|
|
return iface->page_get_visited_link_color (editor, value);
|
|
}
|
|
|
|
/* uri could be NULL -> removes the current image */
|
|
void
|
|
e_content_editor_page_set_background_image_uri (EContentEditor *editor,
|
|
const gchar *uri)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->page_set_background_image_uri != NULL);
|
|
|
|
iface->page_set_background_image_uri (editor, uri);
|
|
}
|
|
|
|
gchar *
|
|
e_content_editor_page_get_background_image_uri (EContentEditor *editor)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_val_if_fail (E_IS_CONTENT_EDITOR (editor), NULL);
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_val_if_fail (iface != NULL, NULL);
|
|
g_return_val_if_fail (iface->page_get_background_image_uri != NULL, NULL);
|
|
|
|
return iface->page_get_background_image_uri (editor);
|
|
}
|
|
|
|
void
|
|
e_content_editor_on_cell_dialog_open (EContentEditor *editor)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->on_cell_dialog_open != NULL);
|
|
|
|
iface->on_cell_dialog_open (editor);
|
|
}
|
|
|
|
void
|
|
e_content_editor_on_cell_dialog_close (EContentEditor *editor)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->on_cell_dialog_close != NULL);
|
|
|
|
iface->on_cell_dialog_close (editor);
|
|
}
|
|
|
|
void
|
|
e_content_editor_cell_set_v_align (EContentEditor *editor,
|
|
const gchar *value,
|
|
EContentEditorScope scope)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
g_return_if_fail (value != NULL);
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->cell_set_v_align != NULL);
|
|
|
|
iface->cell_set_v_align (editor, value, scope);
|
|
}
|
|
|
|
gchar *
|
|
e_content_editor_cell_get_v_align (EContentEditor *editor)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_val_if_fail (E_IS_CONTENT_EDITOR (editor), NULL);
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_val_if_fail (iface != NULL, NULL);
|
|
g_return_val_if_fail (iface->cell_get_v_align != NULL, NULL);
|
|
|
|
return iface->cell_get_v_align (editor);
|
|
}
|
|
|
|
void
|
|
e_content_editor_cell_set_align (EContentEditor *editor,
|
|
const gchar *value,
|
|
EContentEditorScope scope)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
g_return_if_fail (value != NULL);
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->cell_set_align != NULL);
|
|
|
|
iface->cell_set_align (editor, value, scope);
|
|
}
|
|
|
|
gchar *
|
|
e_content_editor_cell_get_align (EContentEditor *editor)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_val_if_fail (E_IS_CONTENT_EDITOR (editor), NULL);
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_val_if_fail (iface != NULL, NULL);
|
|
g_return_val_if_fail (iface->cell_get_align != NULL, NULL);
|
|
|
|
return iface->cell_get_align (editor);
|
|
}
|
|
|
|
void
|
|
e_content_editor_cell_set_wrap (EContentEditor *editor,
|
|
gboolean value,
|
|
EContentEditorScope scope)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->cell_set_wrap != NULL);
|
|
|
|
iface->cell_set_wrap (editor, value, scope);
|
|
}
|
|
|
|
gboolean
|
|
e_content_editor_cell_get_wrap (EContentEditor *editor)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_val_if_fail (E_IS_CONTENT_EDITOR (editor), FALSE);
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_val_if_fail (iface != NULL, FALSE);
|
|
g_return_val_if_fail (iface->cell_get_wrap != NULL, FALSE);
|
|
|
|
return iface->cell_get_wrap (editor);
|
|
}
|
|
|
|
void
|
|
e_content_editor_cell_set_header_style (EContentEditor *editor,
|
|
gboolean value,
|
|
EContentEditorScope scope)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->cell_set_header_style != NULL);
|
|
|
|
iface->cell_set_header_style (editor, value, scope);
|
|
}
|
|
|
|
gboolean
|
|
e_content_editor_cell_is_header (EContentEditor *editor)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_val_if_fail (E_IS_CONTENT_EDITOR (editor), FALSE);
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_val_if_fail (iface != NULL, FALSE);
|
|
g_return_val_if_fail (iface->cell_is_header != NULL, FALSE);
|
|
|
|
return iface->cell_is_header (editor);
|
|
}
|
|
|
|
void
|
|
e_content_editor_cell_set_width (EContentEditor *editor,
|
|
gint value,
|
|
EContentEditorUnit unit,
|
|
EContentEditorScope scope)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->cell_set_width != NULL);
|
|
|
|
iface->cell_set_width (editor, value, unit, scope);
|
|
}
|
|
|
|
gint
|
|
e_content_editor_cell_get_width (EContentEditor *editor,
|
|
EContentEditorUnit *unit)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_val_if_fail (E_IS_CONTENT_EDITOR (editor), 0);
|
|
g_return_val_if_fail (unit != NULL, 0);
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_val_if_fail (iface != NULL, 0);
|
|
g_return_val_if_fail (iface->cell_get_width != NULL, 0);
|
|
|
|
return iface->cell_get_width (editor, unit);
|
|
}
|
|
|
|
void
|
|
e_content_editor_cell_set_row_span (EContentEditor *editor,
|
|
gint value,
|
|
EContentEditorScope scope)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->cell_set_row_span != NULL);
|
|
|
|
iface->cell_set_row_span (editor, value, scope);
|
|
}
|
|
|
|
gint
|
|
e_content_editor_cell_get_row_span (EContentEditor *editor)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_val_if_fail (E_IS_CONTENT_EDITOR (editor), 0);
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_val_if_fail (iface != NULL, 0);
|
|
g_return_val_if_fail (iface->cell_get_row_span != NULL, 0);
|
|
|
|
return iface->cell_get_row_span (editor);
|
|
}
|
|
|
|
void
|
|
e_content_editor_cell_set_col_span (EContentEditor *editor,
|
|
gint value,
|
|
EContentEditorScope scope)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->cell_set_col_span != NULL);
|
|
|
|
iface->cell_set_col_span (editor, value, scope);
|
|
}
|
|
|
|
gint
|
|
e_content_editor_cell_get_col_span (EContentEditor *editor)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_val_if_fail (E_IS_CONTENT_EDITOR (editor), 0);
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_val_if_fail (iface != NULL, 0);
|
|
g_return_val_if_fail (iface->cell_get_col_span != NULL, 0);
|
|
|
|
return iface->cell_get_col_span (editor);
|
|
}
|
|
|
|
/* uri could be NULL -> removes the current image */
|
|
void
|
|
e_content_editor_cell_set_background_image_uri (EContentEditor *editor,
|
|
const gchar *uri)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->cell_set_background_image_uri != NULL);
|
|
|
|
iface->cell_set_background_image_uri (editor, uri);
|
|
}
|
|
|
|
gchar *
|
|
e_content_editor_cell_get_background_image_uri (EContentEditor *editor)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_val_if_fail (E_IS_CONTENT_EDITOR (editor), NULL);
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_val_if_fail (iface != NULL, NULL);
|
|
g_return_val_if_fail (iface->cell_get_background_image_uri != NULL, NULL);
|
|
|
|
return iface->cell_get_background_image_uri (editor);
|
|
}
|
|
|
|
void
|
|
e_content_editor_cell_set_background_color (EContentEditor *editor,
|
|
const GdkRGBA *value,
|
|
EContentEditorScope scope)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
g_return_if_fail (value != NULL);
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->cell_set_background_color != NULL);
|
|
|
|
iface->cell_set_background_color (editor, value, scope);
|
|
}
|
|
|
|
void
|
|
e_content_editor_cell_get_background_color (EContentEditor *editor,
|
|
GdkRGBA *value)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->cell_get_background_color != NULL);
|
|
|
|
iface->cell_get_background_color (editor, value);
|
|
}
|
|
|
|
void
|
|
e_content_editor_table_set_row_count (EContentEditor *editor,
|
|
guint value)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->table_set_row_count != NULL);
|
|
|
|
iface->table_set_row_count (editor, value);
|
|
}
|
|
|
|
guint
|
|
e_content_editor_table_get_row_count (EContentEditor *editor)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_val_if_fail (E_IS_CONTENT_EDITOR (editor), 0);
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_val_if_fail (iface != NULL, 0);
|
|
g_return_val_if_fail (iface->table_get_row_count != NULL, 0);
|
|
|
|
return iface->table_get_row_count (editor);
|
|
}
|
|
|
|
void
|
|
e_content_editor_table_set_column_count (EContentEditor *editor,
|
|
guint value)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->table_set_column_count != NULL);
|
|
|
|
iface->table_set_column_count (editor, value);
|
|
}
|
|
|
|
guint
|
|
e_content_editor_table_get_column_count (EContentEditor *editor)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_val_if_fail (E_IS_CONTENT_EDITOR (editor), 0);
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_val_if_fail (iface != NULL, 0);
|
|
g_return_val_if_fail (iface->table_get_column_count != NULL, 0);
|
|
|
|
return iface->table_get_column_count (editor);
|
|
}
|
|
|
|
void
|
|
e_content_editor_table_set_width (EContentEditor *editor,
|
|
gint value,
|
|
EContentEditorUnit unit)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->table_set_width != NULL);
|
|
|
|
iface->table_set_width (editor, value, unit);
|
|
}
|
|
|
|
guint
|
|
e_content_editor_table_get_width (EContentEditor *editor,
|
|
EContentEditorUnit *unit)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_val_if_fail (E_IS_CONTENT_EDITOR (editor), 0);
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_val_if_fail (iface != NULL, 0);
|
|
g_return_val_if_fail (iface->table_get_width != NULL, 0);
|
|
|
|
return iface->table_get_width (editor, unit);
|
|
}
|
|
|
|
void
|
|
e_content_editor_table_set_align (EContentEditor *editor,
|
|
const gchar *value)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->table_set_align != NULL);
|
|
|
|
iface->table_set_align (editor, value);
|
|
}
|
|
|
|
gchar *
|
|
e_content_editor_table_get_align (EContentEditor *editor)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_val_if_fail (E_IS_CONTENT_EDITOR (editor), NULL);
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_val_if_fail (iface != NULL, NULL);
|
|
g_return_val_if_fail (iface->table_get_align != NULL, NULL);
|
|
|
|
return iface->table_get_align (editor);
|
|
}
|
|
|
|
void
|
|
e_content_editor_table_set_padding (EContentEditor *editor,
|
|
gint value)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->table_set_padding != NULL);
|
|
|
|
iface->table_set_padding (editor, value);
|
|
}
|
|
|
|
gint
|
|
e_content_editor_table_get_padding (EContentEditor *editor)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_val_if_fail (E_IS_CONTENT_EDITOR (editor), 0);
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_val_if_fail (iface != NULL, 0);
|
|
g_return_val_if_fail (iface->table_get_padding != NULL, 0);
|
|
|
|
return iface->table_get_padding (editor);
|
|
}
|
|
|
|
void
|
|
e_content_editor_table_set_spacing (EContentEditor *editor,
|
|
gint value)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->table_set_spacing != NULL);
|
|
|
|
iface->table_set_spacing (editor, value);
|
|
}
|
|
|
|
gint
|
|
e_content_editor_table_get_spacing (EContentEditor *editor)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_val_if_fail (E_IS_CONTENT_EDITOR (editor), 0);
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_val_if_fail (iface != NULL, 0);
|
|
g_return_val_if_fail (iface->table_get_spacing != NULL, 0);
|
|
|
|
return iface->table_get_spacing (editor);
|
|
}
|
|
|
|
void
|
|
e_content_editor_table_set_border (EContentEditor *editor,
|
|
gint value)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->table_set_border != NULL);
|
|
|
|
iface->table_set_border (editor, value);
|
|
}
|
|
|
|
gint
|
|
e_content_editor_table_get_border (EContentEditor *editor)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_val_if_fail (E_IS_CONTENT_EDITOR (editor), 0);
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_val_if_fail (iface != NULL, 0);
|
|
g_return_val_if_fail (iface->table_get_border != NULL, 0);
|
|
|
|
return iface->table_get_border (editor);
|
|
}
|
|
|
|
gchar *
|
|
e_content_editor_table_get_background_image_uri (EContentEditor *editor)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_val_if_fail (E_IS_CONTENT_EDITOR (editor), NULL);
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_val_if_fail (iface != NULL, NULL);
|
|
g_return_val_if_fail (iface->table_get_background_image_uri != NULL, NULL);
|
|
|
|
return iface->table_get_background_image_uri (editor);
|
|
}
|
|
|
|
void
|
|
e_content_editor_table_set_background_image_uri (EContentEditor *editor,
|
|
const gchar *uri)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->table_set_background_image_uri != NULL);
|
|
|
|
iface->table_set_background_image_uri (editor, uri);
|
|
}
|
|
|
|
void
|
|
e_content_editor_table_get_background_color (EContentEditor *editor,
|
|
GdkRGBA *value)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->table_get_background_color != NULL);
|
|
|
|
iface->table_get_background_color (editor, value);
|
|
}
|
|
|
|
void
|
|
e_content_editor_table_set_background_color (EContentEditor *editor,
|
|
const GdkRGBA *value)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->table_set_background_color != NULL);
|
|
|
|
iface->table_set_background_color (editor, value);
|
|
}
|
|
|
|
gboolean
|
|
e_content_editor_on_table_dialog_open (EContentEditor *editor)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_val_if_fail (E_IS_CONTENT_EDITOR (editor), FALSE);
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_val_if_fail (iface != NULL, FALSE);
|
|
g_return_val_if_fail (iface->on_table_dialog_open != NULL, FALSE);
|
|
|
|
return iface->on_table_dialog_open (editor);
|
|
}
|
|
|
|
void
|
|
e_content_editor_on_table_dialog_close (EContentEditor *editor)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->on_table_dialog_close != NULL);
|
|
|
|
iface->on_table_dialog_close (editor);
|
|
}
|
|
|
|
void
|
|
e_content_editor_on_spell_check_dialog_open (EContentEditor *editor)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->on_spell_check_dialog_close != NULL);
|
|
|
|
iface->on_spell_check_dialog_close (editor);
|
|
}
|
|
|
|
void
|
|
e_content_editor_on_spell_check_dialog_close (EContentEditor *editor)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->on_spell_check_dialog_close != NULL);
|
|
|
|
iface->on_spell_check_dialog_close (editor);
|
|
}
|
|
|
|
gchar *
|
|
e_content_editor_spell_check_next_word (EContentEditor *editor,
|
|
const gchar *word)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_val_if_fail (E_IS_CONTENT_EDITOR (editor), NULL);
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_val_if_fail (iface != NULL, NULL);
|
|
g_return_val_if_fail (iface->spell_check_next_word != NULL, NULL);
|
|
|
|
return iface->spell_check_next_word (editor, word);
|
|
}
|
|
|
|
gchar *
|
|
e_content_editor_spell_check_prev_word (EContentEditor *editor,
|
|
const gchar *word)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_val_if_fail (E_IS_CONTENT_EDITOR (editor), NULL);
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_val_if_fail (iface != NULL, NULL);
|
|
g_return_val_if_fail (iface->spell_check_prev_word != NULL, NULL);
|
|
|
|
return iface->spell_check_prev_word (editor, word);
|
|
}
|
|
|
|
void
|
|
e_content_editor_on_replace_dialog_open (EContentEditor *editor)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->on_replace_dialog_open != NULL);
|
|
|
|
iface->on_replace_dialog_open (editor);
|
|
}
|
|
|
|
void
|
|
e_content_editor_on_replace_dialog_close (EContentEditor *editor)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->on_replace_dialog_close != NULL);
|
|
|
|
iface->on_replace_dialog_close (editor);
|
|
}
|
|
|
|
void
|
|
e_content_editor_on_find_dialog_open (EContentEditor *editor)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->on_find_dialog_open != NULL);
|
|
|
|
iface->on_find_dialog_open (editor);
|
|
}
|
|
|
|
void
|
|
e_content_editor_on_find_dialog_close (EContentEditor *editor)
|
|
{
|
|
EContentEditorInterface *iface;
|
|
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
|
|
iface = E_CONTENT_EDITOR_GET_IFACE (editor);
|
|
g_return_if_fail (iface != NULL);
|
|
g_return_if_fail (iface->on_find_dialog_close != NULL);
|
|
|
|
iface->on_find_dialog_close (editor);
|
|
}
|
|
|
|
void
|
|
e_content_editor_emit_load_finished (EContentEditor *editor)
|
|
{
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
|
|
g_signal_emit (editor, signals[LOAD_FINISHED], 0);
|
|
}
|
|
|
|
gboolean
|
|
e_content_editor_emit_paste_clipboard (EContentEditor *editor)
|
|
{
|
|
gboolean handled = FALSE;
|
|
|
|
g_return_val_if_fail (E_IS_CONTENT_EDITOR (editor), FALSE);
|
|
|
|
g_signal_emit (editor, signals[PASTE_CLIPBOARD], 0, &handled);
|
|
|
|
return handled;
|
|
}
|
|
|
|
gboolean
|
|
e_content_editor_emit_paste_primary_clipboard (EContentEditor *editor)
|
|
{
|
|
gboolean handled = FALSE;
|
|
|
|
g_return_val_if_fail (E_IS_CONTENT_EDITOR (editor), FALSE);
|
|
|
|
g_signal_emit (editor, signals[PASTE_PRIMARY_CLIPBOARD], 0, &handled);
|
|
|
|
return handled;
|
|
}
|
|
|
|
gboolean
|
|
e_content_editor_emit_context_menu_requested (EContentEditor *editor,
|
|
EContentEditorNodeFlags flags,
|
|
GdkEvent *event)
|
|
{
|
|
gboolean handled = FALSE;
|
|
|
|
g_return_val_if_fail (E_IS_CONTENT_EDITOR (editor), FALSE);
|
|
|
|
g_signal_emit (editor, signals[CONTEXT_MENU_REQUESTED], 0, flags, event, &handled);
|
|
|
|
return handled;
|
|
}
|
|
|
|
void
|
|
e_content_editor_emit_find_done (EContentEditor *editor,
|
|
guint match_count)
|
|
{
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
|
|
g_signal_emit (editor, signals[FIND_DONE], 0, match_count);
|
|
}
|
|
|
|
void
|
|
e_content_editor_emit_replace_all_done (EContentEditor *editor,
|
|
guint replaced_count)
|
|
{
|
|
g_return_if_fail (E_IS_CONTENT_EDITOR (editor));
|
|
|
|
g_signal_emit (editor, signals[REPLACE_ALL_DONE], 0, replaced_count);
|
|
}
|