File: | ctk/a11y/ctkcellaccessible.c |
Warning: | line 295, column 22 Value stored to 'cell' during its initialization is never read |
Press '?' to see keyboard shortcuts
Keyboard shortcuts:
1 | /* CTK+ - accessibility implementations |
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 Lesser 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 | * Lesser General Public License for more details. |
13 | * |
14 | * You should have received a copy of the GNU Lesser General Public |
15 | * License along with this library. If not, see <http://www.gnu.org/licenses/>. |
16 | */ |
17 | |
18 | #include "config.h" |
19 | |
20 | #include <glib/gi18n-lib.h> |
21 | #include <ctk/ctk.h> |
22 | #include "ctkcontainercellaccessible.h" |
23 | #include "ctkcellaccessibleprivate.h" |
24 | #include "ctkcellaccessibleparent.h" |
25 | |
26 | struct _CtkCellAccessiblePrivate |
27 | { |
28 | AtkObject *parent; |
29 | }; |
30 | |
31 | static const struct { |
32 | AtkState atk_state; |
33 | CtkCellRendererState renderer_state; |
34 | gboolean invert; |
35 | } state_map[] = { |
36 | { ATK_STATE_SENSITIVE, CTK_CELL_RENDERER_INSENSITIVE, TRUE(!(0)) }, |
37 | { ATK_STATE_ENABLED, CTK_CELL_RENDERER_INSENSITIVE, TRUE(!(0)) }, |
38 | { ATK_STATE_SELECTED, CTK_CELL_RENDERER_SELECTED, FALSE(0) }, |
39 | /* XXX: why do we map ACTIVE here? */ |
40 | { ATK_STATE_ACTIVE, CTK_CELL_RENDERER_FOCUSED, FALSE(0) }, |
41 | { ATK_STATE_FOCUSED, CTK_CELL_RENDERER_FOCUSED, FALSE(0) }, |
42 | { ATK_STATE_EXPANDABLE,CTK_CELL_RENDERER_EXPANDABLE, FALSE(0) }, |
43 | { ATK_STATE_EXPANDED, CTK_CELL_RENDERER_EXPANDED, FALSE(0) }, |
44 | }; |
45 | |
46 | static CtkCellRendererState ctk_cell_accessible_get_state (CtkCellAccessible *cell); |
47 | static void atk_action_interface_init (AtkActionIface *iface); |
48 | static void atk_component_interface_init (AtkComponentIface *iface); |
49 | static void atk_table_cell_interface_init (AtkTableCellIface *iface); |
50 | |
51 | G_DEFINE_TYPE_WITH_CODE (CtkCellAccessible, ctk_cell_accessible, CTK_TYPE_ACCESSIBLE,static void ctk_cell_accessible_init (CtkCellAccessible *self ); static void ctk_cell_accessible_class_init (CtkCellAccessibleClass *klass); static GType ctk_cell_accessible_get_type_once (void ); static gpointer ctk_cell_accessible_parent_class = ((void* )0); static gint CtkCellAccessible_private_offset; static void ctk_cell_accessible_class_intern_init (gpointer klass) { ctk_cell_accessible_parent_class = g_type_class_peek_parent (klass); if (CtkCellAccessible_private_offset != 0) g_type_class_adjust_private_offset (klass, &CtkCellAccessible_private_offset ); ctk_cell_accessible_class_init ((CtkCellAccessibleClass*) klass ); } __attribute__ ((__unused__)) static inline gpointer ctk_cell_accessible_get_instance_private (CtkCellAccessible *self) { return (((gpointer) ((guint8*) ( self) + (glong) (CtkCellAccessible_private_offset)))); } GType ctk_cell_accessible_get_type (void) { static GType static_g_define_type_id = 0; if ((__extension__ ({ _Static_assert (sizeof *(&static_g_define_type_id ) == sizeof (gpointer), "Expression evaluates to false"); (void ) (0 ? (gpointer) * (&static_g_define_type_id) : ((void*) 0)); (!(__extension__ ({ _Static_assert (sizeof *(&static_g_define_type_id ) == sizeof (gpointer), "Expression evaluates to false"); __typeof__ (*(&static_g_define_type_id)) gapg_temp_newval; __typeof__ ((&static_g_define_type_id)) gapg_temp_atomic = (&static_g_define_type_id ); __atomic_load (gapg_temp_atomic, &gapg_temp_newval, 5) ; gapg_temp_newval; })) && g_once_init_enter_pointer ( &static_g_define_type_id)); })) ) { GType g_define_type_id = ctk_cell_accessible_get_type_once (); (__extension__ ({ _Static_assert (sizeof *(&static_g_define_type_id) == sizeof (gpointer) , "Expression evaluates to false"); 0 ? (void) (*(&static_g_define_type_id ) = (g_define_type_id)) : (void) 0; g_once_init_leave_pointer ((&static_g_define_type_id), (gpointer) (guintptr) (g_define_type_id )); })) ; } return static_g_define_type_id; } __attribute__ ( (__noinline__)) static GType ctk_cell_accessible_get_type_once (void) { GType g_define_type_id = g_type_register_static_simple ((ctk_accessible_get_type ()), g_intern_static_string ("CtkCellAccessible" ), sizeof (CtkCellAccessibleClass), (GClassInitFunc)(void (*) (void)) ctk_cell_accessible_class_intern_init, sizeof (CtkCellAccessible ), (GInstanceInitFunc)(void (*)(void)) ctk_cell_accessible_init , (GTypeFlags) 0); { {{ CtkCellAccessible_private_offset = g_type_add_instance_private (g_define_type_id, sizeof (CtkCellAccessiblePrivate)); } { const GInterfaceInfo g_implement_interface_info = { (GInterfaceInitFunc )(void (*)(void)) atk_action_interface_init, ((void*)0), ((void *)0) }; g_type_add_interface_static (g_define_type_id, (atk_action_get_type ()), &g_implement_interface_info); } { const GInterfaceInfo g_implement_interface_info = { (GInterfaceInitFunc)(void (*) (void)) atk_component_interface_init, ((void*)0), ((void*)0) } ; g_type_add_interface_static (g_define_type_id, (atk_component_get_type ()), &g_implement_interface_info); } { const GInterfaceInfo g_implement_interface_info = { (GInterfaceInitFunc)(void (*) (void)) atk_table_cell_interface_init, ((void*)0), ((void*)0) }; g_type_add_interface_static (g_define_type_id, (atk_table_cell_get_type ()), &g_implement_interface_info); };} } return g_define_type_id ; } |
52 | G_ADD_PRIVATE (CtkCellAccessible)static void ctk_cell_accessible_init (CtkCellAccessible *self ); static void ctk_cell_accessible_class_init (CtkCellAccessibleClass *klass); static GType ctk_cell_accessible_get_type_once (void ); static gpointer ctk_cell_accessible_parent_class = ((void* )0); static gint CtkCellAccessible_private_offset; static void ctk_cell_accessible_class_intern_init (gpointer klass) { ctk_cell_accessible_parent_class = g_type_class_peek_parent (klass); if (CtkCellAccessible_private_offset != 0) g_type_class_adjust_private_offset (klass, &CtkCellAccessible_private_offset ); ctk_cell_accessible_class_init ((CtkCellAccessibleClass*) klass ); } __attribute__ ((__unused__)) static inline gpointer ctk_cell_accessible_get_instance_private (CtkCellAccessible *self) { return (((gpointer) ((guint8*) ( self) + (glong) (CtkCellAccessible_private_offset)))); } GType ctk_cell_accessible_get_type (void) { static GType static_g_define_type_id = 0; if ((__extension__ ({ _Static_assert (sizeof *(&static_g_define_type_id ) == sizeof (gpointer), "Expression evaluates to false"); (void ) (0 ? (gpointer) * (&static_g_define_type_id) : ((void*) 0)); (!(__extension__ ({ _Static_assert (sizeof *(&static_g_define_type_id ) == sizeof (gpointer), "Expression evaluates to false"); __typeof__ (*(&static_g_define_type_id)) gapg_temp_newval; __typeof__ ((&static_g_define_type_id)) gapg_temp_atomic = (&static_g_define_type_id ); __atomic_load (gapg_temp_atomic, &gapg_temp_newval, 5) ; gapg_temp_newval; })) && g_once_init_enter_pointer ( &static_g_define_type_id)); })) ) { GType g_define_type_id = ctk_cell_accessible_get_type_once (); (__extension__ ({ _Static_assert (sizeof *(&static_g_define_type_id) == sizeof (gpointer) , "Expression evaluates to false"); 0 ? (void) (*(&static_g_define_type_id ) = (g_define_type_id)) : (void) 0; g_once_init_leave_pointer ((&static_g_define_type_id), (gpointer) (guintptr) (g_define_type_id )); })) ; } return static_g_define_type_id; } __attribute__ ( (__noinline__)) static GType ctk_cell_accessible_get_type_once (void) { GType g_define_type_id = g_type_register_static_simple ((ctk_accessible_get_type ()), g_intern_static_string ("CtkCellAccessible" ), sizeof (CtkCellAccessibleClass), (GClassInitFunc)(void (*) (void)) ctk_cell_accessible_class_intern_init, sizeof (CtkCellAccessible ), (GInstanceInitFunc)(void (*)(void)) ctk_cell_accessible_init , (GTypeFlags) 0); { {{ CtkCellAccessible_private_offset = g_type_add_instance_private (g_define_type_id, sizeof (CtkCellAccessiblePrivate)); } { const GInterfaceInfo g_implement_interface_info = { (GInterfaceInitFunc )(void (*)(void)) atk_action_interface_init, ((void*)0), ((void *)0) }; g_type_add_interface_static (g_define_type_id, (atk_action_get_type ()), &g_implement_interface_info); } { const GInterfaceInfo g_implement_interface_info = { (GInterfaceInitFunc)(void (*) (void)) atk_component_interface_init, ((void*)0), ((void*)0) } ; g_type_add_interface_static (g_define_type_id, (atk_component_get_type ()), &g_implement_interface_info); } { const GInterfaceInfo g_implement_interface_info = { (GInterfaceInitFunc)(void (*) (void)) atk_table_cell_interface_init, ((void*)0), ((void*)0) }; g_type_add_interface_static (g_define_type_id, (atk_table_cell_get_type ()), &g_implement_interface_info); };} } return g_define_type_id ; } |
53 | G_IMPLEMENT_INTERFACE (ATK_TYPE_ACTION, atk_action_interface_init)static void ctk_cell_accessible_init (CtkCellAccessible *self ); static void ctk_cell_accessible_class_init (CtkCellAccessibleClass *klass); static GType ctk_cell_accessible_get_type_once (void ); static gpointer ctk_cell_accessible_parent_class = ((void* )0); static gint CtkCellAccessible_private_offset; static void ctk_cell_accessible_class_intern_init (gpointer klass) { ctk_cell_accessible_parent_class = g_type_class_peek_parent (klass); if (CtkCellAccessible_private_offset != 0) g_type_class_adjust_private_offset (klass, &CtkCellAccessible_private_offset ); ctk_cell_accessible_class_init ((CtkCellAccessibleClass*) klass ); } __attribute__ ((__unused__)) static inline gpointer ctk_cell_accessible_get_instance_private (CtkCellAccessible *self) { return (((gpointer) ((guint8*) ( self) + (glong) (CtkCellAccessible_private_offset)))); } GType ctk_cell_accessible_get_type (void) { static GType static_g_define_type_id = 0; if ((__extension__ ({ _Static_assert (sizeof *(&static_g_define_type_id ) == sizeof (gpointer), "Expression evaluates to false"); (void ) (0 ? (gpointer) * (&static_g_define_type_id) : ((void*) 0)); (!(__extension__ ({ _Static_assert (sizeof *(&static_g_define_type_id ) == sizeof (gpointer), "Expression evaluates to false"); __typeof__ (*(&static_g_define_type_id)) gapg_temp_newval; __typeof__ ((&static_g_define_type_id)) gapg_temp_atomic = (&static_g_define_type_id ); __atomic_load (gapg_temp_atomic, &gapg_temp_newval, 5) ; gapg_temp_newval; })) && g_once_init_enter_pointer ( &static_g_define_type_id)); })) ) { GType g_define_type_id = ctk_cell_accessible_get_type_once (); (__extension__ ({ _Static_assert (sizeof *(&static_g_define_type_id) == sizeof (gpointer) , "Expression evaluates to false"); 0 ? (void) (*(&static_g_define_type_id ) = (g_define_type_id)) : (void) 0; g_once_init_leave_pointer ((&static_g_define_type_id), (gpointer) (guintptr) (g_define_type_id )); })) ; } return static_g_define_type_id; } __attribute__ ( (__noinline__)) static GType ctk_cell_accessible_get_type_once (void) { GType g_define_type_id = g_type_register_static_simple ((ctk_accessible_get_type ()), g_intern_static_string ("CtkCellAccessible" ), sizeof (CtkCellAccessibleClass), (GClassInitFunc)(void (*) (void)) ctk_cell_accessible_class_intern_init, sizeof (CtkCellAccessible ), (GInstanceInitFunc)(void (*)(void)) ctk_cell_accessible_init , (GTypeFlags) 0); { {{ CtkCellAccessible_private_offset = g_type_add_instance_private (g_define_type_id, sizeof (CtkCellAccessiblePrivate)); } { const GInterfaceInfo g_implement_interface_info = { (GInterfaceInitFunc )(void (*)(void)) atk_action_interface_init, ((void*)0), ((void *)0) }; g_type_add_interface_static (g_define_type_id, (atk_action_get_type ()), &g_implement_interface_info); } { const GInterfaceInfo g_implement_interface_info = { (GInterfaceInitFunc)(void (*) (void)) atk_component_interface_init, ((void*)0), ((void*)0) } ; g_type_add_interface_static (g_define_type_id, (atk_component_get_type ()), &g_implement_interface_info); } { const GInterfaceInfo g_implement_interface_info = { (GInterfaceInitFunc)(void (*) (void)) atk_table_cell_interface_init, ((void*)0), ((void*)0) }; g_type_add_interface_static (g_define_type_id, (atk_table_cell_get_type ()), &g_implement_interface_info); };} } return g_define_type_id ; } |
54 | G_IMPLEMENT_INTERFACE (ATK_TYPE_COMPONENT, atk_component_interface_init)static void ctk_cell_accessible_init (CtkCellAccessible *self ); static void ctk_cell_accessible_class_init (CtkCellAccessibleClass *klass); static GType ctk_cell_accessible_get_type_once (void ); static gpointer ctk_cell_accessible_parent_class = ((void* )0); static gint CtkCellAccessible_private_offset; static void ctk_cell_accessible_class_intern_init (gpointer klass) { ctk_cell_accessible_parent_class = g_type_class_peek_parent (klass); if (CtkCellAccessible_private_offset != 0) g_type_class_adjust_private_offset (klass, &CtkCellAccessible_private_offset ); ctk_cell_accessible_class_init ((CtkCellAccessibleClass*) klass ); } __attribute__ ((__unused__)) static inline gpointer ctk_cell_accessible_get_instance_private (CtkCellAccessible *self) { return (((gpointer) ((guint8*) ( self) + (glong) (CtkCellAccessible_private_offset)))); } GType ctk_cell_accessible_get_type (void) { static GType static_g_define_type_id = 0; if ((__extension__ ({ _Static_assert (sizeof *(&static_g_define_type_id ) == sizeof (gpointer), "Expression evaluates to false"); (void ) (0 ? (gpointer) * (&static_g_define_type_id) : ((void*) 0)); (!(__extension__ ({ _Static_assert (sizeof *(&static_g_define_type_id ) == sizeof (gpointer), "Expression evaluates to false"); __typeof__ (*(&static_g_define_type_id)) gapg_temp_newval; __typeof__ ((&static_g_define_type_id)) gapg_temp_atomic = (&static_g_define_type_id ); __atomic_load (gapg_temp_atomic, &gapg_temp_newval, 5) ; gapg_temp_newval; })) && g_once_init_enter_pointer ( &static_g_define_type_id)); })) ) { GType g_define_type_id = ctk_cell_accessible_get_type_once (); (__extension__ ({ _Static_assert (sizeof *(&static_g_define_type_id) == sizeof (gpointer) , "Expression evaluates to false"); 0 ? (void) (*(&static_g_define_type_id ) = (g_define_type_id)) : (void) 0; g_once_init_leave_pointer ((&static_g_define_type_id), (gpointer) (guintptr) (g_define_type_id )); })) ; } return static_g_define_type_id; } __attribute__ ( (__noinline__)) static GType ctk_cell_accessible_get_type_once (void) { GType g_define_type_id = g_type_register_static_simple ((ctk_accessible_get_type ()), g_intern_static_string ("CtkCellAccessible" ), sizeof (CtkCellAccessibleClass), (GClassInitFunc)(void (*) (void)) ctk_cell_accessible_class_intern_init, sizeof (CtkCellAccessible ), (GInstanceInitFunc)(void (*)(void)) ctk_cell_accessible_init , (GTypeFlags) 0); { {{ CtkCellAccessible_private_offset = g_type_add_instance_private (g_define_type_id, sizeof (CtkCellAccessiblePrivate)); } { const GInterfaceInfo g_implement_interface_info = { (GInterfaceInitFunc )(void (*)(void)) atk_action_interface_init, ((void*)0), ((void *)0) }; g_type_add_interface_static (g_define_type_id, (atk_action_get_type ()), &g_implement_interface_info); } { const GInterfaceInfo g_implement_interface_info = { (GInterfaceInitFunc)(void (*) (void)) atk_component_interface_init, ((void*)0), ((void*)0) } ; g_type_add_interface_static (g_define_type_id, (atk_component_get_type ()), &g_implement_interface_info); } { const GInterfaceInfo g_implement_interface_info = { (GInterfaceInitFunc)(void (*) (void)) atk_table_cell_interface_init, ((void*)0), ((void*)0) }; g_type_add_interface_static (g_define_type_id, (atk_table_cell_get_type ()), &g_implement_interface_info); };} } return g_define_type_id ; } |
55 | G_IMPLEMENT_INTERFACE (ATK_TYPE_TABLE_CELL, atk_table_cell_interface_init))static void ctk_cell_accessible_init (CtkCellAccessible *self ); static void ctk_cell_accessible_class_init (CtkCellAccessibleClass *klass); static GType ctk_cell_accessible_get_type_once (void ); static gpointer ctk_cell_accessible_parent_class = ((void* )0); static gint CtkCellAccessible_private_offset; static void ctk_cell_accessible_class_intern_init (gpointer klass) { ctk_cell_accessible_parent_class = g_type_class_peek_parent (klass); if (CtkCellAccessible_private_offset != 0) g_type_class_adjust_private_offset (klass, &CtkCellAccessible_private_offset ); ctk_cell_accessible_class_init ((CtkCellAccessibleClass*) klass ); } __attribute__ ((__unused__)) static inline gpointer ctk_cell_accessible_get_instance_private (CtkCellAccessible *self) { return (((gpointer) ((guint8*) ( self) + (glong) (CtkCellAccessible_private_offset)))); } GType ctk_cell_accessible_get_type (void) { static GType static_g_define_type_id = 0; if ((__extension__ ({ _Static_assert (sizeof *(&static_g_define_type_id ) == sizeof (gpointer), "Expression evaluates to false"); (void ) (0 ? (gpointer) * (&static_g_define_type_id) : ((void*) 0)); (!(__extension__ ({ _Static_assert (sizeof *(&static_g_define_type_id ) == sizeof (gpointer), "Expression evaluates to false"); __typeof__ (*(&static_g_define_type_id)) gapg_temp_newval; __typeof__ ((&static_g_define_type_id)) gapg_temp_atomic = (&static_g_define_type_id ); __atomic_load (gapg_temp_atomic, &gapg_temp_newval, 5) ; gapg_temp_newval; })) && g_once_init_enter_pointer ( &static_g_define_type_id)); })) ) { GType g_define_type_id = ctk_cell_accessible_get_type_once (); (__extension__ ({ _Static_assert (sizeof *(&static_g_define_type_id) == sizeof (gpointer) , "Expression evaluates to false"); 0 ? (void) (*(&static_g_define_type_id ) = (g_define_type_id)) : (void) 0; g_once_init_leave_pointer ((&static_g_define_type_id), (gpointer) (guintptr) (g_define_type_id )); })) ; } return static_g_define_type_id; } __attribute__ ( (__noinline__)) static GType ctk_cell_accessible_get_type_once (void) { GType g_define_type_id = g_type_register_static_simple ((ctk_accessible_get_type ()), g_intern_static_string ("CtkCellAccessible" ), sizeof (CtkCellAccessibleClass), (GClassInitFunc)(void (*) (void)) ctk_cell_accessible_class_intern_init, sizeof (CtkCellAccessible ), (GInstanceInitFunc)(void (*)(void)) ctk_cell_accessible_init , (GTypeFlags) 0); { {{ CtkCellAccessible_private_offset = g_type_add_instance_private (g_define_type_id, sizeof (CtkCellAccessiblePrivate)); } { const GInterfaceInfo g_implement_interface_info = { (GInterfaceInitFunc )(void (*)(void)) atk_action_interface_init, ((void*)0), ((void *)0) }; g_type_add_interface_static (g_define_type_id, (atk_action_get_type ()), &g_implement_interface_info); } { const GInterfaceInfo g_implement_interface_info = { (GInterfaceInitFunc)(void (*) (void)) atk_component_interface_init, ((void*)0), ((void*)0) } ; g_type_add_interface_static (g_define_type_id, (atk_component_get_type ()), &g_implement_interface_info); } { const GInterfaceInfo g_implement_interface_info = { (GInterfaceInitFunc)(void (*) (void)) atk_table_cell_interface_init, ((void*)0), ((void*)0) }; g_type_add_interface_static (g_define_type_id, (atk_table_cell_get_type ()), &g_implement_interface_info); };} } return g_define_type_id ; } |
56 | |
57 | static gint |
58 | ctk_cell_accessible_get_index_in_parent (AtkObject *obj) |
59 | { |
60 | CtkCellAccessible *cell; |
61 | AtkObject *parent; |
62 | |
63 | cell = CTK_CELL_ACCESSIBLE (obj)((((CtkCellAccessible*) (void *) g_type_check_instance_cast ( (GTypeInstance*) ((obj)), ((ctk_cell_accessible_get_type ())) )))); |
64 | |
65 | if (CTK_IS_CONTAINER_CELL_ACCESSIBLE (cell->priv->parent)(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) ( (cell->priv->parent)); GType __t = ((ctk_container_cell_accessible_get_type ())); gboolean __r; if (!__inst) __r = (0); else if (__inst-> g_class && __inst->g_class->g_type == __t) __r = (!(0)); else __r = g_type_check_instance_is_a (__inst, __t); __r; }))))) |
66 | return g_list_index (ctk_container_cell_accessible_get_children (CTK_CONTAINER_CELL_ACCESSIBLE (cell->priv->parent)((((CtkContainerCellAccessible*) (void *) g_type_check_instance_cast ((GTypeInstance*) ((cell->priv->parent)), ((ctk_container_cell_accessible_get_type ()))))))), obj); |
67 | |
68 | parent = ctk_widget_get_accessible (ctk_accessible_get_widget (CTK_ACCESSIBLE (cell)((((CtkAccessible*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((cell)), ((ctk_accessible_get_type ())))))))); |
69 | if (parent == NULL((void*)0)) |
70 | return -1; |
71 | |
72 | return ctk_cell_accessible_parent_get_child_index (CTK_CELL_ACCESSIBLE_PARENT (cell->priv->parent)(((CtkCellAccessibleParent*) (void *) g_type_check_instance_cast ((GTypeInstance*) ((cell->priv->parent)), ((ctk_cell_accessible_parent_get_type ()))))), cell); |
73 | } |
74 | |
75 | static AtkRelationSet * |
76 | ctk_cell_accessible_ref_relation_set (AtkObject *object) |
77 | { |
78 | CtkCellAccessible *cell; |
79 | AtkRelationSet *relationset; |
80 | AtkObject *parent; |
81 | |
82 | relationset = ATK_OBJECT_CLASS (ctk_cell_accessible_parent_class)((((AtkObjectClass*) (void *) g_type_check_class_cast ((GTypeClass *) ((ctk_cell_accessible_parent_class)), ((atk_object_get_type ()))))))->ref_relation_set (object); |
83 | if (relationset == NULL((void*)0)) |
84 | relationset = atk_relation_set_new (); |
85 | |
86 | cell = CTK_CELL_ACCESSIBLE (object)((((CtkCellAccessible*) (void *) g_type_check_instance_cast ( (GTypeInstance*) ((object)), ((ctk_cell_accessible_get_type ( ))))))); |
87 | parent = ctk_widget_get_accessible (ctk_accessible_get_widget (CTK_ACCESSIBLE (cell)((((CtkAccessible*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((cell)), ((ctk_accessible_get_type ())))))))); |
88 | |
89 | ctk_cell_accessible_parent_update_relationset (CTK_CELL_ACCESSIBLE_PARENT (parent)(((CtkCellAccessibleParent*) (void *) g_type_check_instance_cast ((GTypeInstance*) ((parent)), ((ctk_cell_accessible_parent_get_type ()))))), |
90 | cell, |
91 | relationset); |
92 | |
93 | return relationset; |
94 | } |
95 | |
96 | static AtkStateSet * |
97 | ctk_cell_accessible_ref_state_set (AtkObject *accessible) |
98 | { |
99 | CtkCellAccessible *cell_accessible; |
100 | AtkStateSet *state_set; |
101 | CtkCellRendererState flags; |
102 | guint i; |
103 | |
104 | cell_accessible = CTK_CELL_ACCESSIBLE (accessible)((((CtkCellAccessible*) (void *) g_type_check_instance_cast ( (GTypeInstance*) ((accessible)), ((ctk_cell_accessible_get_type ())))))); |
105 | |
106 | state_set = atk_state_set_new (); |
107 | |
108 | if (ctk_accessible_get_widget (CTK_ACCESSIBLE (cell_accessible)((((CtkAccessible*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((cell_accessible)), ((ctk_accessible_get_type ()))))))) == NULL((void*)0)) |
109 | { |
110 | atk_state_set_add_state (state_set, ATK_STATE_DEFUNCT); |
111 | return state_set; |
112 | } |
113 | |
114 | flags = ctk_cell_accessible_get_state (cell_accessible); |
115 | |
116 | atk_state_set_add_state (state_set, ATK_STATE_FOCUSABLE); |
117 | atk_state_set_add_state (state_set, ATK_STATE_SELECTABLE); |
118 | atk_state_set_add_state (state_set, ATK_STATE_TRANSIENT); |
119 | atk_state_set_add_state (state_set, ATK_STATE_VISIBLE); |
120 | |
121 | for (i = 0; i < G_N_ELEMENTS (state_map)(sizeof (state_map) / sizeof ((state_map)[0])); i++) |
122 | { |
123 | if (flags & state_map[i].renderer_state) |
124 | { |
125 | if (!state_map[i].invert) |
126 | atk_state_set_add_state (state_set, state_map[i].atk_state); |
127 | } |
128 | else |
129 | { |
130 | if (state_map[i].invert) |
131 | atk_state_set_add_state (state_set, state_map[i].atk_state); |
132 | } |
133 | } |
134 | |
135 | if (ctk_widget_get_mapped (ctk_accessible_get_widget (CTK_ACCESSIBLE (cell_accessible)((((CtkAccessible*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((cell_accessible)), ((ctk_accessible_get_type ()))))))))) |
136 | atk_state_set_add_state (state_set, ATK_STATE_SHOWING); |
137 | |
138 | return state_set; |
139 | } |
140 | |
141 | static AtkObject * |
142 | ctk_cell_accessible_get_parent (AtkObject *object) |
143 | { |
144 | CtkCellAccessible *cell = CTK_CELL_ACCESSIBLE (object)((((CtkCellAccessible*) (void *) g_type_check_instance_cast ( (GTypeInstance*) ((object)), ((ctk_cell_accessible_get_type ( ))))))); |
145 | |
146 | return cell->priv->parent; |
147 | } |
148 | |
149 | static void |
150 | ctk_cell_accessible_class_init (CtkCellAccessibleClass *klass) |
151 | { |
152 | AtkObjectClass *class = ATK_OBJECT_CLASS (klass)((((AtkObjectClass*) (void *) g_type_check_class_cast ((GTypeClass *) ((klass)), ((atk_object_get_type ())))))); |
153 | |
154 | class->get_index_in_parent = ctk_cell_accessible_get_index_in_parent; |
155 | class->ref_state_set = ctk_cell_accessible_ref_state_set; |
156 | class->ref_relation_set = ctk_cell_accessible_ref_relation_set; |
157 | class->get_parent = ctk_cell_accessible_get_parent; |
158 | } |
159 | |
160 | static void |
161 | ctk_cell_accessible_init (CtkCellAccessible *cell) |
162 | { |
163 | cell->priv = ctk_cell_accessible_get_instance_private (cell); |
164 | } |
165 | |
166 | void |
167 | _ctk_cell_accessible_initialize (CtkCellAccessible *cell, |
168 | CtkWidget *widget, |
169 | AtkObject *parent) |
170 | { |
171 | ctk_accessible_set_widget (CTK_ACCESSIBLE (cell)((((CtkAccessible*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((cell)), ((ctk_accessible_get_type ())))))), widget); |
172 | cell->priv->parent = parent; |
173 | } |
174 | |
175 | gboolean |
176 | _ctk_cell_accessible_add_state (CtkCellAccessible *cell, |
177 | AtkStateType state_type, |
178 | gboolean emit_signal) |
179 | { |
180 | /* The signal should only be generated if the value changed, |
181 | * not when the cell is set up. So states that are set |
182 | * initially should pass FALSE as the emit_signal argument. |
183 | */ |
184 | if (emit_signal) |
185 | { |
186 | atk_object_notify_state_change (ATK_OBJECT (cell)((((AtkObject*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((cell)), ((atk_object_get_type ())))))), state_type, TRUE(!(0))); |
187 | /* If state_type is ATK_STATE_VISIBLE, additional notification */ |
188 | if (state_type == ATK_STATE_VISIBLE) |
189 | g_signal_emit_by_name (cell, "visible-data-changed"); |
190 | } |
191 | |
192 | /* If the parent is a flyweight container cell, propagate the state |
193 | * change to it also |
194 | */ |
195 | if (CTK_IS_CONTAINER_CELL_ACCESSIBLE (cell->priv->parent)(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) ( (cell->priv->parent)); GType __t = ((ctk_container_cell_accessible_get_type ())); gboolean __r; if (!__inst) __r = (0); else if (__inst-> g_class && __inst->g_class->g_type == __t) __r = (!(0)); else __r = g_type_check_instance_is_a (__inst, __t); __r; }))))) |
196 | _ctk_cell_accessible_add_state (CTK_CELL_ACCESSIBLE (cell->priv->parent)((((CtkCellAccessible*) (void *) g_type_check_instance_cast ( (GTypeInstance*) ((cell->priv->parent)), ((ctk_cell_accessible_get_type ())))))), state_type, emit_signal); |
197 | |
198 | return TRUE(!(0)); |
199 | } |
200 | |
201 | gboolean |
202 | _ctk_cell_accessible_remove_state (CtkCellAccessible *cell, |
203 | AtkStateType state_type, |
204 | gboolean emit_signal) |
205 | { |
206 | /* The signal should only be generated if the value changed, |
207 | * not when the cell is set up. So states that are set |
208 | * initially should pass FALSE as the emit_signal argument. |
209 | */ |
210 | if (emit_signal) |
211 | { |
212 | atk_object_notify_state_change (ATK_OBJECT (cell)((((AtkObject*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((cell)), ((atk_object_get_type ())))))), state_type, FALSE(0)); |
213 | /* If state_type is ATK_STATE_VISIBLE, additional notification */ |
214 | if (state_type == ATK_STATE_VISIBLE) |
215 | g_signal_emit_by_name (cell, "visible-data-changed"); |
216 | } |
217 | |
218 | /* If the parent is a flyweight container cell, propagate the state |
219 | * change to it also |
220 | */ |
221 | if (CTK_IS_CONTAINER_CELL_ACCESSIBLE (cell->priv->parent)(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) ( (cell->priv->parent)); GType __t = ((ctk_container_cell_accessible_get_type ())); gboolean __r; if (!__inst) __r = (0); else if (__inst-> g_class && __inst->g_class->g_type == __t) __r = (!(0)); else __r = g_type_check_instance_is_a (__inst, __t); __r; }))))) |
222 | _ctk_cell_accessible_remove_state (CTK_CELL_ACCESSIBLE (cell->priv->parent)((((CtkCellAccessible*) (void *) g_type_check_instance_cast ( (GTypeInstance*) ((cell->priv->parent)), ((ctk_cell_accessible_get_type ())))))), state_type, emit_signal); |
223 | |
224 | return TRUE(!(0)); |
225 | } |
226 | |
227 | static gint |
228 | ctk_cell_accessible_action_get_n_actions (AtkAction *action G_GNUC_UNUSED__attribute__ ((__unused__))) |
229 | { |
230 | return 3; |
231 | } |
232 | |
233 | static const gchar * |
234 | ctk_cell_accessible_action_get_name (AtkAction *action G_GNUC_UNUSED__attribute__ ((__unused__)), |
235 | gint index) |
236 | { |
237 | switch (index) |
238 | { |
239 | case 0: |
240 | return "expand or contract"; |
241 | case 1: |
242 | return "edit"; |
243 | case 2: |
244 | return "activate"; |
245 | default: |
246 | return NULL((void*)0); |
247 | } |
248 | } |
249 | |
250 | static const gchar * |
251 | ctk_cell_accessible_action_get_localized_name (AtkAction *action G_GNUC_UNUSED__attribute__ ((__unused__)), |
252 | gint index) |
253 | { |
254 | switch (index) |
255 | { |
256 | case 0: |
257 | return C_("Action name", "Expand or contract")g_dpgettext ("ctk30", "Action name" "\004" "Expand or contract" , strlen ("Action name") + 1); |
258 | case 1: |
259 | return C_("Action name", "Edit")g_dpgettext ("ctk30", "Action name" "\004" "Edit", strlen ("Action name" ) + 1); |
260 | case 2: |
261 | return C_("Action name", "Activate")g_dpgettext ("ctk30", "Action name" "\004" "Activate", strlen ("Action name") + 1); |
262 | default: |
263 | return NULL((void*)0); |
264 | } |
265 | } |
266 | |
267 | static const gchar * |
268 | ctk_cell_accessible_action_get_description (AtkAction *action G_GNUC_UNUSED__attribute__ ((__unused__)), |
269 | gint index) |
270 | { |
271 | switch (index) |
272 | { |
273 | case 0: |
274 | return C_("Action description", "Expands or contracts the row in the tree view containing this cell")g_dpgettext ("ctk30", "Action description" "\004" "Expands or contracts the row in the tree view containing this cell" , strlen ("Action description") + 1); |
275 | case 1: |
276 | return C_("Action description", "Creates a widget in which the contents of the cell can be edited")g_dpgettext ("ctk30", "Action description" "\004" "Creates a widget in which the contents of the cell can be edited" , strlen ("Action description") + 1); |
277 | case 2: |
278 | return C_("Action description", "Activates the cell")g_dpgettext ("ctk30", "Action description" "\004" "Activates the cell" , strlen ("Action description") + 1); |
279 | default: |
280 | return NULL((void*)0); |
281 | } |
282 | } |
283 | |
284 | static const gchar * |
285 | ctk_cell_accessible_action_get_keybinding (AtkAction *action G_GNUC_UNUSED__attribute__ ((__unused__)), |
286 | gint index G_GNUC_UNUSED__attribute__ ((__unused__))) |
287 | { |
288 | return NULL((void*)0); |
289 | } |
290 | |
291 | static gboolean |
292 | ctk_cell_accessible_action_do_action (AtkAction *action, |
293 | gint index) |
294 | { |
295 | CtkCellAccessible *cell = CTK_CELL_ACCESSIBLE (action)((((CtkCellAccessible*) (void *) g_type_check_instance_cast ( (GTypeInstance*) ((action)), ((ctk_cell_accessible_get_type ( ))))))); |
Value stored to 'cell' during its initialization is never read | |
296 | CtkCellAccessibleParent *parent; |
297 | |
298 | cell = CTK_CELL_ACCESSIBLE (action)((((CtkCellAccessible*) (void *) g_type_check_instance_cast ( (GTypeInstance*) ((action)), ((ctk_cell_accessible_get_type ( ))))))); |
299 | if (ctk_accessible_get_widget (CTK_ACCESSIBLE (cell)((((CtkAccessible*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((cell)), ((ctk_accessible_get_type ()))))))) == NULL((void*)0)) |
300 | return FALSE(0); |
301 | |
302 | parent = CTK_CELL_ACCESSIBLE_PARENT (ctk_widget_get_accessible (ctk_accessible_get_widget (CTK_ACCESSIBLE (cell))))(((CtkCellAccessibleParent*) (void *) g_type_check_instance_cast ((GTypeInstance*) ((ctk_widget_get_accessible (ctk_accessible_get_widget (((((CtkAccessible*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((cell)), ((ctk_accessible_get_type ())))))))))), ((ctk_cell_accessible_parent_get_type ()))))); |
303 | |
304 | switch (index) |
305 | { |
306 | case 0: |
307 | ctk_cell_accessible_parent_expand_collapse (parent, cell); |
308 | break; |
309 | case 1: |
310 | ctk_cell_accessible_parent_edit (parent, cell); |
311 | break; |
312 | case 2: |
313 | ctk_cell_accessible_parent_activate (parent, cell); |
314 | break; |
315 | default: |
316 | return FALSE(0); |
317 | } |
318 | |
319 | return TRUE(!(0)); |
320 | } |
321 | |
322 | static void |
323 | atk_action_interface_init (AtkActionIface *iface) |
324 | { |
325 | iface->get_n_actions = ctk_cell_accessible_action_get_n_actions; |
326 | iface->do_action = ctk_cell_accessible_action_do_action; |
327 | iface->get_name = ctk_cell_accessible_action_get_name; |
328 | iface->get_localized_name = ctk_cell_accessible_action_get_localized_name; |
329 | iface->get_description = ctk_cell_accessible_action_get_description; |
330 | iface->get_keybinding = ctk_cell_accessible_action_get_keybinding; |
331 | } |
332 | |
333 | static void |
334 | ctk_cell_accessible_get_extents (AtkComponent *component, |
335 | gint *x, |
336 | gint *y, |
337 | gint *width, |
338 | gint *height, |
339 | AtkCoordType coord_type) |
340 | { |
341 | CtkCellAccessible *cell; |
342 | AtkObject *parent; |
343 | |
344 | cell = CTK_CELL_ACCESSIBLE (component)((((CtkCellAccessible*) (void *) g_type_check_instance_cast ( (GTypeInstance*) ((component)), ((ctk_cell_accessible_get_type ())))))); |
345 | parent = ctk_widget_get_accessible (ctk_accessible_get_widget (CTK_ACCESSIBLE (cell)((((CtkAccessible*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((cell)), ((ctk_accessible_get_type ())))))))); |
346 | |
347 | ctk_cell_accessible_parent_get_cell_extents (CTK_CELL_ACCESSIBLE_PARENT (parent)(((CtkCellAccessibleParent*) (void *) g_type_check_instance_cast ((GTypeInstance*) ((parent)), ((ctk_cell_accessible_parent_get_type ()))))), |
348 | cell, |
349 | x, y, width, height, coord_type); |
350 | } |
351 | |
352 | static gboolean |
353 | ctk_cell_accessible_grab_focus (AtkComponent *component) |
354 | { |
355 | CtkCellAccessible *cell; |
356 | AtkObject *parent; |
357 | |
358 | cell = CTK_CELL_ACCESSIBLE (component)((((CtkCellAccessible*) (void *) g_type_check_instance_cast ( (GTypeInstance*) ((component)), ((ctk_cell_accessible_get_type ())))))); |
359 | parent = ctk_widget_get_accessible (ctk_accessible_get_widget (CTK_ACCESSIBLE (cell)((((CtkAccessible*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((cell)), ((ctk_accessible_get_type ())))))))); |
360 | |
361 | return ctk_cell_accessible_parent_grab_focus (CTK_CELL_ACCESSIBLE_PARENT (parent)(((CtkCellAccessibleParent*) (void *) g_type_check_instance_cast ((GTypeInstance*) ((parent)), ((ctk_cell_accessible_parent_get_type ()))))), cell); |
362 | } |
363 | |
364 | static void |
365 | atk_component_interface_init (AtkComponentIface *iface) |
366 | { |
367 | iface->get_extents = ctk_cell_accessible_get_extents; |
368 | iface->grab_focus = ctk_cell_accessible_grab_focus; |
369 | } |
370 | |
371 | static int |
372 | ctk_cell_accessible_get_column_span (AtkTableCell *table_cell G_GNUC_UNUSED__attribute__ ((__unused__))) |
373 | { |
374 | return 1; |
375 | } |
376 | |
377 | static GPtrArray * |
378 | ctk_cell_accessible_get_column_header_cells (AtkTableCell *table_cell) |
379 | { |
380 | CtkCellAccessible *cell; |
381 | AtkObject *parent; |
382 | |
383 | cell = CTK_CELL_ACCESSIBLE (table_cell)((((CtkCellAccessible*) (void *) g_type_check_instance_cast ( (GTypeInstance*) ((table_cell)), ((ctk_cell_accessible_get_type ())))))); |
384 | parent = ctk_widget_get_accessible (ctk_accessible_get_widget (CTK_ACCESSIBLE (cell)((((CtkAccessible*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((cell)), ((ctk_accessible_get_type ())))))))); |
385 | |
386 | return ctk_cell_accessible_parent_get_column_header_cells (CTK_CELL_ACCESSIBLE_PARENT (parent)(((CtkCellAccessibleParent*) (void *) g_type_check_instance_cast ((GTypeInstance*) ((parent)), ((ctk_cell_accessible_parent_get_type ()))))), |
387 | cell); |
388 | } |
389 | |
390 | static gboolean |
391 | ctk_cell_accessible_get_position (AtkTableCell *table_cell, |
392 | gint *row, |
393 | gint *column) |
394 | { |
395 | CtkCellAccessible *cell; |
396 | AtkObject *parent; |
397 | |
398 | cell = CTK_CELL_ACCESSIBLE (table_cell)((((CtkCellAccessible*) (void *) g_type_check_instance_cast ( (GTypeInstance*) ((table_cell)), ((ctk_cell_accessible_get_type ())))))); |
399 | parent = ctk_widget_get_accessible (ctk_accessible_get_widget (CTK_ACCESSIBLE (cell)((((CtkAccessible*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((cell)), ((ctk_accessible_get_type ())))))))); |
400 | |
401 | ctk_cell_accessible_parent_get_cell_position (CTK_CELL_ACCESSIBLE_PARENT (parent)(((CtkCellAccessibleParent*) (void *) g_type_check_instance_cast ((GTypeInstance*) ((parent)), ((ctk_cell_accessible_parent_get_type ()))))), |
402 | cell, |
403 | row, column); |
404 | return ((row && *row > 0) || (column && *column > 0)); |
405 | } |
406 | |
407 | static int |
408 | ctk_cell_accessible_get_row_span (AtkTableCell *table_cell G_GNUC_UNUSED__attribute__ ((__unused__))) |
409 | { |
410 | return 1; |
411 | } |
412 | |
413 | static GPtrArray * |
414 | ctk_cell_accessible_get_row_header_cells (AtkTableCell *table_cell) |
415 | { |
416 | CtkCellAccessible *cell; |
417 | AtkObject *parent; |
418 | |
419 | cell = CTK_CELL_ACCESSIBLE (table_cell)((((CtkCellAccessible*) (void *) g_type_check_instance_cast ( (GTypeInstance*) ((table_cell)), ((ctk_cell_accessible_get_type ())))))); |
420 | parent = ctk_widget_get_accessible (ctk_accessible_get_widget (CTK_ACCESSIBLE (cell)((((CtkAccessible*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((cell)), ((ctk_accessible_get_type ())))))))); |
421 | |
422 | return ctk_cell_accessible_parent_get_row_header_cells (CTK_CELL_ACCESSIBLE_PARENT (parent)(((CtkCellAccessibleParent*) (void *) g_type_check_instance_cast ((GTypeInstance*) ((parent)), ((ctk_cell_accessible_parent_get_type ()))))), |
423 | cell); |
424 | } |
425 | |
426 | static AtkObject * |
427 | ctk_cell_accessible_get_table (AtkTableCell *table_cell) |
428 | { |
429 | AtkObject *obj; |
430 | |
431 | obj = ATK_OBJECT (table_cell)((((AtkObject*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((table_cell)), ((atk_object_get_type ())))))); |
432 | do |
433 | { |
434 | AtkRole role; |
435 | obj = atk_object_get_parent (obj); |
436 | role = atk_object_get_role (obj); |
437 | if (role == ATK_ROLE_TABLE || role == ATK_ROLE_TREE_TABLE) |
438 | break; |
439 | } |
440 | while (obj); |
441 | return obj; |
442 | } |
443 | |
444 | static void |
445 | atk_table_cell_interface_init (AtkTableCellIface *iface) |
446 | { |
447 | iface->get_column_span = ctk_cell_accessible_get_column_span; |
448 | iface->get_column_header_cells = ctk_cell_accessible_get_column_header_cells; |
449 | iface->get_position = ctk_cell_accessible_get_position; |
450 | iface->get_row_span = ctk_cell_accessible_get_row_span; |
451 | iface->get_row_header_cells = ctk_cell_accessible_get_row_header_cells; |
452 | iface->get_table = ctk_cell_accessible_get_table; |
453 | } |
454 | |
455 | static CtkCellRendererState |
456 | ctk_cell_accessible_get_state (CtkCellAccessible *cell) |
457 | { |
458 | AtkObject *parent; |
459 | |
460 | g_return_val_if_fail (CTK_IS_CELL_ACCESSIBLE (cell), 0)do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance *) ((cell)); GType __t = ((ctk_cell_accessible_get_type ())); gboolean __r; if (!__inst) __r = (0); else if (__inst->g_class && __inst->g_class->g_type == __t) __r = (!(0) ); else __r = g_type_check_instance_is_a (__inst, __t); __r; } )))))) { } else { g_return_if_fail_warning ("Ctk", ((const char *) (__func__)), "CTK_IS_CELL_ACCESSIBLE (cell)"); return (0); } } while (0); |
461 | |
462 | parent = ctk_widget_get_accessible (ctk_accessible_get_widget (CTK_ACCESSIBLE (cell)((((CtkAccessible*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((cell)), ((ctk_accessible_get_type ())))))))); |
463 | if (parent == NULL((void*)0)) |
464 | return 0; |
465 | |
466 | return ctk_cell_accessible_parent_get_renderer_state (CTK_CELL_ACCESSIBLE_PARENT (parent)(((CtkCellAccessibleParent*) (void *) g_type_check_instance_cast ((GTypeInstance*) ((parent)), ((ctk_cell_accessible_parent_get_type ()))))), cell); |
467 | } |
468 | |
469 | /* |
470 | * ctk_cell_accessible_state_changed: |
471 | * @cell: a #CtkCellAccessible |
472 | * @added: the flags that were added from @cell |
473 | * @removed: the flags that were removed from @cell |
474 | * |
475 | * Notifies @cell of state changes. Multiple states may be added |
476 | * or removed at the same time. A state that is @added may not be |
477 | * @removed at the same time. |
478 | **/ |
479 | void |
480 | _ctk_cell_accessible_state_changed (CtkCellAccessible *cell, |
481 | CtkCellRendererState added, |
482 | CtkCellRendererState removed) |
483 | { |
484 | AtkObject *object; |
485 | guint i; |
486 | |
487 | g_return_if_fail (CTK_IS_CELL_ACCESSIBLE (cell))do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance *) ((cell)); GType __t = ((ctk_cell_accessible_get_type ())); gboolean __r; if (!__inst) __r = (0); else if (__inst->g_class && __inst->g_class->g_type == __t) __r = (!(0) ); else __r = g_type_check_instance_is_a (__inst, __t); __r; } )))))) { } else { g_return_if_fail_warning ("Ctk", ((const char *) (__func__)), "CTK_IS_CELL_ACCESSIBLE (cell)"); return; } } while (0); |
488 | g_return_if_fail ((added & removed) == 0)do { if (((added & removed) == 0)) { } else { g_return_if_fail_warning ("Ctk", ((const char*) (__func__)), "(added & removed) == 0" ); return; } } while (0); |
489 | |
490 | object = ATK_OBJECT (cell)((((AtkObject*) (void *) g_type_check_instance_cast ((GTypeInstance *) ((cell)), ((atk_object_get_type ())))))); |
491 | |
492 | for (i = 0; i < G_N_ELEMENTS (state_map)(sizeof (state_map) / sizeof ((state_map)[0])); i++) |
493 | { |
494 | if (added & state_map[i].renderer_state) |
495 | atk_object_notify_state_change (object, |
496 | state_map[i].atk_state, |
497 | !state_map[i].invert); |
498 | if (removed & state_map[i].renderer_state) |
499 | atk_object_notify_state_change (object, |
500 | state_map[i].atk_state, |
501 | state_map[i].invert); |
502 | } |
503 | } |
504 | |
505 | /* |
506 | * ctk_cell_accessible_update_cache: |
507 | * @cell: the cell that is changed |
508 | * @emit_signal: whether or not to notify the ATK bridge |
509 | * |
510 | * Notifies the cell that the values in the data in the row that |
511 | * is used to feed the cell renderer with has changed. The |
512 | * cell_changed function of @cell is called to send update |
513 | * notifications for the properties it takes from its cell |
514 | * renderer. If @emit_signal is TRUE, also notify the ATK bridge |
515 | * of the change. The bridge should be notified when an existing |
516 | * cell changes; not when a newly-created cell is being set up. |
517 | * |
518 | * Note that there is no higher granularity available about which |
519 | * properties changed, so you will need to make do with this |
520 | * function. |
521 | **/ |
522 | void |
523 | _ctk_cell_accessible_update_cache (CtkCellAccessible *cell, |
524 | gboolean emit_signal) |
525 | { |
526 | CtkCellAccessibleClass *klass; |
527 | |
528 | g_return_if_fail (CTK_CELL_ACCESSIBLE (cell))do { if ((((((CtkCellAccessible*) (void *) g_type_check_instance_cast ((GTypeInstance*) ((cell)), ((ctk_cell_accessible_get_type ( ))))))))) { } else { g_return_if_fail_warning ("Ctk", ((const char*) (__func__)), "CTK_CELL_ACCESSIBLE (cell)"); return; } } while (0); |
529 | |
530 | klass = CTK_CELL_ACCESSIBLE_GET_CLASS (cell)((((CtkCellAccessibleClass*) (((GTypeInstance*) ((cell)))-> g_class)))); |
531 | |
532 | if (klass->update_cache) |
533 | klass->update_cache (cell, emit_signal); |
534 | } |