1 /* 2 * Copyright (C) 2016 Red Hat, Inc. (www.redhat.com) 3 * 4 * This library is free software: you can redistribute it and/or modify it 5 * under the terms of the GNU Lesser General Public License as published by 6 * the Free Software Foundation. 7 * 8 * This library is distributed in the hope that it will be useful, but 9 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 10 * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License 11 * for more details. 12 * 13 * You should have received a copy of the GNU Lesser General Public License 14 * along with this library. If not, see <http://www.gnu.org/licenses/>. 15 */ 16 17 #if !defined (__E_UTIL_H_INSIDE__) && !defined (LIBEUTIL_COMPILATION) 18 #error "Only <e-util/e-util.h> should be included directly." 19 #endif 20 21 #ifndef E_CONTENT_EDITOR_H 22 #define E_CONTENT_EDITOR_H 23 24 #include <glib-object.h> 25 #include <gtk/gtk.h> 26 27 #include <camel/camel.h> 28 #include <libedataserver/libedataserver.h> 29 30 #include <e-util/e-emoticon.h> 31 #include <e-util/e-spell-checker.h> 32 #include <e-util/e-util-enums.h> 33 34 #define DEFAULT_CONTENT_EDITOR_NAME "WebKit" 35 36 #define E_CONTENT_EDITOR_DIALOG_HRULE "hrule" 37 #define E_CONTENT_EDITOR_DIALOG_IMAGE "image" 38 #define E_CONTENT_EDITOR_DIALOG_LINK "link" 39 #define E_CONTENT_EDITOR_DIALOG_PAGE "page" 40 #define E_CONTENT_EDITOR_DIALOG_CELL "cell" 41 #define E_CONTENT_EDITOR_DIALOG_TABLE "table" 42 #define E_CONTENT_EDITOR_DIALOG_SPELLCHECK "spellcheck" 43 #define E_CONTENT_EDITOR_DIALOG_FIND "find" 44 #define E_CONTENT_EDITOR_DIALOG_REPLACE "replace" 45 46 G_BEGIN_DECLS 47 48 struct _EHTMLEditor; 49 50 #define E_TYPE_CONTENT_EDITOR e_content_editor_get_type () 51 G_DECLARE_INTERFACE (EContentEditor, e_content_editor, E, CONTENT_EDITOR, GtkWidget) 52 53 typedef GHashTable EContentEditorContentHash; 54 55 typedef void (*EContentEditorInitializedCallback) (EContentEditor *content_editor, 56 gpointer user_data); 57 58 struct _EContentEditorInterface { 59 GTypeInterface parent_interface; 60 61 void (*initialize) (EContentEditor *content_editor, 62 EContentEditorInitializedCallback callback, 63 gpointer user_data); 64 void (*setup_editor) (EContentEditor *content_editor, 65 struct _EHTMLEditor *html_editor); 66 void (*update_styles) (EContentEditor *editor); 67 void (*insert_content) (EContentEditor *editor, 68 const gchar *content, 69 EContentEditorInsertContentFlags flags); 70 71 void (*get_content) (EContentEditor *editor, 72 guint32 flags, /* bit-or of EContentEditorGetContentFlags */ 73 const gchar *inline_images_from_domain, 74 GCancellable *cancellable, 75 GAsyncReadyCallback callback, 76 gpointer user_data); 77 EContentEditorContentHash * 78 (*get_content_finish) (EContentEditor *editor, 79 GAsyncResult *result, 80 GError **error); 81 82 void (*insert_image) (EContentEditor *editor, 83 const gchar *uri); 84 85 void (*insert_emoticon) (EContentEditor *editor, 86 EEmoticon *emoticon); 87 88 void (*move_caret_on_coordinates) (EContentEditor *editor, 89 gint x, 90 gint y, 91 gboolean cancel_if_not_collapsed); 92 93 void (*cut) (EContentEditor *editor); 94 95 void (*copy) (EContentEditor *editor); 96 97 void (*paste) (EContentEditor *editor); 98 99 void (*paste_primary) (EContentEditor *editor); 100 101 void (*undo) (EContentEditor *editor); 102 103 void (*redo) (EContentEditor *editor); 104 105 void (*clear_undo_redo_history) (EContentEditor *editor); 106 107 void (*set_spell_checking_languages) (EContentEditor *editor, 108 const gchar **languages); 109 110 gchar * (*get_caret_word) (EContentEditor *editor); 111 112 void (*replace_caret_word) (EContentEditor *editor, 113 const gchar *replacement); 114 115 void (*select_all) (EContentEditor *editor); 116 117 void (*selection_indent) (EContentEditor *editor); 118 119 void (*selection_unindent) (EContentEditor *editor); 120 121 void (*selection_unlink) (EContentEditor *editor); 122 123 void (*find) (EContentEditor *editor, 124 guint32 flags, 125 const gchar *text); 126 127 void (*replace) (EContentEditor *editor, 128 const gchar *replacement); 129 130 void (*replace_all) (EContentEditor *editor, 131 guint32 flags, 132 const gchar *find_text, 133 const gchar *replace_with); 134 135 void (*selection_save) (EContentEditor *editor); 136 137 void (*selection_restore) (EContentEditor *editor); 138 139 void (*selection_wrap) (EContentEditor *editor); 140 141 gchar * (*get_current_signature_uid) (EContentEditor *editor); 142 143 gboolean (*is_ready) (EContentEditor *editor); 144 145 gchar * (*insert_signature) (EContentEditor *editor, 146 const gchar *content, 147 gboolean is_html, 148 gboolean can_reposition_caret, 149 const gchar *signature_id, 150 gboolean *set_signature_from_message, 151 gboolean *check_if_signature_is_changed, 152 gboolean *ignore_next_signature_change); 153 154 void (*delete_cell_contents) (EContentEditor *editor); 155 156 void (*delete_column) (EContentEditor *editor); 157 158 void (*delete_row) (EContentEditor *editor); 159 160 void (*delete_table) (EContentEditor *editor); 161 162 void (*insert_column_after) (EContentEditor *editor); 163 164 void (*insert_column_before) (EContentEditor *editor); 165 166 void (*insert_row_above) (EContentEditor *editor); 167 168 void (*insert_row_below) (EContentEditor *editor); 169 170 void (*on_dialog_open) (EContentEditor *editor, 171 const gchar *name); 172 173 void (*on_dialog_close) (EContentEditor *editor, 174 const gchar *name); 175 176 void (*h_rule_set_align) (EContentEditor *editor, 177 const gchar *value); 178 179 gchar * (*h_rule_get_align) (EContentEditor *editor); 180 181 void (*h_rule_set_size) (EContentEditor *editor, 182 gint value); 183 184 gint (*h_rule_get_size) (EContentEditor *editor); 185 186 void (*h_rule_set_width) (EContentEditor *editor, 187 gint value, 188 EContentEditorUnit unit); 189 190 gint (*h_rule_get_width) (EContentEditor *editor, 191 EContentEditorUnit *unit); 192 193 void (*h_rule_set_no_shade) (EContentEditor *editor, 194 gboolean value); 195 196 gboolean (*h_rule_get_no_shade) (EContentEditor *editor); 197 198 void (*image_set_src) (EContentEditor *editor, 199 const gchar *value); 200 201 gchar * (*image_get_src) (EContentEditor *editor); 202 203 void (*image_set_alt) (EContentEditor *editor, 204 const gchar *value); 205 206 gchar * (*image_get_alt) (EContentEditor *editor); 207 208 gint32 (*image_get_natural_width) (EContentEditor *editor); 209 210 gint32 (*image_get_width) (EContentEditor *editor); 211 212 void (*image_set_width) (EContentEditor *editor, 213 gint value); 214 215 void (*image_set_width_follow) (EContentEditor *editor, 216 gboolean value); 217 218 gint32 (*image_get_natural_height) (EContentEditor *editor); 219 220 gint32 (*image_get_height) (EContentEditor *editor); 221 222 void (*image_set_height) (EContentEditor *editor, 223 gint value); 224 225 void (*image_set_height_follow) (EContentEditor *editor, 226 gboolean value); 227 228 void (*image_set_url) (EContentEditor *editor, 229 const gchar *value); 230 231 gchar * (*image_get_url) (EContentEditor *editor); 232 233 void (*image_set_vspace) (EContentEditor *editor, 234 gint value); 235 236 gint (*image_get_vspace) (EContentEditor *editor); 237 238 void (*image_set_hspace) (EContentEditor *editor, 239 gint value); 240 241 gint (*image_get_hspace) (EContentEditor *editor); 242 243 void (*image_set_border) (EContentEditor *editor, 244 gint border); 245 246 gint (*image_get_border) (EContentEditor *editor); 247 248 void (*image_set_align) (EContentEditor *editor, 249 const gchar *value); 250 251 gchar * (*image_get_align) (EContentEditor *editor); 252 253 void (*link_get_properties) (EContentEditor *editor, 254 gchar **href, 255 gchar **text); 256 257 void (*link_set_properties) (EContentEditor *editor, 258 const gchar *href, 259 const gchar *text); 260 261 void (*page_set_text_color) (EContentEditor *editor, 262 const GdkRGBA *value); 263 264 void (*page_get_text_color) (EContentEditor *editor, 265 GdkRGBA *value); 266 267 void (*page_set_background_color) (EContentEditor *editor, 268 const GdkRGBA *value); 269 270 void (*page_get_background_color) (EContentEditor *editor, 271 GdkRGBA *value); 272 273 void (*page_set_link_color) (EContentEditor *editor, 274 const GdkRGBA *value); 275 276 void (*page_get_link_color) (EContentEditor *editor, 277 GdkRGBA *value); 278 279 void (*page_set_visited_link_color) (EContentEditor *editor, 280 const GdkRGBA *value); 281 282 void (*page_get_visited_link_color) (EContentEditor *editor, 283 GdkRGBA *value); 284 void (*page_set_font_name) (EContentEditor *editor, 285 const gchar *value); 286 const gchar * (*page_get_font_name) (EContentEditor *editor); 287 288 void (*page_set_background_image_uri) 289 (EContentEditor *editor, 290 const gchar *uri); 291 292 gchar * (*page_get_background_image_uri) 293 (EContentEditor *editor); 294 295 void (*cell_set_v_align) (EContentEditor *editor, 296 const gchar *value, 297 EContentEditorScope scope); 298 299 gchar * (*cell_get_v_align) (EContentEditor *editor); 300 301 void (*cell_set_align) (EContentEditor *editor, 302 const gchar *value, 303 EContentEditorScope scope); 304 305 gchar * (*cell_get_align) (EContentEditor *editor); 306 307 void (*cell_set_wrap) (EContentEditor *editor, 308 gboolean value, 309 EContentEditorScope scope); 310 311 gboolean (*cell_get_wrap) (EContentEditor *editor); 312 313 void (*cell_set_header_style) (EContentEditor *editor, 314 gboolean value, 315 EContentEditorScope scope); 316 317 gboolean (*cell_is_header) (EContentEditor *editor); 318 319 void (*cell_set_width) (EContentEditor *editor, 320 gint value, 321 EContentEditorUnit unit, 322 EContentEditorScope scope); 323 324 gint (*cell_get_width) (EContentEditor *editor, 325 EContentEditorUnit *unit); 326 327 void (*cell_set_row_span) (EContentEditor *editor, 328 gint value, 329 EContentEditorScope scope); 330 331 gint (*cell_get_row_span) (EContentEditor *editor); 332 333 void (*cell_set_col_span) (EContentEditor *editor, 334 gint value, 335 EContentEditorScope scope); 336 337 gint (*cell_get_col_span) (EContentEditor *editor); 338 339 gchar * (*cell_get_background_image_uri) 340 (EContentEditor *editor); 341 342 void (*cell_set_background_image_uri) 343 (EContentEditor *editor, 344 const gchar *uri); 345 346 void (*cell_get_background_color) (EContentEditor *editor, 347 GdkRGBA *value); 348 349 void (*cell_set_background_color) (EContentEditor *editor, 350 const GdkRGBA *value, 351 EContentEditorScope scope); 352 353 void (*table_set_row_count) (EContentEditor *editor, 354 guint value); 355 356 guint (*table_get_row_count) (EContentEditor *editor); 357 358 void (*table_set_column_count) (EContentEditor *editor, 359 guint value); 360 361 guint (*table_get_column_count) (EContentEditor *editor); 362 363 void (*table_set_width) (EContentEditor *editor, 364 gint value, 365 EContentEditorUnit unit); 366 367 guint (*table_get_width) (EContentEditor *editor, 368 EContentEditorUnit *unit); 369 370 void (*table_set_align) (EContentEditor *editor, 371 const gchar *value); 372 373 gchar * (*table_get_align) (EContentEditor *editor); 374 375 void (*table_set_padding) (EContentEditor *editor, 376 gint value); 377 378 gint (*table_get_padding) (EContentEditor *editor); 379 380 void (*table_set_spacing) (EContentEditor *editor, 381 gint value); 382 383 gint (*table_get_spacing) (EContentEditor *editor); 384 385 void (*table_set_border) (EContentEditor *editor, 386 gint value); 387 388 gint (*table_get_border) (EContentEditor *editor); 389 390 gchar * (*table_get_background_image_uri) 391 (EContentEditor *editor); 392 393 void (*table_set_background_image_uri) 394 (EContentEditor *editor, 395 const gchar *uri); 396 397 void (*table_get_background_color) (EContentEditor *editor, 398 GdkRGBA *value); 399 400 void (*table_set_background_color) (EContentEditor *editor, 401 const GdkRGBA *value); 402 403 gchar * (*spell_check_next_word) (EContentEditor *editor, 404 const gchar *word); 405 406 gchar * (*spell_check_prev_word) (EContentEditor *editor, 407 const gchar *word); 408 409 /* Signals */ 410 void (*load_finished) (EContentEditor *editor); 411 gboolean (*paste_clipboard) (EContentEditor *editor); 412 gboolean (*paste_primary_clipboard) (EContentEditor *editor); 413 void (*context_menu_requested) (EContentEditor *editor, 414 EContentEditorNodeFlags flags, 415 const gchar *caret_word, 416 GdkEvent *event); 417 void (*find_done) (EContentEditor *editor, 418 guint match_count); 419 void (*replace_all_done) (EContentEditor *editor, 420 guint replaced_count); 421 void (*drop_handled) (EContentEditor *editor); 422 void (*content_changed) (EContentEditor *editor); 423 CamelMimePart * (*ref_mime_part) (EContentEditor *editor, 424 const gchar *uri); 425 426 void (*delete_h_rule) (EContentEditor *editor); 427 void (*delete_image) (EContentEditor *editor); 428 429 /* padding for future expansion */ 430 gpointer reserved[20]; 431 }; 432 433 /* Properties */ 434 435 ESpellChecker * e_content_editor_ref_spell_checker 436 (EContentEditor *editor); 437 gboolean e_content_editor_is_malfunction (EContentEditor *editor); 438 gboolean e_content_editor_can_cut (EContentEditor *editor); 439 gboolean e_content_editor_can_copy (EContentEditor *editor); 440 gboolean e_content_editor_can_paste (EContentEditor *editor); 441 gboolean e_content_editor_can_undo (EContentEditor *editor); 442 gboolean e_content_editor_can_redo (EContentEditor *editor); 443 gint e_content_editor_indent_level (EContentEditor *editor); 444 gboolean e_content_editor_get_spell_check_enabled 445 (EContentEditor *editor); 446 void e_content_editor_set_spell_check_enabled 447 (EContentEditor *editor, 448 gboolean enable); 449 gboolean e_content_editor_is_editable (EContentEditor *editor); 450 void e_content_editor_set_editable (EContentEditor *editor, 451 gboolean editable); 452 gboolean e_content_editor_get_changed (EContentEditor *editor); 453 void e_content_editor_set_changed (EContentEditor *editor, 454 gboolean changed); 455 gboolean e_content_editor_get_html_mode (EContentEditor *editor); 456 void e_content_editor_set_html_mode (EContentEditor *editor, 457 gboolean html_mode); 458 void e_content_editor_set_alignment (EContentEditor *editor, 459 EContentEditorAlignment value); 460 EContentEditorAlignment 461 e_content_editor_get_alignment (EContentEditor *editor); 462 void e_content_editor_set_background_color 463 (EContentEditor *editor, 464 const GdkRGBA *value); 465 GdkRGBA * e_content_editor_dup_background_color 466 (EContentEditor *editor); 467 void e_content_editor_set_font_color (EContentEditor *editor, 468 const GdkRGBA *value); 469 GdkRGBA * e_content_editor_dup_font_color (EContentEditor *editor); 470 void e_content_editor_set_font_name (EContentEditor *editor, 471 const gchar *value); 472 gchar * e_content_editor_dup_font_name (EContentEditor *editor); 473 void e_content_editor_set_font_size (EContentEditor *editor, 474 gint value); 475 gint e_content_editor_get_font_size (EContentEditor *editor); 476 void e_content_editor_set_block_format 477 (EContentEditor *editor, 478 EContentEditorBlockFormat value); 479 EContentEditorBlockFormat 480 e_content_editor_get_block_format 481 (EContentEditor *editor); 482 void e_content_editor_set_bold (EContentEditor *editor, 483 gboolean bold); 484 gboolean e_content_editor_is_bold (EContentEditor *editor); 485 void e_content_editor_set_italic (EContentEditor *editor, 486 gboolean italic); 487 gboolean e_content_editor_is_italic (EContentEditor *editor); 488 void e_content_editor_set_strikethrough 489 (EContentEditor *editor, 490 gboolean strikethrough); 491 gboolean e_content_editor_is_strikethrough 492 (EContentEditor *editor); 493 void e_content_editor_set_subscript (EContentEditor *editor, 494 gboolean subscript); 495 gboolean e_content_editor_is_subscript (EContentEditor *editor); 496 void e_content_editor_set_superscript 497 (EContentEditor *editor, 498 gboolean superscript); 499 gboolean e_content_editor_is_superscript 500 (EContentEditor *editor); 501 void e_content_editor_set_underline (EContentEditor *editor, 502 gboolean underline); 503 gboolean e_content_editor_is_underline (EContentEditor *editor); 504 void e_content_editor_set_start_bottom 505 (EContentEditor *editor, 506 EThreeState value); 507 EThreeState e_content_editor_get_start_bottom 508 (EContentEditor *editor); 509 void e_content_editor_set_top_signature 510 (EContentEditor *editor, 511 EThreeState value); 512 EThreeState e_content_editor_get_top_signature 513 (EContentEditor *editor); 514 void e_content_editor_set_visually_wrap_long_lines 515 (EContentEditor *editor, 516 gboolean value); 517 gboolean e_content_editor_get_visually_wrap_long_lines 518 (EContentEditor *editor); 519 520 /* Methods */ 521 void e_content_editor_initialize (EContentEditor *content_editor, 522 EContentEditorInitializedCallback callback, 523 gpointer user_data); 524 void e_content_editor_setup_editor (EContentEditor *content_editor, 525 struct _EHTMLEditor *html_editor); 526 void e_content_editor_update_styles (EContentEditor *editor); 527 void e_content_editor_insert_content (EContentEditor *editor, 528 const gchar *content, 529 EContentEditorInsertContentFlags flags); 530 531 void e_content_editor_get_content (EContentEditor *editor, 532 guint32 flags, /* bit-or of EContentEditorGetContentFlags */ 533 const gchar *inline_images_from_domain, 534 GCancellable *cancellable, 535 GAsyncReadyCallback callback, 536 gpointer user_data); 537 EContentEditorContentHash * 538 e_content_editor_get_content_finish 539 (EContentEditor *editor, 540 GAsyncResult *result, 541 GError **error); 542 EContentEditorContentHash * 543 e_content_editor_util_new_content_hash 544 (void); 545 void e_content_editor_util_free_content_hash 546 (EContentEditorContentHash *content_hash); 547 void e_content_editor_util_put_content_data 548 (EContentEditorContentHash *content_hash, 549 EContentEditorGetContentFlags flag, 550 const gchar *data); 551 void e_content_editor_util_take_content_data 552 (EContentEditorContentHash *content_hash, 553 EContentEditorGetContentFlags flag, 554 gpointer data, 555 GDestroyNotify destroy_data); 556 void e_content_editor_util_take_content_data_images 557 (EContentEditorContentHash *content_hash, 558 GSList *image_parts); /* CamelMimePart * */ 559 gpointer e_content_editor_util_get_content_data 560 (EContentEditorContentHash *content_hash, 561 EContentEditorGetContentFlags flag); 562 gpointer e_content_editor_util_steal_content_data 563 (EContentEditorContentHash *content_hash, 564 EContentEditorGetContentFlags flag, 565 GDestroyNotify *out_destroy_data); 566 CamelMimePart * e_content_editor_util_create_data_mimepart 567 (const gchar *uri, 568 const gchar *cid, 569 gboolean as_inline, 570 const gchar *prefer_filename, 571 const gchar *prefer_mime_type, 572 GCancellable *cancellable); 573 574 void e_content_editor_insert_image (EContentEditor *editor, 575 const gchar *uri); 576 void e_content_editor_insert_emoticon 577 (EContentEditor *editor, 578 EEmoticon *emoticon); 579 580 void e_content_editor_move_caret_on_coordinates 581 (EContentEditor *editor, 582 gint x, 583 gint y, 584 gboolean cancel_if_not_collapsed); 585 586 void e_content_editor_cut (EContentEditor *editor); 587 588 void e_content_editor_copy (EContentEditor *editor); 589 590 void e_content_editor_paste (EContentEditor *editor); 591 592 void e_content_editor_paste_primary (EContentEditor *editor); 593 594 void e_content_editor_undo (EContentEditor *editor); 595 596 void e_content_editor_redo (EContentEditor *editor); 597 598 void e_content_editor_clear_undo_redo_history 599 (EContentEditor *editor); 600 601 void e_content_editor_set_spell_checking_languages 602 (EContentEditor *editor, 603 const gchar **languages); 604 605 void e_content_editor_select_all (EContentEditor *editor); 606 607 gchar * e_content_editor_get_caret_word (EContentEditor *editor); 608 609 void e_content_editor_replace_caret_word 610 (EContentEditor *editor, 611 const gchar *replacement); 612 613 void e_content_editor_selection_indent 614 (EContentEditor *editor); 615 616 void e_content_editor_selection_unindent 617 (EContentEditor *editor); 618 619 void e_content_editor_selection_unlink 620 (EContentEditor *editor); 621 622 void e_content_editor_find (EContentEditor *editor, 623 guint32 flags, 624 const gchar *text); 625 626 void e_content_editor_replace (EContentEditor *editor, 627 const gchar *replacement); 628 629 void e_content_editor_replace_all (EContentEditor *editor, 630 guint32 flags, 631 const gchar *find_text, 632 const gchar *replace_with); 633 634 void e_content_editor_selection_save (EContentEditor *editor); 635 636 void e_content_editor_selection_restore 637 (EContentEditor *editor); 638 639 void e_content_editor_selection_wrap (EContentEditor *editor); 640 641 gchar * e_content_editor_get_current_signature_uid 642 (EContentEditor *editor); 643 644 gboolean e_content_editor_is_ready (EContentEditor *editor); 645 GError * e_content_editor_dup_last_error (EContentEditor *editor); 646 void e_content_editor_take_last_error(EContentEditor *editor, 647 GError *error); 648 649 gchar * e_content_editor_insert_signature 650 (EContentEditor *editor, 651 const gchar *content, 652 gboolean is_html, 653 gboolean can_reposition_caret, 654 const gchar *signature_id, 655 gboolean *set_signature_from_message, 656 gboolean *check_if_signature_is_changed, 657 gboolean *ignore_next_signature_change); 658 659 void e_content_editor_delete_cell_contents 660 (EContentEditor *editor); 661 void 662 e_content_editor_delete_column (EContentEditor *editor); 663 664 void e_content_editor_delete_row (EContentEditor *editor); 665 666 void e_content_editor_delete_table (EContentEditor *editor); 667 668 void e_content_editor_insert_column_after 669 (EContentEditor *editor); 670 671 void e_content_editor_insert_column_before 672 (EContentEditor *editor); 673 674 void e_content_editor_insert_row_above 675 (EContentEditor *editor); 676 677 void e_content_editor_insert_row_below 678 (EContentEditor *editor); 679 680 void e_content_editor_on_dialog_open (EContentEditor *editor, 681 const gchar *name); 682 void e_content_editor_on_dialog_close(EContentEditor *editor, 683 const gchar *name); 684 685 void e_content_editor_h_rule_set_align 686 (EContentEditor *editor, 687 const gchar *value); 688 689 gchar * e_content_editor_h_rule_get_align 690 (EContentEditor *editor); 691 692 void e_content_editor_h_rule_set_size 693 (EContentEditor *editor, 694 gint value); 695 696 gint e_content_editor_h_rule_get_size 697 (EContentEditor *editor); 698 699 void e_content_editor_h_rule_set_width 700 (EContentEditor *editor, 701 gint value, 702 EContentEditorUnit unit); 703 704 gint e_content_editor_h_rule_get_width 705 (EContentEditor *editor, 706 EContentEditorUnit *unit); 707 708 void e_content_editor_h_rule_set_no_shade 709 (EContentEditor *editor, 710 gboolean value); 711 712 gboolean e_content_editor_h_rule_get_no_shade 713 (EContentEditor *editor); 714 715 void e_content_editor_image_set_src (EContentEditor *editor, 716 const gchar *value); 717 718 gchar * e_content_editor_image_get_src (EContentEditor *editor); 719 720 void e_content_editor_image_set_alt (EContentEditor *editor, 721 const gchar *value); 722 723 gchar * e_content_editor_image_get_alt (EContentEditor *editor); 724 725 void e_content_editor_image_set_url (EContentEditor *editor, 726 const gchar *value); 727 728 gchar * e_content_editor_image_get_url (EContentEditor *editor); 729 730 void e_content_editor_image_set_vspace 731 (EContentEditor *editor, 732 gint value); 733 734 gint e_content_editor_image_get_vspace 735 (EContentEditor *editor); 736 737 void e_content_editor_image_set_hspace 738 (EContentEditor *editor, 739 gint value); 740 741 gint e_content_editor_image_get_hspace 742 (EContentEditor *editor); 743 744 void e_content_editor_image_set_border 745 (EContentEditor *editor, 746 gint value); 747 748 gint e_content_editor_image_get_border 749 (EContentEditor *editor); 750 751 void e_content_editor_image_set_align 752 (EContentEditor *editor, 753 const gchar *value); 754 755 gchar * e_content_editor_image_get_align 756 (EContentEditor *editor); 757 758 void e_content_editor_image_set_width 759 (EContentEditor *editor, 760 gint value); 761 762 gint32 e_content_editor_image_get_width 763 (EContentEditor *editor); 764 765 gint32 e_content_editor_image_get_natural_width 766 (EContentEditor *editor); 767 768 void e_content_editor_image_set_width_follow 769 (EContentEditor *editor, 770 gboolean value); 771 void e_content_editor_image_set_height 772 (EContentEditor *editor, 773 gint value); 774 775 gint32 e_content_editor_image_get_height 776 (EContentEditor *editor); 777 778 gint32 e_content_editor_image_get_natural_height 779 (EContentEditor *editor); 780 781 void e_content_editor_image_set_height_follow 782 (EContentEditor *editor, 783 gboolean value); 784 785 void e_content_editor_link_get_properties 786 (EContentEditor *editor, 787 gchar **href, 788 gchar **text); 789 790 void e_content_editor_link_set_properties 791 (EContentEditor *editor, 792 const gchar *href, 793 const gchar *text); 794 795 void e_content_editor_page_set_text_color 796 (EContentEditor *editor, 797 const GdkRGBA *value); 798 799 void e_content_editor_page_get_text_color 800 (EContentEditor *editor, 801 GdkRGBA *value); 802 803 void e_content_editor_page_set_background_color 804 (EContentEditor *editor, 805 const GdkRGBA *value); 806 807 void e_content_editor_page_get_background_color 808 (EContentEditor *editor, 809 GdkRGBA *value); 810 811 void e_content_editor_page_set_link_color 812 (EContentEditor *editor, 813 const GdkRGBA *value); 814 815 void e_content_editor_page_get_link_color 816 (EContentEditor *editor, 817 GdkRGBA *value); 818 819 void e_content_editor_page_set_visited_link_color 820 (EContentEditor *editor, 821 const GdkRGBA *value); 822 823 void e_content_editor_page_get_visited_link_color 824 (EContentEditor *editor, 825 GdkRGBA *value); 826 void e_content_editor_page_set_font_name 827 (EContentEditor *editor, 828 const gchar *value); 829 830 const gchar * e_content_editor_page_get_font_name 831 (EContentEditor *editor); 832 833 void e_content_editor_page_set_background_image_uri 834 (EContentEditor *editor, 835 const gchar *uri); 836 837 gchar * e_content_editor_page_get_background_image_uri 838 (EContentEditor *editor); 839 840 void e_content_editor_cell_set_v_align 841 (EContentEditor *editor, 842 const gchar *value, 843 EContentEditorScope scope); 844 845 gchar * e_content_editor_cell_get_v_align 846 (EContentEditor *editor); 847 848 void e_content_editor_cell_set_align (EContentEditor *editor, 849 const gchar *value, 850 EContentEditorScope scope); 851 852 gchar * e_content_editor_cell_get_align (EContentEditor *editor); 853 854 void e_content_editor_cell_set_wrap (EContentEditor *editor, 855 gboolean value, 856 EContentEditorScope scope); 857 858 gboolean e_content_editor_cell_get_wrap (EContentEditor *editor); 859 860 void e_content_editor_cell_set_header_style 861 (EContentEditor *editor, 862 gboolean value, 863 EContentEditorScope scope); 864 865 gboolean e_content_editor_cell_is_header (EContentEditor *editor); 866 867 void e_content_editor_cell_set_width (EContentEditor *editor, 868 gint value, 869 EContentEditorUnit unit, 870 EContentEditorScope scope); 871 872 gint e_content_editor_cell_get_width (EContentEditor *editor, 873 EContentEditorUnit *unit); 874 875 void e_content_editor_cell_set_row_span 876 (EContentEditor *editor, 877 gint value, 878 EContentEditorScope scope); 879 880 gint e_content_editor_cell_get_row_span 881 (EContentEditor *editor); 882 883 void e_content_editor_cell_set_col_span 884 (EContentEditor *editor, 885 gint value, 886 EContentEditorScope scope); 887 888 gint e_content_editor_cell_get_col_span 889 (EContentEditor *editor); 890 891 void e_content_editor_cell_set_background_image_uri 892 (EContentEditor *editor, 893 const gchar *uri); 894 895 gchar * e_content_editor_cell_get_background_image_uri 896 (EContentEditor *editor); 897 898 void e_content_editor_cell_set_background_color 899 (EContentEditor *editor, 900 const GdkRGBA *value, 901 EContentEditorScope scope); 902 903 void e_content_editor_cell_get_background_color 904 (EContentEditor *editor, 905 GdkRGBA *value); 906 907 void e_content_editor_table_set_row_count 908 (EContentEditor *editor, 909 guint value); 910 911 guint e_content_editor_table_get_row_count 912 (EContentEditor *editor); 913 914 void e_content_editor_table_set_column_count 915 (EContentEditor *editor, 916 guint value); 917 918 guint e_content_editor_table_get_column_count 919 (EContentEditor *editor); 920 921 void e_content_editor_table_set_width 922 (EContentEditor *editor, 923 gint value, 924 EContentEditorUnit unit); 925 926 guint e_content_editor_table_get_width 927 (EContentEditor *editor, 928 EContentEditorUnit *unit); 929 930 void e_content_editor_table_set_align 931 (EContentEditor *editor, 932 const gchar *value); 933 934 gchar * e_content_editor_table_get_align 935 (EContentEditor *editor); 936 937 void e_content_editor_table_set_padding 938 (EContentEditor *editor, 939 gint value); 940 941 gint e_content_editor_table_get_padding 942 (EContentEditor *editor); 943 944 void e_content_editor_table_set_spacing 945 (EContentEditor *editor, 946 gint value); 947 948 gint e_content_editor_table_get_spacing 949 (EContentEditor *editor); 950 951 void e_content_editor_table_set_border 952 (EContentEditor *editor, 953 gint value); 954 955 gint e_content_editor_table_get_border 956 (EContentEditor *editor); 957 958 gchar * e_content_editor_table_get_background_image_uri 959 (EContentEditor *editor); 960 961 void e_content_editor_table_set_background_image_uri 962 (EContentEditor *editor, 963 const gchar *uri); 964 965 void e_content_editor_table_get_background_color 966 (EContentEditor *editor, 967 GdkRGBA *value); 968 969 void e_content_editor_table_set_background_color 970 (EContentEditor *editor, 971 const GdkRGBA *value); 972 973 gchar * e_content_editor_spell_check_next_word 974 (EContentEditor *editor, 975 const gchar *word); 976 977 gchar * e_content_editor_spell_check_prev_word 978 (EContentEditor *editor, 979 const gchar *word); 980 981 void e_content_editor_spell_check_replace_all 982 (EContentEditor *editor, 983 const gchar *word, 984 const gchar *replacement); 985 void e_content_editor_delete_h_rule (EContentEditor *editor); 986 void e_content_editor_delete_image (EContentEditor *editor); 987 988 /* Signal helpers */ 989 990 void e_content_editor_emit_load_finished 991 (EContentEditor *editor); 992 gboolean e_content_editor_emit_paste_clipboard 993 (EContentEditor *editor); 994 gboolean e_content_editor_emit_paste_primary_clipboard 995 (EContentEditor *editor); 996 void e_content_editor_emit_context_menu_requested 997 (EContentEditor *editor, 998 EContentEditorNodeFlags flags, 999 const gchar *caret_word, 1000 GdkEvent *event); 1001 void e_content_editor_emit_find_done (EContentEditor *editor, 1002 guint match_count); 1003 void e_content_editor_emit_replace_all_done 1004 (EContentEditor *editor, 1005 guint replaced_count); 1006 void e_content_editor_emit_drop_handled 1007 (EContentEditor *editor); 1008 void e_content_editor_emit_content_changed 1009 (EContentEditor *editor); 1010 CamelMimePart * e_content_editor_emit_ref_mime_part 1011 (EContentEditor *editor, 1012 const gchar *uri); 1013 1014 G_END_DECLS 1015 1016 #endif /* E_CONTENT_EDITOR_H */ 1017