Revved to 1.1.2, added ATK_RELATION_EMBEDS/EMBEDDED_BY,
authorBill Haneman <billh@src.gnome.org>
Thu, 14 Nov 2002 17:50:57 +0000 (17:50 +0000)
committerBill Haneman <billh@src.gnome.org>
Thu, 14 Nov 2002 17:50:57 +0000 (17:50 +0000)
atk_hyperlink_is_inline.

12 files changed:
ChangeLog
atk/atkhyperlink.c
atk/atkhyperlink.h
atk/atkobject.c
atk/atkrelationtype.h
configure.in
docs/atk-sections.txt
docs/tmpl/atkhyperlink.sgml
docs/tmpl/atkobject.sgml
docs/tmpl/atkrelation.sgml
po/sv.po
tests/testrelation.c

index 44e9181..8dc68a6 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,29 @@
+2002-11-14  Bill Haneman <bill.haneman@sun.com>
+
+       * configure.in:
+       Revved to 1.1.2, interface age 0, binary age 102.
+       
+       * atk/atkrelationtype.h:
+       (ATK_RELATION_EMBEDS, ATK_RELATION_EMBEDDED_BY):
+       New relations to handle content embedding, for instance
+       text that embeds or flows around images.
+
+       * atk/atkhyperlink.h:
+       (atk_hyperlink_is_inline):
+       New API, returns whether a hyperlink's content is
+       partially displayed inline; useful for small images
+       emedded in text, and for HTML <src> elements.
+       (AtkHyperlinkClass->link_state):
+       New virtualized method, used to implement various
+       state query API such as atk_hyperlink_is_inline().
+
+       * atk/atkhyperlink.c:
+       (atk_hyperlink_is_inline):
+       New method.
+
+       * docs/atk-sections.txt: 
+       Additions for above API.
+
 2002-11-13  Padraig O'Briain  <padraig.obriain@sun.com>
 
        * atk/atkobject.[ch]: Add signal active-descendant-changed
index 569a33f..90f4ff4 100755 (executable)
@@ -199,6 +199,32 @@ atk_hyperlink_is_valid (AtkHyperlink *link)
 }
 
 /**
+ * atk_hyperlink_is_inline:
+ * @link_: an #AtkHyperlink
+ *
+ * Indicates whether the link currently displays some or all of its
+ *           content inline.  Ordinary HTML links will usually return
+ *           %FALSE, but an inline &lt;src&gt; HTML element will return
+ *           %TRUE.
+a *
+ * Returns: whether or not this link displays its content inline.
+ *
+ **/
+gboolean
+atk_hyperlink_is_inline (AtkHyperlink *link)
+{
+  AtkHyperlinkClass *klass;
+
+  g_return_val_if_fail (ATK_IS_HYPERLINK (link), FALSE);
+
+  klass = ATK_HYPERLINK_GET_CLASS (link);
+  if (klass->link_state)
+    return (klass->link_state (link) & ATK_HYPERLINK_IS_INLINE);
+  else
+    return FALSE;
+}
+
+/**
  * atk_hyperlink_get_n_anchors:
  * @link_: an #AtkHyperlink
  *
index 15d804f..a0c6025 100755 (executable)
@@ -32,6 +32,17 @@ extern "C" {
  * It implements the AtkAction interface.
  */
 
+/**
+ *AtkHyperlinkStateFlags
+ *@ATK_HYPERLINK_IS_INLINE: Link is inline
+ *
+ *Describes the type of link
+ **/ 
+typedef enum 
+{
+  ATK_HYPERLINK_IS_INLINE = 1 << 0
+} AtkHyperlinkStateFlags;
+
 #define ATK_TYPE_HYPERLINK                        (atk_hyperlink_get_type ())
 #define ATK_HYPERLINK(obj)                        (G_TYPE_CHECK_INSTANCE_CAST ((obj), ATK_TYPE_HYPERLINK, AtkHyperlink))
 #define ATK_HYPERLINK_CLASS(klass)                (G_TYPE_CHECK_CLASS_CAST ((klass), ATK_TYPE_HYPERLINK, AtkHyperlinkClass))
@@ -85,10 +96,17 @@ struct _AtkHyperlinkClass
    */
   gint            (* get_n_anchors)       (AtkHyperlink     *link_);
 
+  /*
+   * Returns a set of bitflags which encode state information.
+   * Used by non-virtualized state query methods, not intended,
+   * for direct client use.  It is virtualized, but clients should use
+   * atk_hyperlink_is_inline (), etc.
+   */
+  guint                   (* link_state)          (AtkHyperlink     *link_);
+  
   AtkFunction      pad1;
   AtkFunction      pad2;
   AtkFunction      pad3;
