⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 atkobject.c

📁 linux下图形库开发包atk-1.4.0.tar.gz
💻 C
📖 第 1 页 / 共 4 页
字号:
  if (klass->connect_property_change_handler)    return (klass->connect_property_change_handler) (accessible, handler);  else    return 0;}/** * atk_object_remove_property_change_handler: * @accessible: an #AtkObject * @handler_id : a guint which identifies the handler to be removed. *  * Removes a property change handler. **/voidatk_object_remove_property_change_handler  (AtkObject *accessible,                                            guint      handler_id){  AtkObjectClass *klass;  g_return_if_fail (ATK_IS_OBJECT (accessible));  klass = ATK_OBJECT_GET_CLASS (accessible);  if (klass->remove_property_change_handler)    (klass->remove_property_change_handler) (accessible, handler_id);}/** * atk_object_notify_state_change: * @accessible: an #AtkObject * @state: an #AtkState whose state is changed * @value : a gboolean which indicates whether the state is being set on or off *  * Emits a state-change signal for the specified state.  **/voidatk_object_notify_state_change (AtkObject *accessible,                                AtkState  state,                                gboolean  value){  G_CONST_RETURN gchar* name;  name = atk_state_type_get_name (state);  g_signal_emit (accessible, atk_object_signals[STATE_CHANGE],                 g_quark_from_string (name),                 name, value, NULL);}/** * atk_implementor_ref_accessible: * @implementor: The #GObject instance which should implement #AtkImplementorIface * if a non-null return value is required. *  * Gets a reference to an object's #AtkObject implementation, if * the object implements #AtkObjectIface * * Returns: a reference to an object's #AtkObject implementation */AtkObject *atk_implementor_ref_accessible (AtkImplementor *object){  AtkImplementorIface *iface;  AtkObject           *accessible = NULL;  g_return_val_if_fail (ATK_IS_IMPLEMENTOR (object), NULL);  iface = ATK_IMPLEMENTOR_GET_IFACE (object);  if (iface != NULL)     accessible =  iface->ref_accessible (object);  g_return_val_if_fail ((accessible != NULL), NULL);  return accessible;}static AtkRelationSet*atk_object_real_ref_relation_set (AtkObject *accessible){  g_return_val_if_fail (accessible->relation_set, NULL);  g_object_ref (accessible->relation_set);   return accessible->relation_set;}static voidatk_object_real_set_property (GObject      *object,                              guint         prop_id,                              const GValue *value,                              GParamSpec   *pspec){  AtkObject *accessible;  accessible = ATK_OBJECT (object);  switch (prop_id)    {    case PROP_NAME:      atk_object_set_name (accessible, g_value_get_string (value));      break;    case PROP_DESCRIPTION:      atk_object_set_description (accessible, g_value_get_string (value));      break;    case PROP_ROLE:      atk_object_set_role (accessible, g_value_get_int (value));      break;    case PROP_PARENT:      atk_object_set_parent (accessible, g_value_get_object (value));      break;    case PROP_VALUE:      if (ATK_IS_VALUE (accessible))        atk_value_set_current_value (ATK_VALUE (accessible), value);      break;    case PROP_TABLE_SUMMARY:      if (ATK_IS_TABLE (accessible))        atk_table_set_summary (ATK_TABLE (accessible), g_value_get_object (value));      break;    case PROP_TABLE_CAPTION_OBJECT:      if (ATK_IS_TABLE (accessible))        atk_table_set_caption (ATK_TABLE (accessible), g_value_get_object (value));      break;    default:      break;    }}static voidatk_object_real_get_property (GObject      *object,                              guint         prop_id,                              GValue       *value,                              GParamSpec   *pspec){  AtkObject *accessible;  accessible = ATK_OBJECT (object);  switch (prop_id)    {    case PROP_NAME:      g_value_set_string (value, atk_object_get_name (accessible));      break;    case PROP_DESCRIPTION:      g_value_set_string (value, atk_object_get_description (accessible));      break;    case PROP_ROLE:      g_value_set_int (value, atk_object_get_role (accessible));      break;    case PROP_LAYER:      if (ATK_IS_COMPONENT (accessible))        g_value_set_int (value, atk_component_get_layer (ATK_COMPONENT (accessible)));      break;    case PROP_MDI_ZORDER:      if (ATK_IS_COMPONENT (accessible))        g_value_set_int (value, atk_component_get_mdi_zorder (ATK_COMPONENT (accessible)));      break;    case PROP_PARENT:      g_value_set_object (value, atk_object_get_parent (accessible));      break;    case PROP_VALUE:      if (ATK_IS_VALUE (accessible))        atk_value_get_current_value (ATK_VALUE (accessible), value);      break;    case PROP_TABLE_SUMMARY:      if (ATK_IS_TABLE (accessible))        g_value_set_object (value, atk_table_get_summary (ATK_TABLE (accessible)));      break;    case PROP_TABLE_CAPTION_OBJECT:      if (ATK_IS_TABLE (accessible))        g_value_set_object (value, atk_table_get_caption (ATK_TABLE (accessible)));      break;    default:      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);      break;    }}static voidatk_object_finalize (GObject *object){  AtkObject        *accessible;  g_return_if_fail (ATK_IS_OBJECT (object));  accessible = ATK_OBJECT (object);  g_free (accessible->name);  g_free (accessible->description);  /*   * Free memory allocated for relation set if it have been allocated.   */  if (accessible->relation_set)    g_object_unref (accessible->relation_set);  if (accessible->accessible_parent)    g_object_unref (accessible->accessible_parent);  G_OBJECT_CLASS (parent_class)->finalize (object);}static G_CONST_RETURN gchar*atk_object_real_get_name (AtkObject *object){  return object->name;}static G_CONST_RETURN gchar*atk_object_real_get_description (AtkObject *object){  return object->description;}static AtkObject*atk_object_real_get_parent (AtkObject       *object){  return object->accessible_parent;}static AtkRoleatk_object_real_get_role (AtkObject       *object){  return object->role;}static AtkLayeratk_object_real_get_layer (AtkObject       *object){  return object->layer;}static AtkStateSet*atk_object_real_ref_state_set (AtkObject *accessible) {  AtkStateSet *state_set;  AtkObject *ap;  state_set = atk_state_set_new ();  ap = atk_object_get_parent (accessible);  if (ap)    if (ATK_IS_SELECTION (ap))      {        int i;        atk_state_set_add_state (state_set, ATK_STATE_SELECTABLE);        i = atk_object_get_index_in_parent (accessible);        if (i >= 0)          if (atk_selection_is_child_selected(ATK_SELECTION (ap), i))            atk_state_set_add_state (state_set, ATK_STATE_SELECTED);      }   return state_set; }static voidatk_object_real_set_name (AtkObject       *object,                          const gchar     *name){  g_free (object->name);  object->name = g_strdup (name);}static voidatk_object_real_set_description (AtkObject       *object,                                 const gchar     *description){  g_free (object->description);  object->description = g_strdup (description);}static voidatk_object_real_set_parent (AtkObject       *object,                            AtkObject       *parent){  if (object->accessible_parent)    g_object_unref (object->accessible_parent);  object->accessible_parent = parent;  if (object->accessible_parent)    g_object_ref (object->accessible_parent);}static voidatk_object_real_set_role (AtkObject *object,                          AtkRole   role){  object->role = role;}static guintatk_object_real_connect_property_change_handler (AtkObject                *obj,                                                 AtkPropertyChangeHandler *handler){  return g_signal_connect_closure_by_id (obj,                                         atk_object_signals[PROPERTY_CHANGE],                                         0,                                         g_cclosure_new (                                         G_CALLBACK (handler), NULL,                                         (GClosureNotify) NULL),                                         FALSE);}static voidatk_object_real_remove_property_change_handler (AtkObject           *obj,                                          guint               handler_id){  g_signal_handler_disconnect (obj, handler_id);}/** * atk_object_initialize: * @accessible: a #AtkObject * @data: a #gpointer which identifies the object for which the AtkObject was created. * * This function is called when implementing subclasses of #AtkObject. * It does initialization required for the new object. It is intended * that this function should called only in the ..._new() functions used * to create an instance of a subclass of #AtkObject **/voidatk_object_initialize (AtkObject  *accessible,                       gpointer   data){  AtkObjectClass *klass;  g_return_if_fail (ATK_IS_OBJECT (accessible));  klass = ATK_OBJECT_GET_CLASS (accessible);  if (klass->initialize)    klass->initialize (accessible, data);}/* * This function is a signal handler for notify signal which gets emitted * when a property changes value. * * It constructs an AtkPropertyValues structure and emits a "property_changed" * signal which causes the user specified AtkPropertyChangeHandler * to be called. */static voidatk_object_notify (GObject     *obj,                   GParamSpec  *pspec){  AtkPropertyValues values = { 0, };  g_value_init (&values.new_value, pspec->value_type);  g_object_get_property (obj, pspec->name, &values.new_value);  values.property_name = pspec->name;  g_signal_emit (obj, atk_object_signals[PROPERTY_CHANGE],                 g_quark_from_string (pspec->name),                 &values, NULL);  g_value_unset (&values.new_value);}/** * atk_role_get_name: * @role: The #AtkRole whose name is required * * Gets the description string describing the #AtkRole @role. * * Returns: the string describing the AtkRole */G_CONST_RETURN gchar*atk_role_get_name (AtkRole role){  GTypeClass *type_class;  GEnumValue *value;  gchar *name = NULL;  type_class = g_type_class_ref (ATK_TYPE_ROLE);  g_return_val_if_fail (G_IS_ENUM_CLASS (type_class), NULL);  value = g_enum_get_value (G_ENUM_CLASS (type_class), role);  if (value)    {      name = value->value_nick;    }  else    {      if (extra_roles)        {          gint n = role;          n -= ATK_ROLE_LAST_DEFINED + 1;          if (n < extra_roles->len)            name = g_ptr_array_index (extra_roles, n);        }    }  g_type_class_unref (type_class);  return name;}#ifdef G_OS_WIN32#undef ATKLOCALEDIR#define ATKLOCALEDIR get_atk_locale_dir()

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -