tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

atkrelation.h (3278B)


      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_RELATION_H__
     21 #define __ATK_RELATION_H__
     22 
     23 #ifdef __cplusplus
     24 extern "C" {
     25 #endif /* __cplusplus */
     26 
     27 #include <glib-object.h>
     28 #include <atk/atkrelationtype.h>
     29 
     30 /*
     31 * An AtkRelation describes a relation between the object and one or more 
     32 * other objects. The actual relations that an object has with other objects
     33 * are defined as an AtkRelationSet, which is a set of AtkRelations. 
     34 */
     35 
     36 #define ATK_TYPE_RELATION                         (atk_relation_get_type ())
     37 #define ATK_RELATION(obj)                         (G_TYPE_CHECK_INSTANCE_CAST ((obj), ATK_TYPE_RELATION, AtkRelation))
     38 #define ATK_RELATION_CLASS(klass)                 (G_TYPE_CHECK_CLASS_CAST ((klass), ATK_TYPE_RELATION, AtkRelationClass))
     39 #define ATK_IS_RELATION(obj)                      (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ATK_TYPE_RELATION))
     40 #define ATK_IS_RELATION_CLASS(klass)              (G_TYPE_CHECK_CLASS_TYPE ((klass), ATK_TYPE_RELATION))
     41 #define ATK_RELATION_GET_CLASS(obj)               (G_TYPE_INSTANCE_GET_CLASS ((obj), ATK_TYPE_RELATION, AtkRelationClass))
     42 
     43 typedef struct _AtkRelation            AtkRelation;
     44 typedef struct _AtkRelationClass       AtkRelationClass;
     45 
     46 struct _AtkRelation
     47 {
     48  GObject parent;
     49 
     50  GPtrArray       *target;
     51  AtkRelationType relationship;
     52 };
     53 
     54 struct _AtkRelationClass
     55 {
     56  GObjectClass parent;
     57 };
     58 
     59 GType atk_relation_get_type (void);
     60 
     61 AtkRelationType       atk_relation_type_register      (const gchar     *name);
     62 G_CONST_RETURN gchar* atk_relation_type_get_name      (AtkRelationType type);
     63 AtkRelationType       atk_relation_type_for_name      (const gchar     *name);
     64 
     65 /*
     66 * Create a new relation for the specified key and the specified list
     67 * of targets.
     68 */
     69 AtkRelation*          atk_relation_new                (AtkObject       **targets,
     70                                                       gint            n_targets,
     71                                                       AtkRelationType relationship);
     72 /*
     73 * Returns the type of a relation.
     74 */
     75 AtkRelationType       atk_relation_get_relation_type  (AtkRelation     *relation);
     76 /*
     77 * Returns the target list of a relation.
     78 */
     79 GPtrArray*            atk_relation_get_target         (AtkRelation     *relation);
     80 void                  atk_relation_add_target         (AtkRelation     *relation,
     81                                                       AtkObject       *target);
     82                
     83 
     84 #ifdef __cplusplus
     85 }
     86 #endif /* __cplusplus */
     87 
     88 #endif /* __ATK_RELATION_H__ */