Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:28:17

0001 /* ATK -  Accessibility Toolkit
0002  * Copyright 2001 Sun Microsystems Inc.
0003  *
0004  * This library is free software; you can redistribute it and/or
0005  * modify it under the terms of the GNU Library General Public
0006  * License as published by the Free Software Foundation; either
0007  * version 2 of the License, or (at your option) any later version.
0008  *
0009  * This library is distributed in the hope that it will be useful,
0010  * but WITHOUT ANY WARRANTY; without even the implied warranty of
0011  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
0012  * Library General Public License for more details.
0013  *
0014  * You should have received a copy of the GNU Library General Public
0015  * License along with this library; if not, write to the
0016  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
0017  * Boston, MA 02111-1307, USA.
0018  */
0019 
0020 #ifndef __ATK_EDITABLE_TEXT_H__
0021 #define __ATK_EDITABLE_TEXT_H__
0022 
0023 #if defined(ATK_DISABLE_SINGLE_INCLUDES) && !defined(__ATK_H_INSIDE__) && !defined(ATK_COMPILATION)
0024 #error "Only <atk/atk.h> can be included directly."
0025 #endif
0026 
0027 #include <atk/atkobject.h>
0028 #include <atk/atktext.h>
0029 
0030 G_BEGIN_DECLS
0031 
0032 /*
0033  * AtkEditableText is used to support access in an "accessibility" context
0034  * to editing features of editable text widgets.
0035  */
0036 
0037 #define ATK_TYPE_EDITABLE_TEXT (atk_editable_text_get_type ())
0038 #define ATK_IS_EDITABLE_TEXT(obj) G_TYPE_CHECK_INSTANCE_TYPE ((obj), ATK_TYPE_EDITABLE_TEXT)
0039 #define ATK_EDITABLE_TEXT(obj) G_TYPE_CHECK_INSTANCE_CAST ((obj), ATK_TYPE_EDITABLE_TEXT, AtkEditableText)
0040 #define ATK_EDITABLE_TEXT_GET_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), ATK_TYPE_EDITABLE_TEXT, AtkEditableTextIface))
0041 
0042 #ifndef _TYPEDEF_ATK_EDITABLE_TEXT_
0043 #define _TYPEDEF_ATK_EDITABLE_TEXT_
0044 typedef struct _AtkEditableText AtkEditableText;
0045 #endif
0046 typedef struct _AtkEditableTextIface AtkEditableTextIface;
0047 
0048 struct _AtkEditableTextIface
0049 {
0050   GTypeInterface parent_interface;
0051 
0052   gboolean (*set_run_attributes) (AtkEditableText *text,
0053                                   AtkAttributeSet *attrib_set,
0054                                   gint start_offset,
0055                                   gint end_offset);
0056   void (*set_text_contents) (AtkEditableText *text,
0057                              const gchar *string);
0058   void (*insert_text) (AtkEditableText *text,
0059                        const gchar *string,
0060                        gint length,
0061                        gint *position);
0062   void (*copy_text) (AtkEditableText *text,
0063                      gint start_pos,
0064                      gint end_pos);
0065   void (*cut_text) (AtkEditableText *text,
0066                     gint start_pos,
0067                     gint end_pos);
0068   void (*delete_text) (AtkEditableText *text,
0069                        gint start_pos,
0070                        gint end_pos);
0071   void (*paste_text) (AtkEditableText *text,
0072                       gint position);
0073 };
0074 ATK_AVAILABLE_IN_ALL
0075 GType atk_editable_text_get_type (void);
0076 
0077 ATK_AVAILABLE_IN_ALL
0078 gboolean atk_editable_text_set_run_attributes (AtkEditableText *text,
0079                                                AtkAttributeSet *attrib_set,
0080                                                gint start_offset,
0081                                                gint end_offset);
0082 ATK_AVAILABLE_IN_ALL
0083 void atk_editable_text_set_text_contents (AtkEditableText *text,
0084                                           const gchar *string);
0085 ATK_AVAILABLE_IN_ALL
0086 void atk_editable_text_insert_text (AtkEditableText *text,
0087                                     const gchar *string,
0088                                     gint length,
0089                                     gint *position);
0090 ATK_AVAILABLE_IN_ALL
0091 void atk_editable_text_copy_text (AtkEditableText *text,
0092                                   gint start_pos,
0093                                   gint end_pos);
0094 ATK_AVAILABLE_IN_ALL
0095 void atk_editable_text_cut_text (AtkEditableText *text,
0096                                  gint start_pos,
0097                                  gint end_pos);
0098 ATK_AVAILABLE_IN_ALL
0099 void atk_editable_text_delete_text (AtkEditableText *text,
0100                                     gint start_pos,
0101                                     gint end_pos);
0102 ATK_AVAILABLE_IN_ALL
0103 void atk_editable_text_paste_text (AtkEditableText *text,
0104                                    gint position);
0105 
0106 G_END_DECLS
0107 
0108 #endif /* __ATK_EDITABLE_TEXT_H__ */