atkeditabletext.h (4787B)
1 /* ATK - Accessibility Toolkit 2 * Copyright 2001 Sun Microsystems Inc. 3 * 4 * This library is free software; you can redistribute it and/or 5 * modify it under the terms of the GNU Library General Public 6 * License as published by the Free Software Foundation; either 7 * version 2 of the License, or (at your option) any later version. 8 * 9 * This library is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 * Library General Public License for more details. 13 * 14 * You should have received a copy of the GNU Library General Public 15 * License along with this library; if not, write to the 16 * Free Software Foundation, Inc., 59 Temple Place - Suite 330, 17 * Boston, MA 02111-1307, USA. 18 */ 19 20 #ifndef __ATK_EDITABLE_TEXT_H__ 21 #define __ATK_EDITABLE_TEXT_H__ 22 23 #include <atk/atkobject.h> 24 #include <atk/atktext.h> 25 26 #ifdef __cplusplus 27 extern "C" { 28 #endif /* __cplusplus */ 29 30 /* 31 * AtkEditableText is used to support access in an "accessibility" context 32 * to editing features of editable text widgets. 33 */ 34 35 #define ATK_TYPE_EDITABLE_TEXT (atk_editable_text_get_type ()) 36 #define ATK_IS_EDITABLE_TEXT(obj) G_TYPE_CHECK_INSTANCE_TYPE ((obj), ATK_TYPE_EDITABLE_TEXT) 37 #define ATK_EDITABLE_TEXT(obj) G_TYPE_CHECK_INSTANCE_CAST ((obj), ATK_TYPE_EDITABLE_TEXT, AtkEditableText) 38 #define ATK_EDITABLE_TEXT_GET_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), ATK_TYPE_EDITABLE_TEXT, AtkEditableTextIface)) 39 40 #ifndef _TYPEDEF_ATK_EDITABLE_TEXT_ 41 #define _TYPEDEF_ATK_EDITABLE_TEXT_ 42 typedef struct _AtkEditableText AtkEditableText; 43 #endif 44 typedef struct _AtkEditableTextIface AtkEditableTextIface; 45 46 struct _AtkEditableTextIface 47 { 48 GTypeInterface parent_interface; 49 50 gboolean (* set_run_attributes) (AtkEditableText *text, 51 AtkAttributeSet *attrib_set, 52 gint start_offset, 53 gint end_offset); 54 void (* set_text_contents) (AtkEditableText *text, 55 const gchar *string); 56 void (* insert_text) (AtkEditableText *text, 57 const gchar *string, 58 gint length, 59 gint *position); 60 void (* copy_text) (AtkEditableText *text, 61 gint start_pos, 62 gint end_pos); 63 void (* cut_text) (AtkEditableText *text, 64 gint start_pos, 65 gint end_pos); 66 void (* delete_text) (AtkEditableText *text, 67 gint start_pos, 68 gint end_pos); 69 void (* paste_text) (AtkEditableText *text, 70 gint position); 71 72 AtkFunction pad1; 73 AtkFunction pad2; 74 }; 75 GType atk_editable_text_get_type (void); 76 77 78 gboolean atk_editable_text_set_run_attributes (AtkEditableText *text, 79 AtkAttributeSet *attrib_set, 80 gint start_offset, 81 gint end_offset); 82 void atk_editable_text_set_text_contents (AtkEditableText *text, 83 const gchar *string); 84 void atk_editable_text_insert_text (AtkEditableText *text, 85 const gchar *string, 86 gint length, 87 gint *position); 88 void atk_editable_text_copy_text (AtkEditableText *text, 89 gint start_pos, 90 gint end_pos); 91 void atk_editable_text_cut_text (AtkEditableText *text, 92 gint start_pos, 93 gint end_pos); 94 void atk_editable_text_delete_text (AtkEditableText *text, 95 gint start_pos, 96 gint end_pos); 97 void atk_editable_text_paste_text (AtkEditableText *text, 98 gint position); 99 100 #ifdef __cplusplus 101 } 102 #endif /* __cplusplus */ 103 104 105 #endif /* __ATK_EDITABLE_TEXT_H__ */