-  AtkFunction      pad4;
 };
 
 GType            atk_hyperlink_get_type             (void);
@@ -105,6 +123,8 @@ gint             atk_hyperlink_get_start_index      (AtkHyperlink     *link_);
 
 gboolean         atk_hyperlink_is_valid             (AtkHyperlink     *link_);
 
+gboolean         atk_hyperlink_is_inline             (AtkHyperlink     *link_);
+
 gint            atk_hyperlink_get_n_anchors        (AtkHyperlink     *link_);
 
 
index 14e36ca..3b51ab6 100755 (executable)
@@ -1516,7 +1516,6 @@ atk_object_remove_relationship (AtkObject       *object,
       if (atk_relation_get_relation_type (relation) == relationship)
         {
           GPtrArray *array;
-          gint j;
 
           array = atk_relation_get_target (relation);
         
index 798d7c7..b58d685 100755 (executable)
@@ -37,7 +37,12 @@ extern "C" {
  *  AtkObject in a sequential way, (for instance text-flow).
  *@ATK_RELATION_FLOWS_FROM: Indicates that the object has content that flows logically from
  *  another AtkObject in a sequential way, (for instance text-flow).
- *@ATK_RELATION_SUBWINDOW_OF: [not sure about this one, ask peter]
+ *@ATK_RELATION_SUBWINDOW_OF: [not sure about this one, ask Peter]
+ *@ATK_RELATION_EMBEDS: Indicates that the object visually embeds 
+ *  another object's content, i.e. this object's content flows around 
+ *  another's content.
+ *@ATK_RELATION_EMBEDDED_BY: Inverse of %ATK_RELATION_EMBEDS, indicates that
+ *  this object's content is visualy embedded in another object.
  *@ATK_RELATION_LAST_DEFINED:
  * 
  *Describes the type of the relation
@@ -53,7 +58,9 @@ typedef enum
   ATK_RELATION_NODE_CHILD_OF,
   ATK_RELATION_FLOWS_TO,
   ATK_RELATION_FLOWS_FROM,
-  ATK_RELATION_SUBWINDOW_OF, /* not sure about this one, ask Peter */
+  ATK_RELATION_SUBWINDOW_OF, 
+  ATK_RELATION_EMBEDS, 
+  ATK_RELATION_EMBEDDED_BY, 
   ATK_RELATION_LAST_DEFINED
 } AtkRelationType;
 
index 754682a..cf23543 100644 (file)
@@ -29,7 +29,7 @@ dnl set ATK_BINARY_AGE _and_ ATK_INTERFACE_AGE to 0.
 dnl The triplet 
 ATK_MAJOR_VERSION=1
 ATK_MINOR_VERSION=1
-ATK_MICRO_VERSION=1
+ATK_MICRO_VERSION=2
 ATK_VERSION=$ATK_MAJOR_VERSION.$ATK_MINOR_VERSION.$ATK_MICRO_VERSION
 
 dnl The X.Y in -latk-X.Y line. This is expected to stay 1.0 until Atk 2.
@@ -38,7 +38,7 @@ ATK_API_VERSION=1.0
 dnl Number of releases since we've added interfaces
 ATK_INTERFACE_AGE=0
 
-ATK_BINARY_AGE=101
+ATK_BINARY_AGE=102
 
 AC_SUBST(ATK_MAJOR_VERSION)
 AC_SUBST(ATK_MINOR_VERSION)
index 598f6ca..47ba1a2 100644 (file)
@@ -429,11 +429,13 @@ atk_value_get_type
 <FILE>atkhyperlink</FILE>
 <TITLE>AtkHyperlink</TITLE>
 AtkHyperlink
+AtkHyperlinkStateFlags
 atk_hyperlink_get_uri
 atk_hyperlink_get_object
 atk_hyperlink_get_end_index
 atk_hyperlink_get_start_index
 atk_hyperlink_is_valid
+atk_hyperlink_is_inline
 atk_hyperlink_get_n_anchors
 <SUBSECTION Standard>
 ATK_HYPERLINK
@@ -443,6 +445,8 @@ atk_hyperlink_get_type
 ATK_HYPERLINK_CLASS
 ATK_IS_HYPERLINK_CLASS
 ATK_HYPERLINK_GET_CLASS
+atk_hyperlink_state_flags_get_type
+ATK_TYPE_HYPERLINK_STATE_FLAGS
 </SECTION>
 
 <SECTION>
index 87dadc7..86db8a6 100644 (file)
@@ -69,6 +69,15 @@ The AtkHyperlink structure should not be accessed directly.
 @Returns: 
 
 
+<!-- ##### FUNCTION atk_hyperlink_is_inline ##### -->
+<para>
+
+</para>
+
+@link_: 
+@Returns: 
+
+
 <!-- ##### FUNCTION atk_hyperlink_get_n_anchors ##### -->
 <para>
 
index e52834b..d26bce5 100644 (file)
@@ -422,6 +422,14 @@ atk_object_connect_property_change_handler().
 @Returns: 
 
 
+<!-- ##### SIGNAL AtkObject::active-descendant-changed ##### -->
+<para>
+
+</para>
+
+@atkobject: the object which received the signal.
+@arg1: 
+
 <!-- ##### SIGNAL AtkObject::children-changed ##### -->
 <para>
 The children_changed signal supports two details, "add" and "remove" which
index 6d1797b..a6c258c 100644 (file)
@@ -41,6 +41,8 @@ The AtkRelation structure should not be accessed directly.
 @ATK_RELATION_FLOWS_TO: 
 @ATK_RELATION_FLOWS_FROM: 
 @ATK_RELATION_SUBWINDOW_OF: 
+@ATK_RELATION_EMBEDS: 
+@ATK_RELATION_EMBEDDED_BY: 
 @ATK_RELATION_LAST_DEFINED: 
 
 <!-- ##### FUNCTION atk_relation_type_register ##### -->
index 37e35fd..f3991a4 100644 (file)
--- a/po/sv.po
+++ b/po/sv.po
@@ -8,7 +8,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: atk\n"
-"POT-Creation-Date: 2002-11-11 11:58+0100\n"
+"POT-Creation-Date: 2002-11-14 13:16+0000\n"
 "PO-Revision-Date: 2002-11-11 11:59+0100\n"
 "Last-Translator: Christian Rose <menthos@menthos.com>\n"
 "Language-Team: Swedish <sv@li.org>\n"
@@ -16,295 +16,295 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: atk/atkobject.c:1172
+#: atk/atkobject.c:1183
 msgid "invalid"
 msgstr "ogiltig"
 
-#: atk/atkobject.c:1175
+#: atk/atkobject.c:1186
 msgid "accel-label"
 msgstr "genvägsetikett"
 
-#: atk/atkobject.c:1178
+#: atk/atkobject.c:1189
 msgid "alert"
 msgstr "varning"
 
-#: atk/atkobject.c:1181
+#: atk/atkobject.c:1192
 msgid "animation"
 msgstr "animering"
 
-#: atk/atkobject.c:1184
+#: atk/atkobject.c:1195
 msgid "arrow"
 msgstr "pil"
 
-#: atk/atkobject.c:1187
+#: atk/atkobject.c:1198
 msgid "calendar"
 msgstr "kalender"
 
-#: atk/atkobject.c:1190
+#: atk/atkobject.c:1201
 msgid "canvas"
 msgstr "canvas"
 
-#: atk/atkobject.c:1193
+#: atk/atkobject.c:1204
 msgid "check-box"
 msgstr "kryssruta"
 
-#: atk/atkobject.c:1196
+#: atk/atkobject.c:1207
 msgid "check-menu-item"
 msgstr "kryssmenypost"
 
-#: atk/atkobject.c:1199
+#: atk/atkobject.c:1210
 msgid "color-chooser"
 msgstr "färgväljare"
 
-#: atk/atkobject.c:1202
+#: atk/atkobject.c:1213
 msgid "column-header"
 msgstr "kolumnrubrik"
 
-#: atk/atkobject.c:1205
+#: atk/atkobject.c:1216
 msgid "combo-box"
 msgstr "komboruta"
 
-#: atk/atkobject.c:1208
+#: atk/atkobject.c:1219
 msgid "date-editor"
 msgstr "datumredigerare"
 
-#: atk/atkobject.c:1211
+#: atk/atkobject.c:1222
 msgid "desktop-icon"
 msgstr "skrivbordsikon"
 
-#: atk/atkobject.c:1214
+#: atk/atkobject.c:1225
 msgid "desktop-frame"
 msgstr "skrivbordsram"
 
-#: atk/atkobject.c:1217
+#: atk/atkobject.c:1228
 msgid "dial"
 msgstr "ring"
 
-#: atk/atkobject.c:1220
+#: atk/atkobject.c:1231
 msgid "dialog"
 msgstr "dialog"
 
-#: atk/atkobject.c:1223
+#: atk/atkobject.c:1234
 msgid "directory-pane"
 msgstr "katalogpanel"
 
-#: atk/atkobject.c:1226
+#: atk/atkobject.c:1237
 msgid "drawing-area"
 msgstr "rityta"
 
-#: atk/atkobject.c:1229
+#: atk/atkobject.c:1240
 msgid "file-chooser"
 msgstr "filväljare"
 
-#: atk/atkobject.c:1232
+#: atk/atkobject.c:1243
 msgid "filler"
 msgstr "ifyllare"
 
-#: atk/atkobject.c:1235
+#: atk/atkobject.c:1246
 msgid "font-chooser"
 msgstr "typsnittsväljare"
 
-#: atk/atkobject.c:1238
+#: atk/atkobject.c:1249
 msgid "frame"
 msgstr "ram"
 
-#: atk/atkobject.c:1241
+#: atk/atkobject.c:1252
 msgid "glass-pane"
 msgstr "glaspanel"
 
-#: atk/atkobject.c:1244
+#: atk/atkobject.c:1255
 msgid "html-container"
 msgstr "html-behållare"
 
-#: atk/atkobject.c:1247
+#: atk/atkobject.c:1258
 msgid "icon"
 msgstr "ikon"
 
-#: atk/atkobject.c:1250
+#: atk/atkobject.c:1261
 msgid "image"
 msgstr "bild"
 
-#: atk/atkobject.c:1253
+#: atk/atkobject.c:1264
 msgid "internal-frame"
 msgstr "intern-ram"
 
-#: atk/atkobject.c:1256
+#: atk/atkobject.c:1267
 msgid "label"
 msgstr "etikett"
 
-#: atk/atkobject.c:1259
+#: atk/atkobject.c:1270
 msgid "layered-pane"
 msgstr "lagerpanel"
 
-#: atk/atkobject.c:1262
+#: atk/atkobject.c:1273
 msgid "list"
 msgstr "lista"
 
-#: atk/atkobject.c:1265
+#: atk/atkobject.c:1276
 msgid "list-item"
 msgstr "listpost"
 
-#: atk/atkobject.c:1268
+#: atk/atkobject.c:1279
 msgid "menu"
 msgstr "meny"
 
-#: atk/atkobject.c:1271
+#: atk/atkobject.c:1282
 msgid "menu-bar"
 msgstr "menyrad"
 
-#: atk/atkobject.c:1274
+#: atk/atkobject.c:1285
 msgid "menu-item"
 msgstr "menypost"
 
-#: atk/atkobject.c:1277
+#: atk/atkobject.c:1288
 msgid "option-pane"
 msgstr "alternativpanel"
 
-#: atk/atkobject.c:1280
+#: atk/atkobject.c:1291
 msgid "page-tab"
 msgstr "sidflik"
 
-#: atk/atkobject.c:1283
+#: atk/atkobject.c:1294
 msgid "page-tab-list"
 msgstr "sidflikslist"
 
-#: atk/atkobject.c:1286
+#: atk/atkobject.c:1297
 msgid "panel"
 msgstr "panel"
 
-#: atk/atkobject.c:1289
+#: atk/atkobject.c:1300
 msgid "password-text"
 msgstr "lösenordstext"
 
-#: atk/atkobject.c:1292
+#: atk/atkobject.c:1303
 msgid "popup-menu"
 msgstr "popupmeny"
 
-#: atk/atkobject.c:1295
+#: atk/atkobject.c:1306
 msgid "progress-bar"
 msgstr "förloppsmätare"
 
-#: atk/atkobject.c:1298
+#: atk/atkobject.c:1309
 msgid "push-button"
 msgstr "tryckknapp"
 
-#: atk/atkobject.c:1301
+#: atk/atkobject.c:1312
 msgid "radio-button"
 msgstr "radiioknapp"
 
-#: atk/atkobject.c:1304
+#: atk/atkobject.c:1315
 msgid "radio-menu-item"
 msgstr "radiomenypost"
 
-#: atk/atkobject.c:1307
+#: atk/atkobject.c:1318
 msgid "root-pane"
 msgstr "rotpanel"
 
-#: atk/atkobject.c:1310
+#: atk/atkobject.c:1321
 msgid "row-header"
 msgstr "radhuvud"
 
-#: atk/atkobject.c:1313
+#: atk/atkobject.c:1324
 msgid "scroll-bar"
 msgstr "rullningslist"
 
-#: atk/atkobject.c:1316
+#: atk/atkobject.c:1327
 msgid "scroll-pane"
 msgstr "rullningspanel"
 
-#: atk/atkobject.c:1319
+#: atk/atkobject.c:1330
 msgid "separator"
 msgstr "avskiljare"
 
-#: atk/atkobject.c:1322
+#: atk/atkobject.c:1333
 msgid "slider"
 msgstr "skjutreglage"
 
-#: atk/atkobject.c:1325
+#: atk/atkobject.c:1336
 msgid "split-pane"
 msgstr "delad-panel"
 
-#: atk/atkobject.c:1328
+#: atk/atkobject.c:1339
 msgid "spin-button"
 msgstr "spinnknapp"
 
-#: atk/atkobject.c:1331
+#: atk/atkobject.c:1342
 msgid "statusbar"
 msgstr "statusrad"
 
-#: atk/atkobject.c:1334
+#: atk/atkobject.c:1345
 msgid "table"
 msgstr "tabell"
 
-#: atk/atkobject.c:1337
+#: atk/atkobject.c:1348
 msgid "table-cell"
 msgstr "tabellcell"
 
-#: atk/atkobject.c:1340
+#: atk/atkobject.c:1351
 msgid "table-column-header"
 msgstr "tabellkolumnhuvud"
 
-#: atk/atkobject.c:1343
+#: atk/atkobject.c:1354
 msgid "table-row-header"
 msgstr "tabellradshuvud"
 
-#: atk/atkobject.c:1346
+#: atk/atkobject.c:1357
 msgid "tear-off-menu-item"
 msgstr "avtagbar-menypost"
 
-#: atk/atkobject.c:1349
+#: atk/atkobject.c:1360
 msgid "terminal"
 msgstr "terminal"
 
-#: atk/atkobject.c:1352
+#: atk/atkobject.c:1363
 msgid "text"
 msgstr "text"
 
-#: atk/atkobject.c:1355
+#: atk/atkobject.c:1366
 msgid "toggle-button"
 msgstr "växlingsknapp"
 
-#: atk/atkobject.c:1358
+#: atk/atkobject.c:1369
 msgid "tool-bar"
 msgstr "verktygsrad"
 
-#: atk/atkobject.c:1361
+#: atk/atkobject.c:1372
 msgid "tool-tip"
 msgstr "verktygstips"
 
-#: atk/atkobject.c:1364
+#: atk/atkobject.c:1375
 msgid "tree"
 msgstr "träd"
 
-#: atk/atkobject.c:1367
+#: atk/atkobject.c:1378
 msgid "tree-table"
 msgstr "trädtabell"
 
-#: atk/atkobject.c:1370
+#: atk/atkobject.c:1381
 msgid "unknown"
 msgstr "okänd"
 
-#: atk/atkobject.c:1373
+#: atk/atkobject.c:1384
 msgid "viewport"
 msgstr "skrivbordsvy"
 
-#: atk/atkobject.c:1376
+#: atk/atkobject.c:1387
 msgid "window"
 msgstr "fönster"
 
-#: atk/atkobject.c:1379
+#: atk/atkobject.c:1390
 msgid "header"
 msgstr "huvud"
 
-#: atk/atkobject.c:1382
+#: atk/atkobject.c:1393
 msgid "footer"
 msgstr "fot"
 
-#: atk/atkobject.c:1385
+#: atk/atkobject.c:1396
 msgid "paragraph"
 msgstr "stycke"
 
-#: atk/atkobject.c:1388
+#: atk/atkobject.c:1399
 msgid "ruler"
 msgstr "linjal"
 
index b42f7c2..2385dcf 100644 (file)
@@ -52,10 +52,25 @@ test_relation (void)
       return FALSE;
     }
 
+  name = atk_relation_type_get_name (ATK_RELATION_EMBEDS);
+  g_return_val_if_fail (name, FALSE);
+  if (strcmp (name, "embeds") != 0)
+    {
+      g_print ("Unexpected name for ATK_RELATION_EMBEDS %s\n", name);
+      return FALSE;
+    }
+
+  type1 = atk_relation_type_for_name ("embedded-by");
+  if (type1 != ATK_RELATION_EMBEDDED_BY)
+    {
+      g_print ("Unexpected role for ATK_RELATION_EMBEDDED_BY\n");
+      return FALSE;
+    }
+
   type1 = atk_relation_type_for_name ("controlled-by");
   if (type1 != ATK_RELATION_CONTROLLED_BY)
     {
-      g_print ("Unexpected type for focused\n");
+      g_print ("Unexpected name for ATK_RELATION_CONTROLLED_BY\n");
       return FALSE;
     }